From 89e7630a61c558160047eddfdeba9d40ea01a415 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 30 Jan 2024 11:27:29 -0500 Subject: [PATCH 001/112] feat(x/ecocredit): independent project API --- proto/regen/ecocredit/v1/state.proto | 27 +++++ proto/regen/ecocredit/v1/tx.proto | 159 +++++++++++++++++++++++++++ proto/regen/ecocredit/v1/types.proto | 20 ++++ 3 files changed, 206 insertions(+) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 99c9d1838c..a2485e6c7d 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -381,3 +381,30 @@ message AllowedBridgeChain { // chain_name is the name of the chain allowed to bridge ecocredits to. string chain_name = 1; } + +// ClassApplication stores the data for a credit class application. +message ClassApplication { + option (cosmos.orm.v1.table) = { + id : 17 + primary_key : {fields : "key", auto_increment : true} + index : {id : 1, fields : "project_key", unique : true} + }; + + // id is the unique identifier of the application. + uint64 id = 1; + + // project_key is the table row identifier of the project used internally for + // efficient lookups. This links an application to a project. + uint64 project_key = 2; + + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a project to a credit class. + uint64 class_key = 3; + + // issuer is the issuer of the credit class which the application has been + // submitted to. + string issuer = 4; + + // metadata is any arbitrary metadata attached to the application. + string metadata = 5; +} \ No newline at end of file diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index ef5a5943ce..099cde2f6e 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -28,6 +28,43 @@ service Msg { // class. The creator becomes the admin of the project upon creation. rpc CreateProject(MsgCreateProject) returns (MsgCreateProjectResponse); + // CreateUnregisteredProject creates a new project without registering it + // under a credit class. This method is intended to be used by project proponents + // who are not yet ready to register their project under a credit class, but who + // want to create a project and receive a project ID. + rpc CreateUnregisteredProject(MsgCreateUnregisteredProject) + returns (MsgCreateUnregisteredProjectResponse); + + // SubmitClassApplication submits an application for a project to be added to + // a credit class. The project admin must submit an application to a specific + // issuer of a specific credit class for it to be considered. Currently, + // a project can only apply to one credit class at a time via a single + // issuer. + // + // Since Revision 3 + rpc SubmitClassApplication(MsgSubmitClassApplication) + returns (MsgSubmitClassApplicationResponse); + + // UpdateClassApplication updates the metadata of a submitted application. + // + // Since Revision 3 + rpc UpdateClassApplication(MsgUpdateClassApplication) + returns (MsgUpdateClassApplicationResponse); + + // WithdrawClassApplication withdraws a submitted application. + // + // Since Revision 3 + rpc WithdrawClassApplication(MsgWithdrawClassApplication) + returns (MsgWithdrawClassApplicationResponse); + + // EvaluateClassApplication evaluates a submitted application. Only the issuer + // of the credit class can evaluate an application. The issuer can either + // approve, request changes to, or reject the application. + // + // Since Revision 3 + rpc EvaluateClassApplication(MsgEvaluateClassApplication) + returns (MsgEvaluateClassApplicationResponse); + // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -273,6 +310,128 @@ message MsgCreateProjectResponse { string project_id = 1; } +// MsgCreateUnregisteredProject is the Msg/CreateUnregisteredProject request type. +message MsgCreateUnregisteredProject { + option (cosmos.msg.v1.signer) = "creator"; + + // creator is the address of the account creating the project that will become + // the admin of the project upon creation. + string creator = 1; + + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata to attach to the project. + string metadata = 2; + + // jurisdiction is the jurisdiction of the project. A jurisdiction has with + // the format: [-[ ]] + // The country-code must be 2 alphabetic characters, the sub-national-code + // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 + // alphanumeric characters. Only the country-code is required, while the + // sub-national-code and postal-code are optional and can be added for + // increased precision. + string jurisdiction = 3; + + // reference_id is any arbitrary string used to reference the project with a + // maximum length of 32 characters. + string reference_id = 4; +} + +// MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. +message MsgCreateUnregisteredProjectResponse { + // project_id is the unique identifier of the project. + string project_id = 1; +} + +// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. +message MsgSubmitClassApplication { + option (cosmos.msg.v1.signer) = "project_admin"; + + // project_admin is the address of the account that is the admin of the + // project which is applying to the credit class. + string project_admin = 1; + + // project_id is the identifier of the project which is applying to + // the credit class. + string project_id = 2; + + // class_id is the identifier of the credit class which the project is + // applying to. + string class_id = 3; + + // issuer is the address of the account that is an issuer of the credit class + // to whom the project is applying to for approval. + string issuer = 4; + + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the application. + // This could be used as a digital reference to the actual contents of the application. + string metadata = 5; +} + +// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. +message MsgSubmitClassApplicationResponse { + // application_id is the identifier assigned to the application. + uint64 application_id = 1; +} + +// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. +message MsgUpdateClassApplication { + option (cosmos.msg.v1.signer) = "project_admin"; + + // project_admin is the address of the account that is the admin of the + // project which is updating its application to the credit class. + string project_admin = 1; + + // application_id is the identifier of the application to update. + uint64 application_id = 2; + + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata relevant to the application. If it + // is left empty, the existing metadata will be deleted. + string metadata = 3; +} + +// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. +message MsgUpdateClassApplicationResponse {} + +// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. +message MsgWithdrawClassApplication { + option (cosmos.msg.v1.signer) = "project_admin"; + + // project_admin is the address of the account that is the admin of the + // project which is withdrawing its application to the credit class. + string project_admin = 1; + + // application_id is the identifier of the application to withdraw. + uint64 application_id = 2; +} + +// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. +message MsgWithdrawClassApplicationResponse {} + +// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. +message MsgEvaluateClassApplication { + option (cosmos.msg.v1.signer) = "issuer"; + + // issuer is the address of the account that is the issuer of the credit class + // which is evaluating the application. + string issuer = 1; + + // application_id is the identifier of the application to evaluate. + uint64 application_id = 2; + + // evaluation is the evaluation of the application. + ApplicationEvaluation evaluation = 3; + + // reason is any arbitrary string with a maximum length of 256 characters + // that includes or references the reason for the approving, requesting changes + // to, or rejecting the application. + string reason = 4; +} + +// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. +message MsgEvaluateClassApplicationResponse {} + // MsgCreateBatch is the Msg/CreateBatch request type. message MsgCreateBatch { option (cosmos.msg.v1.signer) = "issuer"; diff --git a/proto/regen/ecocredit/v1/types.proto b/proto/regen/ecocredit/v1/types.proto index 61cfbb1fe7..970418eb51 100644 --- a/proto/regen/ecocredit/v1/types.proto +++ b/proto/regen/ecocredit/v1/types.proto @@ -157,3 +157,23 @@ message AllowedDenom { // informational uint32 exponent = 3; } + +// Application represents the evaluation status that a credit class issuer +// assigns to a credit class application. +enum ApplicationEvaluation { + // APPLICATION_EVALUATION_UNSPECIFIED defines the default evaluation status + // and is an invalid state. + APPLICATION_EVALUATION_UNSPECIFIED = 0; + + // APPLICATION_EVALUATION_ACCEPTED indicates that the application has been + // accepted. + APPLICATION_EVALUATION_ACCEPTED = 1; + + // APPLICATION_EVALUATION_CHANGE_REQUESTED indicates that issuer has requested + // changes to the application but is not rejecting it outright. + APPLICATION_EVALUATION_CHANGE_REQUESTED = 2; + + // APPLICATION_EVALUATION_REJECTED indicates that the application has been + // rejected and that it will be closed without further consideration. + APPLICATION_EVALUATION_REJECTED = 3; +} \ No newline at end of file From c54af2ae7bd6da552d330b2b46d2978ad4ca8b36 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 30 Jan 2024 11:32:01 -0500 Subject: [PATCH 002/112] feat(x/ecocredit): independent project API --- proto/regen/ecocredit/v1/state.proto | 27 ++++++++++++++++++++++++++- proto/regen/ecocredit/v1/tx.proto | 2 +- proto/regen/ecocredit/v1/types.proto | 20 -------------------- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index a2485e6c7d..9773c7f6dd 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -407,4 +407,29 @@ message ClassApplication { // metadata is any arbitrary metadata attached to the application. string metadata = 5; -} \ No newline at end of file + + // status is the status of the application. Note that accepted and rejected + // applications are removed from the table. + ApplicationStatus status = 6; +} + +// Application represents the evaluation status that a credit class issuer +// assigns to a credit class application. +enum ApplicationStatus { + // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is + // unspecified and hasn't been evaluated yet. + APPLICATION_STATUS_UNSPECIFIED = 0; + + // APPLICATION_STATUS_ACCEPTED indicates that the application has been + // accepted and that the project has been admitted into the credit class. + APPLICATION_STATUS_ACCEPTED = 1; + + // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has + // been reviewed and that changes are required before the application can be + // accepted. + APPLICATION_STATUS_CHANGES_REQUESTED = 2; + + // APPLICATION_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be admitted into the credit class. + APPLICATION_STATUS_REJECTED = 3; +} diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 099cde2f6e..f90f2a7e4b 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -421,7 +421,7 @@ message MsgEvaluateClassApplication { uint64 application_id = 2; // evaluation is the evaluation of the application. - ApplicationEvaluation evaluation = 3; + ApplicationStatus evaluation = 3; // reason is any arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes diff --git a/proto/regen/ecocredit/v1/types.proto b/proto/regen/ecocredit/v1/types.proto index 970418eb51..61cfbb1fe7 100644 --- a/proto/regen/ecocredit/v1/types.proto +++ b/proto/regen/ecocredit/v1/types.proto @@ -157,23 +157,3 @@ message AllowedDenom { // informational uint32 exponent = 3; } - -// Application represents the evaluation status that a credit class issuer -// assigns to a credit class application. -enum ApplicationEvaluation { - // APPLICATION_EVALUATION_UNSPECIFIED defines the default evaluation status - // and is an invalid state. - APPLICATION_EVALUATION_UNSPECIFIED = 0; - - // APPLICATION_EVALUATION_ACCEPTED indicates that the application has been - // accepted. - APPLICATION_EVALUATION_ACCEPTED = 1; - - // APPLICATION_EVALUATION_CHANGE_REQUESTED indicates that issuer has requested - // changes to the application but is not rejecting it outright. - APPLICATION_EVALUATION_CHANGE_REQUESTED = 2; - - // APPLICATION_EVALUATION_REJECTED indicates that the application has been - // rejected and that it will be closed without further consideration. - APPLICATION_EVALUATION_REJECTED = 3; -} \ No newline at end of file From d98b364e7b883713f72c738ff62dbafb42b11688 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 30 Jan 2024 11:37:06 -0500 Subject: [PATCH 003/112] fixes and proto-gen --- api/regen/data/v2/types.pulsar.go | 3 +- api/regen/ecocredit/v1/state.cosmos_orm.go | 167 + api/regen/ecocredit/v1/state.pulsar.go | 960 +- api/regen/ecocredit/v1/tx.pulsar.go | 21092 ++++++++++++------- api/regen/ecocredit/v1/tx_grpc.pb.go | 277 +- proto/regen/ecocredit/v1/state.proto | 2 +- x/data/go.mod | 4 +- x/data/types.pb.go | 3 +- x/ecocredit/base/types/v1/state.pb.go | 576 +- x/ecocredit/base/types/v1/tx.pb.go | 10633 ++++++---- 10 files changed, 21662 insertions(+), 12055 deletions(-) diff --git a/api/regen/data/v2/types.pulsar.go b/api/regen/data/v2/types.pulsar.go index 281d03823a..3c6a084a3e 100644 --- a/api/regen/data/v2/types.pulsar.go +++ b/api/regen/data/v2/types.pulsar.go @@ -2303,8 +2303,7 @@ type ContentHash struct { // which is preserved bit by bit. All other content encodings specify a // deterministic, canonical encoding allowing implementations to choose from a // variety of alternative formats for transport and encoding while maintaining - // the guarantee that the canonical hash will not change. The media type for - // "raw" data is defined by the MediaType enum. + // the guarantee that the canonical hash will not change. Raw *ContentHash_Raw `protobuf:"bytes,1,opt,name=raw,proto3" json:"raw,omitempty"` // graph specifies graph data that conforms to the RDF data model. // The canonicalization algorithm used for an RDF graph is specified by diff --git a/api/regen/ecocredit/v1/state.cosmos_orm.go b/api/regen/ecocredit/v1/state.cosmos_orm.go index e34f52beca..11ee010f05 100644 --- a/api/regen/ecocredit/v1/state.cosmos_orm.go +++ b/api/regen/ecocredit/v1/state.cosmos_orm.go @@ -2058,6 +2058,161 @@ func NewAllowedBridgeChainTable(db ormtable.Schema) (AllowedBridgeChainTable, er return allowedBridgeChainTable{table}, nil } +type ClassApplicationTable interface { + Insert(ctx context.Context, classApplication *ClassApplication) error + InsertReturningID(ctx context.Context, classApplication *ClassApplication) (uint64, error) + Update(ctx context.Context, classApplication *ClassApplication) error + Save(ctx context.Context, classApplication *ClassApplication) error + Delete(ctx context.Context, classApplication *ClassApplication) error + Has(ctx context.Context, id uint64) (found bool, err error) + // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + Get(ctx context.Context, id uint64) (*ClassApplication, error) + HasByProjectKey(ctx context.Context, project_key uint64) (found bool, err error) + // GetByProjectKey returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. + GetByProjectKey(ctx context.Context, project_key uint64) (*ClassApplication, error) + List(ctx context.Context, prefixKey ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) + ListRange(ctx context.Context, from, to ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) + DeleteBy(ctx context.Context, prefixKey ClassApplicationIndexKey) error + DeleteRange(ctx context.Context, from, to ClassApplicationIndexKey) error + + doNotImplement() +} + +type ClassApplicationIterator struct { + ormtable.Iterator +} + +func (i ClassApplicationIterator) Value() (*ClassApplication, error) { + var classApplication ClassApplication + err := i.UnmarshalMessage(&classApplication) + return &classApplication, err +} + +type ClassApplicationIndexKey interface { + id() uint32 + values() []interface{} + classApplicationIndexKey() +} + +// primary key starting index.. +type ClassApplicationPrimaryKey = ClassApplicationIdIndexKey + +type ClassApplicationIdIndexKey struct { + vs []interface{} +} + +func (x ClassApplicationIdIndexKey) id() uint32 { return 0 } +func (x ClassApplicationIdIndexKey) values() []interface{} { return x.vs } +func (x ClassApplicationIdIndexKey) classApplicationIndexKey() {} + +func (this ClassApplicationIdIndexKey) WithId(id uint64) ClassApplicationIdIndexKey { + this.vs = []interface{}{id} + return this +} + +type ClassApplicationProjectKeyIndexKey struct { + vs []interface{} +} + +func (x ClassApplicationProjectKeyIndexKey) id() uint32 { return 1 } +func (x ClassApplicationProjectKeyIndexKey) values() []interface{} { return x.vs } +func (x ClassApplicationProjectKeyIndexKey) classApplicationIndexKey() {} + +func (this ClassApplicationProjectKeyIndexKey) WithProjectKey(project_key uint64) ClassApplicationProjectKeyIndexKey { + this.vs = []interface{}{project_key} + return this +} + +type classApplicationTable struct { + table ormtable.AutoIncrementTable +} + +func (this classApplicationTable) Insert(ctx context.Context, classApplication *ClassApplication) error { + return this.table.Insert(ctx, classApplication) +} + +func (this classApplicationTable) Update(ctx context.Context, classApplication *ClassApplication) error { + return this.table.Update(ctx, classApplication) +} + +func (this classApplicationTable) Save(ctx context.Context, classApplication *ClassApplication) error { + return this.table.Save(ctx, classApplication) +} + +func (this classApplicationTable) Delete(ctx context.Context, classApplication *ClassApplication) error { + return this.table.Delete(ctx, classApplication) +} + +func (this classApplicationTable) InsertReturningID(ctx context.Context, classApplication *ClassApplication) (uint64, error) { + return this.table.InsertReturningID(ctx, classApplication) +} + +func (this classApplicationTable) Has(ctx context.Context, id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, id) +} + +func (this classApplicationTable) Get(ctx context.Context, id uint64) (*ClassApplication, error) { + var classApplication ClassApplication + found, err := this.table.PrimaryKey().Get(ctx, &classApplication, id) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &classApplication, nil +} + +func (this classApplicationTable) HasByProjectKey(ctx context.Context, project_key uint64) (found bool, err error) { + return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, + project_key, + ) +} + +func (this classApplicationTable) GetByProjectKey(ctx context.Context, project_key uint64) (*ClassApplication, error) { + var classApplication ClassApplication + found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &classApplication, + project_key, + ) + if err != nil { + return nil, err + } + if !found { + return nil, ormerrors.NotFound + } + return &classApplication, nil +} + +func (this classApplicationTable) List(ctx context.Context, prefixKey ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) { + it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) + return ClassApplicationIterator{it}, err +} + +func (this classApplicationTable) ListRange(ctx context.Context, from, to ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) { + it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) + return ClassApplicationIterator{it}, err +} + +func (this classApplicationTable) DeleteBy(ctx context.Context, prefixKey ClassApplicationIndexKey) error { + return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) +} + +func (this classApplicationTable) DeleteRange(ctx context.Context, from, to ClassApplicationIndexKey) error { + return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) +} + +func (this classApplicationTable) doNotImplement() {} + +var _ ClassApplicationTable = classApplicationTable{} + +func NewClassApplicationTable(db ormtable.Schema) (ClassApplicationTable, error) { + table := db.GetTable(&ClassApplication{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ClassApplication{}).ProtoReflect().Descriptor().FullName())) + } + return classApplicationTable{table.(ormtable.AutoIncrementTable)}, nil +} + type StateStore interface { CreditTypeTable() CreditTypeTable ClassTable() ClassTable @@ -2075,6 +2230,7 @@ type StateStore interface { AllowedClassCreatorTable() AllowedClassCreatorTable ClassFeeTable() ClassFeeTable AllowedBridgeChainTable() AllowedBridgeChainTable + ClassApplicationTable() ClassApplicationTable doNotImplement() } @@ -2096,6 +2252,7 @@ type stateStore struct { allowedClassCreator AllowedClassCreatorTable classFee ClassFeeTable allowedBridgeChain AllowedBridgeChainTable + classApplication ClassApplicationTable } func (x stateStore) CreditTypeTable() CreditTypeTable { @@ -2162,6 +2319,10 @@ func (x stateStore) AllowedBridgeChainTable() AllowedBridgeChainTable { return x.allowedBridgeChain } +func (x stateStore) ClassApplicationTable() ClassApplicationTable { + return x.classApplication +} + func (stateStore) doNotImplement() {} var _ StateStore = stateStore{} @@ -2247,6 +2408,11 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { return nil, err } + classApplicationTable, err := NewClassApplicationTable(db) + if err != nil { + return nil, err + } + return stateStore{ creditTypeTable, classTable, @@ -2264,5 +2430,6 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { allowedClassCreatorTable, classFeeTable, allowedBridgeChainTable, + classApplicationTable, }, nil } diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 2a59185faf..41ce1a66de 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -8819,6 +8819,682 @@ func (x *fastReflection_AllowedBridgeChain) ProtoMethods() *protoiface.Methods { } } +var ( + md_ClassApplication protoreflect.MessageDescriptor + fd_ClassApplication_id protoreflect.FieldDescriptor + fd_ClassApplication_project_key protoreflect.FieldDescriptor + fd_ClassApplication_class_key protoreflect.FieldDescriptor + fd_ClassApplication_issuer protoreflect.FieldDescriptor + fd_ClassApplication_metadata protoreflect.FieldDescriptor + fd_ClassApplication_status protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_state_proto_init() + md_ClassApplication = File_regen_ecocredit_v1_state_proto.Messages().ByName("ClassApplication") + fd_ClassApplication_id = md_ClassApplication.Fields().ByName("id") + fd_ClassApplication_project_key = md_ClassApplication.Fields().ByName("project_key") + fd_ClassApplication_class_key = md_ClassApplication.Fields().ByName("class_key") + fd_ClassApplication_issuer = md_ClassApplication.Fields().ByName("issuer") + fd_ClassApplication_metadata = md_ClassApplication.Fields().ByName("metadata") + fd_ClassApplication_status = md_ClassApplication.Fields().ByName("status") +} + +var _ protoreflect.Message = (*fastReflection_ClassApplication)(nil) + +type fastReflection_ClassApplication ClassApplication + +func (x *ClassApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_ClassApplication)(x) +} + +func (x *ClassApplication) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] + 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_ClassApplication_messageType fastReflection_ClassApplication_messageType +var _ protoreflect.MessageType = fastReflection_ClassApplication_messageType{} + +type fastReflection_ClassApplication_messageType struct{} + +func (x fastReflection_ClassApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_ClassApplication)(nil) +} +func (x fastReflection_ClassApplication_messageType) New() protoreflect.Message { + return new(fastReflection_ClassApplication) +} +func (x fastReflection_ClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ClassApplication +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ClassApplication) Descriptor() protoreflect.MessageDescriptor { + return md_ClassApplication +} + +// 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_ClassApplication) Type() protoreflect.MessageType { + return _fastReflection_ClassApplication_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ClassApplication) New() protoreflect.Message { + return new(fastReflection_ClassApplication) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ClassApplication) Interface() protoreflect.ProtoMessage { + return (*ClassApplication)(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_ClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_ClassApplication_id, value) { + return + } + } + if x.ProjectKey != uint64(0) { + value := protoreflect.ValueOfUint64(x.ProjectKey) + if !f(fd_ClassApplication_project_key, value) { + return + } + } + if x.ClassKey != uint64(0) { + value := protoreflect.ValueOfUint64(x.ClassKey) + if !f(fd_ClassApplication_class_key, value) { + return + } + } + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_ClassApplication_issuer, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_ClassApplication_metadata, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_ClassApplication_status, 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_ClassApplication) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + return x.Id != uint64(0) + case "regen.ecocredit.v1.ClassApplication.project_key": + return x.ProjectKey != uint64(0) + case "regen.ecocredit.v1.ClassApplication.class_key": + return x.ClassKey != uint64(0) + case "regen.ecocredit.v1.ClassApplication.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.ClassApplication.metadata": + return x.Metadata != "" + case "regen.ecocredit.v1.ClassApplication.status": + return x.Status != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + x.Id = uint64(0) + case "regen.ecocredit.v1.ClassApplication.project_key": + x.ProjectKey = uint64(0) + case "regen.ecocredit.v1.ClassApplication.class_key": + x.ClassKey = uint64(0) + case "regen.ecocredit.v1.ClassApplication.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.ClassApplication.metadata": + x.Metadata = "" + case "regen.ecocredit.v1.ClassApplication.status": + x.Status = 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.ClassApplication.project_key": + value := x.ProjectKey + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.ClassApplication.class_key": + value := x.ClassKey + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.ClassApplication.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.ClassApplication.metadata": + value := x.Metadata + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.ClassApplication.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + x.Id = value.Uint() + case "regen.ecocredit.v1.ClassApplication.project_key": + x.ProjectKey = value.Uint() + case "regen.ecocredit.v1.ClassApplication.class_key": + x.ClassKey = value.Uint() + case "regen.ecocredit.v1.ClassApplication.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.ClassApplication.metadata": + x.Metadata = value.Interface().(string) + case "regen.ecocredit.v1.ClassApplication.status": + x.Status = (ApplicationStatus)(value.Enum()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + panic(fmt.Errorf("field id of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ClassApplication.project_key": + panic(fmt.Errorf("field project_key of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ClassApplication.class_key": + panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ClassApplication.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ClassApplication.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ClassApplication.status": + panic(fmt.Errorf("field status of message regen.ecocredit.v1.ClassApplication is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.ClassApplication.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.ClassApplication.project_key": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.ClassApplication.class_key": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.ClassApplication.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.ClassApplication.metadata": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.ClassApplication.status": + return protoreflect.ValueOfEnum(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication 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_ClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ClassApplication", 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_ClassApplication) 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_ClassApplication) 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_ClassApplication) 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_ClassApplication) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ClassApplication) + 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.ProjectKey != 0 { + n += 1 + runtime.Sov(uint64(x.ProjectKey)) + } + if x.ClassKey != 0 { + n += 1 + runtime.Sov(uint64(x.ClassKey)) + } + l = len(x.Issuer) + 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.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + 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().(*ClassApplication) + 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.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x30 + } + 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.Issuer) > 0 { + i -= len(x.Issuer) + copy(dAtA[i:], x.Issuer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + i-- + dAtA[i] = 0x22 + } + if x.ClassKey != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ClassKey)) + i-- + dAtA[i] = 0x18 + } + if x.ProjectKey != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ProjectKey)) + 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().(*ClassApplication) + 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: ClassApplication: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassApplication: 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 ProjectKey", wireType) + } + x.ProjectKey = 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.ProjectKey |= 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 ClassKey", wireType) + } + x.ClassKey = 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.ClassKey |= 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 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 + 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 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.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 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.Status |= ApplicationStatus(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 @@ -8832,6 +9508,69 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Application represents the evaluation status that a credit class issuer +// assigns to a credit class application. +type ApplicationStatus int32 + +const ( + // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is + // unspecified and hasn't been evaluated yet. + ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED ApplicationStatus = 0 + // APPLICATION_STATUS_ACCEPTED indicates that the application has been + // accepted and that the project has been admitted into the credit class. + ApplicationStatus_APPLICATION_STATUS_ACCEPTED ApplicationStatus = 1 + // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has + // been reviewed and that changes are required before the application can be + // accepted. + ApplicationStatus_APPLICATION_STATUS_CHANGES_REQUESTED ApplicationStatus = 2 + // APPLICATION_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be admitted into the credit class. + ApplicationStatus_APPLICATION_STATUS_REJECTED ApplicationStatus = 3 +) + +// Enum value maps for ApplicationStatus. +var ( + ApplicationStatus_name = map[int32]string{ + 0: "APPLICATION_STATUS_UNSPECIFIED", + 1: "APPLICATION_STATUS_ACCEPTED", + 2: "APPLICATION_STATUS_CHANGES_REQUESTED", + 3: "APPLICATION_STATUS_REJECTED", + } + ApplicationStatus_value = map[string]int32{ + "APPLICATION_STATUS_UNSPECIFIED": 0, + "APPLICATION_STATUS_ACCEPTED": 1, + "APPLICATION_STATUS_CHANGES_REQUESTED": 2, + "APPLICATION_STATUS_REJECTED": 3, + } +) + +func (x ApplicationStatus) Enum() *ApplicationStatus { + p := new(ApplicationStatus) + *p = x + return p +} + +func (x ApplicationStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApplicationStatus) Descriptor() protoreflect.EnumDescriptor { + return file_regen_ecocredit_v1_state_proto_enumTypes[0].Descriptor() +} + +func (ApplicationStatus) Type() protoreflect.EnumType { + return &file_regen_ecocredit_v1_state_proto_enumTypes[0] +} + +func (x ApplicationStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApplicationStatus.Descriptor instead. +func (ApplicationStatus) EnumDescriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{0} +} + // CreditType defines the measurement unit/precision of a certain credit type // (e.g. carbon, biodiversity...) type CreditType struct { @@ -9825,6 +10564,92 @@ func (x *AllowedBridgeChain) GetChainName() string { return "" } +// ClassApplication stores the data for a credit class application. +type ClassApplication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the unique identifier of the application. + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // project_key is the table row identifier of the project used internally for + // efficient lookups. This links an application to a project. + ProjectKey uint64 `protobuf:"varint,2,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a project to a credit class. + ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` + // issuer is the issuer of the credit class which the application has been + // submitted to. + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + // metadata is any arbitrary metadata attached to the application. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + // status is the status of the application. Note that accepted and rejected + // applications are removed from the table. + Status ApplicationStatus `protobuf:"varint,6,opt,name=status,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"status,omitempty"` +} + +func (x *ClassApplication) Reset() { + *x = ClassApplication{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClassApplication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClassApplication) ProtoMessage() {} + +// Deprecated: Use ClassApplication.ProtoReflect.Descriptor instead. +func (*ClassApplication) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{16} +} + +func (x *ClassApplication) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClassApplication) GetProjectKey() uint64 { + if x != nil { + return x.ProjectKey + } + return 0 +} + +func (x *ClassApplication) GetClassKey() uint64 { + if x != nil { + return x.ClassKey + } + return 0 +} + +func (x *ClassApplication) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *ClassApplication) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *ClassApplication) GetStatus() ApplicationStatus { + if x != nil { + return x.Status + } + return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED +} + var File_regen_ecocredit_v1_state_proto protoreflect.FileDescriptor var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ @@ -9993,22 +10818,48 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x42, 0xd8, - 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0xf8, + 0x01, 0x0a, 0x10, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x3a, 0x23, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1d, 0x0a, 0x06, 0x0a, 0x02, + 0x69, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x01, 0x18, 0x11, 0x2a, 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x22, 0x0a, 0x1e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, + 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1f, + 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, + 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, + 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -10023,37 +10874,41 @@ func file_regen_ecocredit_v1_state_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_state_proto_rawDescData } -var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_regen_ecocredit_v1_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ - (*CreditType)(nil), // 0: regen.ecocredit.v1.CreditType - (*Class)(nil), // 1: regen.ecocredit.v1.Class - (*ClassIssuer)(nil), // 2: regen.ecocredit.v1.ClassIssuer - (*Project)(nil), // 3: regen.ecocredit.v1.Project - (*Batch)(nil), // 4: regen.ecocredit.v1.Batch - (*ClassSequence)(nil), // 5: regen.ecocredit.v1.ClassSequence - (*ProjectSequence)(nil), // 6: regen.ecocredit.v1.ProjectSequence - (*BatchSequence)(nil), // 7: regen.ecocredit.v1.BatchSequence - (*BatchBalance)(nil), // 8: regen.ecocredit.v1.BatchBalance - (*BatchSupply)(nil), // 9: regen.ecocredit.v1.BatchSupply - (*OriginTxIndex)(nil), // 10: regen.ecocredit.v1.OriginTxIndex - (*BatchContract)(nil), // 11: regen.ecocredit.v1.BatchContract - (*ClassCreatorAllowlist)(nil), // 12: regen.ecocredit.v1.ClassCreatorAllowlist - (*AllowedClassCreator)(nil), // 13: regen.ecocredit.v1.AllowedClassCreator - (*ClassFee)(nil), // 14: regen.ecocredit.v1.ClassFee - (*AllowedBridgeChain)(nil), // 15: regen.ecocredit.v1.AllowedBridgeChain - (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp - (*v1beta1.Coin)(nil), // 17: cosmos.base.v1beta1.Coin + (ApplicationStatus)(0), // 0: regen.ecocredit.v1.ApplicationStatus + (*CreditType)(nil), // 1: regen.ecocredit.v1.CreditType + (*Class)(nil), // 2: regen.ecocredit.v1.Class + (*ClassIssuer)(nil), // 3: regen.ecocredit.v1.ClassIssuer + (*Project)(nil), // 4: regen.ecocredit.v1.Project + (*Batch)(nil), // 5: regen.ecocredit.v1.Batch + (*ClassSequence)(nil), // 6: regen.ecocredit.v1.ClassSequence + (*ProjectSequence)(nil), // 7: regen.ecocredit.v1.ProjectSequence + (*BatchSequence)(nil), // 8: regen.ecocredit.v1.BatchSequence + (*BatchBalance)(nil), // 9: regen.ecocredit.v1.BatchBalance + (*BatchSupply)(nil), // 10: regen.ecocredit.v1.BatchSupply + (*OriginTxIndex)(nil), // 11: regen.ecocredit.v1.OriginTxIndex + (*BatchContract)(nil), // 12: regen.ecocredit.v1.BatchContract + (*ClassCreatorAllowlist)(nil), // 13: regen.ecocredit.v1.ClassCreatorAllowlist + (*AllowedClassCreator)(nil), // 14: regen.ecocredit.v1.AllowedClassCreator + (*ClassFee)(nil), // 15: regen.ecocredit.v1.ClassFee + (*AllowedBridgeChain)(nil), // 16: regen.ecocredit.v1.AllowedBridgeChain + (*ClassApplication)(nil), // 17: regen.ecocredit.v1.ClassApplication + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin } var file_regen_ecocredit_v1_state_proto_depIdxs = []int32{ - 16, // 0: regen.ecocredit.v1.Batch.start_date:type_name -> google.protobuf.Timestamp - 16, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp - 16, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp - 17, // 3: regen.ecocredit.v1.ClassFee.fee: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 + 18, // 0: regen.ecocredit.v1.Batch.start_date:type_name -> google.protobuf.Timestamp + 18, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp + 18, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp + 19, // 3: regen.ecocredit.v1.ClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 0, // 4: regen.ecocredit.v1.ClassApplication.status:type_name -> regen.ecocredit.v1.ApplicationStatus + 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_v1_state_proto_init() } @@ -10254,19 +11109,32 @@ func file_regen_ecocredit_v1_state_proto_init() { return nil } } + file_regen_ecocredit_v1_state_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClassApplication); 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_v1_state_proto_rawDesc, - NumEnums: 0, - NumMessages: 16, + NumEnums: 1, + NumMessages: 17, NumExtensions: 0, NumServices: 0, }, GoTypes: file_regen_ecocredit_v1_state_proto_goTypes, DependencyIndexes: file_regen_ecocredit_v1_state_proto_depIdxs, + EnumInfos: file_regen_ecocredit_v1_state_proto_enumTypes, MessageInfos: file_regen_ecocredit_v1_state_proto_msgTypes, }.Build() File_regen_ecocredit_v1_state_proto = out.File diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index a6bc8bcbf2..562ab79976 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3139,91 +3139,32 @@ func (x *fastReflection_MsgCreateProjectResponse) ProtoMethods() *protoiface.Met } } -var _ protoreflect.List = (*_MsgCreateBatch_3_list)(nil) - -type _MsgCreateBatch_3_list struct { - list *[]*BatchIssuance -} - -func (x *_MsgCreateBatch_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgCreateBatch_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgCreateBatch_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*BatchIssuance) - (*x.list)[i] = concreteValue -} - -func (x *_MsgCreateBatch_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*BatchIssuance) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgCreateBatch_3_list) AppendMutable() protoreflect.Value { - v := new(BatchIssuance) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgCreateBatch_3_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgCreateBatch_3_list) NewElement() protoreflect.Value { - v := new(BatchIssuance) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgCreateBatch_3_list) IsValid() bool { - return x.list != nil -} - var ( - md_MsgCreateBatch protoreflect.MessageDescriptor - fd_MsgCreateBatch_issuer protoreflect.FieldDescriptor - fd_MsgCreateBatch_project_id protoreflect.FieldDescriptor - fd_MsgCreateBatch_issuance protoreflect.FieldDescriptor - fd_MsgCreateBatch_metadata protoreflect.FieldDescriptor - fd_MsgCreateBatch_start_date protoreflect.FieldDescriptor - fd_MsgCreateBatch_end_date protoreflect.FieldDescriptor - fd_MsgCreateBatch_open protoreflect.FieldDescriptor - fd_MsgCreateBatch_origin_tx protoreflect.FieldDescriptor + md_MsgCreateUnregisteredProject protoreflect.MessageDescriptor + fd_MsgCreateUnregisteredProject_creator protoreflect.FieldDescriptor + fd_MsgCreateUnregisteredProject_metadata protoreflect.FieldDescriptor + fd_MsgCreateUnregisteredProject_jurisdiction protoreflect.FieldDescriptor + fd_MsgCreateUnregisteredProject_reference_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgCreateBatch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateBatch") - fd_MsgCreateBatch_issuer = md_MsgCreateBatch.Fields().ByName("issuer") - fd_MsgCreateBatch_project_id = md_MsgCreateBatch.Fields().ByName("project_id") - fd_MsgCreateBatch_issuance = md_MsgCreateBatch.Fields().ByName("issuance") - fd_MsgCreateBatch_metadata = md_MsgCreateBatch.Fields().ByName("metadata") - fd_MsgCreateBatch_start_date = md_MsgCreateBatch.Fields().ByName("start_date") - fd_MsgCreateBatch_end_date = md_MsgCreateBatch.Fields().ByName("end_date") - fd_MsgCreateBatch_open = md_MsgCreateBatch.Fields().ByName("open") - fd_MsgCreateBatch_origin_tx = md_MsgCreateBatch.Fields().ByName("origin_tx") + md_MsgCreateUnregisteredProject = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateUnregisteredProject") + fd_MsgCreateUnregisteredProject_creator = md_MsgCreateUnregisteredProject.Fields().ByName("creator") + fd_MsgCreateUnregisteredProject_metadata = md_MsgCreateUnregisteredProject.Fields().ByName("metadata") + fd_MsgCreateUnregisteredProject_jurisdiction = md_MsgCreateUnregisteredProject.Fields().ByName("jurisdiction") + fd_MsgCreateUnregisteredProject_reference_id = md_MsgCreateUnregisteredProject.Fields().ByName("reference_id") } -var _ protoreflect.Message = (*fastReflection_MsgCreateBatch)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCreateUnregisteredProject)(nil) -type fastReflection_MsgCreateBatch MsgCreateBatch +type fastReflection_MsgCreateUnregisteredProject MsgCreateUnregisteredProject -func (x *MsgCreateBatch) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCreateBatch)(x) +func (x *MsgCreateUnregisteredProject) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateUnregisteredProject)(x) } -func (x *MsgCreateBatch) slowProtoReflect() protoreflect.Message { +func (x *MsgCreateUnregisteredProject) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3235,43 +3176,43 @@ func (x *MsgCreateBatch) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgCreateBatch_messageType fastReflection_MsgCreateBatch_messageType -var _ protoreflect.MessageType = fastReflection_MsgCreateBatch_messageType{} +var _fastReflection_MsgCreateUnregisteredProject_messageType fastReflection_MsgCreateUnregisteredProject_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateUnregisteredProject_messageType{} -type fastReflection_MsgCreateBatch_messageType struct{} +type fastReflection_MsgCreateUnregisteredProject_messageType struct{} -func (x fastReflection_MsgCreateBatch_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCreateBatch)(nil) +func (x fastReflection_MsgCreateUnregisteredProject_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateUnregisteredProject)(nil) } -func (x fastReflection_MsgCreateBatch_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCreateBatch) +func (x fastReflection_MsgCreateUnregisteredProject_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateUnregisteredProject) } -func (x fastReflection_MsgCreateBatch_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateBatch +func (x fastReflection_MsgCreateUnregisteredProject_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateUnregisteredProject } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgCreateBatch) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateBatch +func (x *fastReflection_MsgCreateUnregisteredProject) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateUnregisteredProject } // 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_MsgCreateBatch) Type() protoreflect.MessageType { - return _fastReflection_MsgCreateBatch_messageType +func (x *fastReflection_MsgCreateUnregisteredProject) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateUnregisteredProject_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCreateBatch) New() protoreflect.Message { - return new(fastReflection_MsgCreateBatch) +func (x *fastReflection_MsgCreateUnregisteredProject) New() protoreflect.Message { + return new(fastReflection_MsgCreateUnregisteredProject) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCreateBatch) Interface() protoreflect.ProtoMessage { - return (*MsgCreateBatch)(x) +func (x *fastReflection_MsgCreateUnregisteredProject) Interface() protoreflect.ProtoMessage { + return (*MsgCreateUnregisteredProject)(x) } // Range iterates over every populated field in an undefined order, @@ -3279,52 +3220,28 @@ func (x *fastReflection_MsgCreateBatch) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgCreateBatch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgCreateBatch_issuer, value) { - return - } - } - if x.ProjectId != "" { - value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgCreateBatch_project_id, value) { - return - } - } - if len(x.Issuance) != 0 { - value := protoreflect.ValueOfList(&_MsgCreateBatch_3_list{list: &x.Issuance}) - if !f(fd_MsgCreateBatch_issuance, value) { +func (x *fastReflection_MsgCreateUnregisteredProject) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgCreateUnregisteredProject_creator, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgCreateBatch_metadata, value) { - return - } - } - if x.StartDate != nil { - value := protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) - if !f(fd_MsgCreateBatch_start_date, value) { - return - } - } - if x.EndDate != nil { - value := protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) - if !f(fd_MsgCreateBatch_end_date, value) { + if !f(fd_MsgCreateUnregisteredProject_metadata, value) { return } } - if x.Open != false { - value := protoreflect.ValueOfBool(x.Open) - if !f(fd_MsgCreateBatch_open, value) { + if x.Jurisdiction != "" { + value := protoreflect.ValueOfString(x.Jurisdiction) + if !f(fd_MsgCreateUnregisteredProject_jurisdiction, value) { return } } - if x.OriginTx != nil { - value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - if !f(fd_MsgCreateBatch_origin_tx, value) { + if x.ReferenceId != "" { + value := protoreflect.ValueOfString(x.ReferenceId) + if !f(fd_MsgCreateUnregisteredProject_reference_id, value) { return } } @@ -3341,29 +3258,21 @@ func (x *fastReflection_MsgCreateBatch) Range(f func(protoreflect.FieldDescripto // 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_MsgCreateBatch) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateUnregisteredProject) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - return x.ProjectId != "" - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - return len(x.Issuance) != 0 - case "regen.ecocredit.v1.MsgCreateBatch.metadata": + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + return x.Creator != "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": return x.Metadata != "" - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - return x.StartDate != nil - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - return x.EndDate != nil - case "regen.ecocredit.v1.MsgCreateBatch.open": - return x.Open != false - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - return x.OriginTx != nil + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + return x.Jurisdiction != "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + return x.ReferenceId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject does not contain field %s", fd.FullName())) } } @@ -3373,29 +3282,21 @@ func (x *fastReflection_MsgCreateBatch) Has(fd protoreflect.FieldDescriptor) boo // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatch) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateUnregisteredProject) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - x.ProjectId = "" - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - x.Issuance = nil - case "regen.ecocredit.v1.MsgCreateBatch.metadata": + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + x.Creator = "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": x.Metadata = "" - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - x.StartDate = nil - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - x.EndDate = nil - case "regen.ecocredit.v1.MsgCreateBatch.open": - x.Open = false - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - x.OriginTx = nil + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + x.Jurisdiction = "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + x.ReferenceId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject does not contain field %s", fd.FullName())) } } @@ -3405,40 +3306,25 @@ func (x *fastReflection_MsgCreateBatch) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgCreateBatch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateUnregisteredProject) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - value := x.ProjectId + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + value := x.Creator return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - if len(x.Issuance) == 0 { - return protoreflect.ValueOfList(&_MsgCreateBatch_3_list{}) - } - listValue := &_MsgCreateBatch_3_list{list: &x.Issuance} - return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.MsgCreateBatch.metadata": + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": value := x.Metadata return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - value := x.StartDate - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - value := x.EndDate - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.open": - value := x.Open - return protoreflect.ValueOfBool(value) - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - value := x.OriginTx - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + value := x.Jurisdiction + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + value := x.ReferenceId + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject does not contain field %s", descriptor.FullName())) } } @@ -3452,31 +3338,21 @@ func (x *fastReflection_MsgCreateBatch) Get(descriptor protoreflect.FieldDescrip // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - lv := value.List() - clv := lv.(*_MsgCreateBatch_3_list) - x.Issuance = *clv.list - case "regen.ecocredit.v1.MsgCreateBatch.metadata": + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + x.Creator = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": x.Metadata = value.Interface().(string) - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - x.StartDate = value.Message().Interface().(*timestamppb.Timestamp) - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - x.EndDate = value.Message().Interface().(*timestamppb.Timestamp) - case "regen.ecocredit.v1.MsgCreateBatch.open": - x.Open = value.Bool() - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - x.OriginTx = value.Message().Interface().(*OriginTx) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + x.Jurisdiction = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + x.ReferenceId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject does not contain field %s", fd.FullName())) } } @@ -3490,85 +3366,52 @@ func (x *fastReflection_MsgCreateBatch) Set(fd protoreflect.FieldDescriptor, val // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateUnregisteredProject) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - if x.Issuance == nil { - x.Issuance = []*BatchIssuance{} + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + panic(fmt.Errorf("field reference_id of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - value := &_MsgCreateBatch_3_list{list: &x.Issuance} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - if x.StartDate == nil { - x.StartDate = new(timestamppb.Timestamp) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject 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_MsgCreateUnregisteredProject) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) } - return protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - if x.EndDate == nil { - x.EndDate = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - if x.OriginTx == nil { - x.OriginTx = new(OriginTx) - } - return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) - case "regen.ecocredit.v1.MsgCreateBatch.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) - case "regen.ecocredit.v1.MsgCreateBatch.open": - panic(fmt.Errorf("field open of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch 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_MsgCreateBatch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatch.issuer": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgCreateBatch.project_id": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgCreateBatch.issuance": - list := []*BatchIssuance{} - return protoreflect.ValueOfList(&_MsgCreateBatch_3_list{list: &list}) - case "regen.ecocredit.v1.MsgCreateBatch.metadata": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgCreateBatch.start_date": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.end_date": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgCreateBatch.open": - return protoreflect.ValueOfBool(false) - case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": - m := new(OriginTx) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProject 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_MsgCreateBatch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateUnregisteredProject) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateBatch", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateUnregisteredProject", d.FullName())) } panic("unreachable") } @@ -3576,7 +3419,7 @@ func (x *fastReflection_MsgCreateBatch) WhichOneof(d protoreflect.OneofDescripto // 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_MsgCreateBatch) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateUnregisteredProject) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -3587,7 +3430,7 @@ func (x *fastReflection_MsgCreateBatch) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatch) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateUnregisteredProject) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -3599,7 +3442,7 @@ func (x *fastReflection_MsgCreateBatch) SetUnknown(fields protoreflect.RawFields // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgCreateBatch) IsValid() bool { +func (x *fastReflection_MsgCreateUnregisteredProject) IsValid() bool { return x != nil } @@ -3609,9 +3452,9 @@ func (x *fastReflection_MsgCreateBatch) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCreateBatch) + x := input.Message.Interface().(*MsgCreateUnregisteredProject) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3623,37 +3466,20 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Issuer) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ProjectId) + l = len(x.Creator) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Issuance) > 0 { - for _, e := range x.Issuance { - l = options.Size(e) - 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) + l = len(x.Jurisdiction) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Open { - n += 2 - } - if x.OriginTx != nil { - l = options.Size(x.OriginTx) + l = len(x.ReferenceId) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -3666,7 +3492,7 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateBatch) + x := input.Message.Interface().(*MsgCreateUnregisteredProject) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3685,92 +3511,31 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.OriginTx != nil { - encoded, err := options.Marshal(x.OriginTx) - 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.Open { - i-- - if x.Open { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - } - 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))) + if len(x.ReferenceId) > 0 { + i -= len(x.ReferenceId) + copy(dAtA[i:], x.ReferenceId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReferenceId))) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x22 } - 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))) + if len(x.Jurisdiction) > 0 { + i -= len(x.Jurisdiction) + copy(dAtA[i:], x.Jurisdiction) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Jurisdiction))) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x1a } 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.Issuance) > 0 { - for iNdEx := len(x.Issuance) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Issuance[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } - } - if len(x.ProjectId) > 0 { - i -= len(x.ProjectId) - copy(dAtA[i:], x.ProjectId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectId))) - i-- dAtA[i] = 0x12 } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) i-- dAtA[i] = 0xa } @@ -3785,7 +3550,7 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateBatch) + x := input.Message.Interface().(*MsgCreateUnregisteredProject) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -3817,15 +3582,15 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatch: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateUnregisteredProject: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatch: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateUnregisteredProject: 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 Issuer", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3853,11 +3618,11 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Issuer = string(dAtA[iNdEx:postIndex]) + x.Creator = 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 ProjectId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3885,13 +3650,13 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ProjectId = string(dAtA[iNdEx:postIndex]) + x.Metadata = 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 Issuance", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -3901,29 +3666,27 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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.Issuance = append(x.Issuance, &BatchIssuance{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Issuance[len(x.Issuance)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.Jurisdiction = 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) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3951,150 +3714,22 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Metadata = string(dAtA[iNdEx:postIndex]) + x.ReferenceId = 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 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 + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > 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 - case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Open", 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.Open = 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 OriginTx", 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.OriginTx == nil { - x.OriginTx = &OriginTx{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); 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]...) + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) } iNdEx += skippy } @@ -4117,25 +3752,25 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { } var ( - md_MsgCreateBatchResponse protoreflect.MessageDescriptor - fd_MsgCreateBatchResponse_batch_denom protoreflect.FieldDescriptor + md_MsgCreateUnregisteredProjectResponse protoreflect.MessageDescriptor + fd_MsgCreateUnregisteredProjectResponse_project_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgCreateBatchResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateBatchResponse") - fd_MsgCreateBatchResponse_batch_denom = md_MsgCreateBatchResponse.Fields().ByName("batch_denom") + md_MsgCreateUnregisteredProjectResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateUnregisteredProjectResponse") + fd_MsgCreateUnregisteredProjectResponse_project_id = md_MsgCreateUnregisteredProjectResponse.Fields().ByName("project_id") } -var _ protoreflect.Message = (*fastReflection_MsgCreateBatchResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCreateUnregisteredProjectResponse)(nil) -type fastReflection_MsgCreateBatchResponse MsgCreateBatchResponse +type fastReflection_MsgCreateUnregisteredProjectResponse MsgCreateUnregisteredProjectResponse -func (x *MsgCreateBatchResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCreateBatchResponse)(x) +func (x *MsgCreateUnregisteredProjectResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateUnregisteredProjectResponse)(x) } -func (x *MsgCreateBatchResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgCreateUnregisteredProjectResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4147,43 +3782,43 @@ func (x *MsgCreateBatchResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgCreateBatchResponse_messageType fastReflection_MsgCreateBatchResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgCreateBatchResponse_messageType{} +var _fastReflection_MsgCreateUnregisteredProjectResponse_messageType fastReflection_MsgCreateUnregisteredProjectResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateUnregisteredProjectResponse_messageType{} -type fastReflection_MsgCreateBatchResponse_messageType struct{} +type fastReflection_MsgCreateUnregisteredProjectResponse_messageType struct{} -func (x fastReflection_MsgCreateBatchResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCreateBatchResponse)(nil) +func (x fastReflection_MsgCreateUnregisteredProjectResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateUnregisteredProjectResponse)(nil) } -func (x fastReflection_MsgCreateBatchResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCreateBatchResponse) +func (x fastReflection_MsgCreateUnregisteredProjectResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateUnregisteredProjectResponse) } -func (x fastReflection_MsgCreateBatchResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateBatchResponse +func (x fastReflection_MsgCreateUnregisteredProjectResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateUnregisteredProjectResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgCreateBatchResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCreateBatchResponse +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateUnregisteredProjectResponse } // 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_MsgCreateBatchResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgCreateBatchResponse_messageType +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateUnregisteredProjectResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCreateBatchResponse) New() protoreflect.Message { - return new(fastReflection_MsgCreateBatchResponse) +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) New() protoreflect.Message { + return new(fastReflection_MsgCreateUnregisteredProjectResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCreateBatchResponse) Interface() protoreflect.ProtoMessage { - return (*MsgCreateBatchResponse)(x) +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCreateUnregisteredProjectResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -4191,10 +3826,10 @@ func (x *fastReflection_MsgCreateBatchResponse) Interface() protoreflect.ProtoMe // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgCreateBatchResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgCreateBatchResponse_batch_denom, value) { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgCreateUnregisteredProjectResponse_project_id, value) { return } } @@ -4211,15 +3846,15 @@ func (x *fastReflection_MsgCreateBatchResponse) Range(f func(protoreflect.FieldD // 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_MsgCreateBatchResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": - return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": + return x.ProjectId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse does not contain field %s", fd.FullName())) } } @@ -4229,15 +3864,15 @@ func (x *fastReflection_MsgCreateBatchResponse) Has(fd protoreflect.FieldDescrip // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatchResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": - x.BatchDenom = "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": + x.ProjectId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse does not contain field %s", fd.FullName())) } } @@ -4247,16 +3882,16 @@ func (x *fastReflection_MsgCreateBatchResponse) Clear(fd protoreflect.FieldDescr // 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_MsgCreateBatchResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": - value := x.BatchDenom + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": + value := x.ProjectId return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse does not contain field %s", descriptor.FullName())) } } @@ -4270,15 +3905,15 @@ func (x *fastReflection_MsgCreateBatchResponse) Get(descriptor protoreflect.Fiel // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatchResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": - x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": + x.ProjectId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse does not contain field %s", fd.FullName())) } } @@ -4292,40 +3927,40 @@ func (x *fastReflection_MsgCreateBatchResponse) Set(fd protoreflect.FieldDescrip // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatchResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgCreateBatchResponse is not mutable")) + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse 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_MsgCreateBatchResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + case "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse.project_id": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse 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_MsgCreateBatchResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateBatchResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse", d.FullName())) } panic("unreachable") } @@ -4333,7 +3968,7 @@ func (x *fastReflection_MsgCreateBatchResponse) WhichOneof(d protoreflect.OneofD // 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_MsgCreateBatchResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4344,7 +3979,7 @@ func (x *fastReflection_MsgCreateBatchResponse) GetUnknown() protoreflect.RawFie // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCreateBatchResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4356,7 +3991,7 @@ func (x *fastReflection_MsgCreateBatchResponse) SetUnknown(fields protoreflect.R // 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_MsgCreateBatchResponse) IsValid() bool { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) IsValid() bool { return x != nil } @@ -4366,9 +4001,9 @@ func (x *fastReflection_MsgCreateBatchResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateUnregisteredProjectResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCreateBatchResponse) + x := input.Message.Interface().(*MsgCreateUnregisteredProjectResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4380,7 +4015,7 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho var n int var l int _ = l - l = len(x.BatchDenom) + l = len(x.ProjectId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -4394,7 +4029,7 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateBatchResponse) + x := input.Message.Interface().(*MsgCreateUnregisteredProjectResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4413,10 +4048,10 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.BatchDenom) > 0 { - i -= len(x.BatchDenom) - copy(dAtA[i:], x.BatchDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + 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 } @@ -4431,7 +4066,7 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCreateBatchResponse) + x := input.Message.Interface().(*MsgCreateUnregisteredProjectResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4463,15 +4098,15 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatchResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateUnregisteredProjectResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateUnregisteredProjectResponse: 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 BatchDenom", wireType) + 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 { @@ -4499,7 +4134,7 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.BatchDenom = string(dAtA[iNdEx:postIndex]) + x.ProjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -4536,83 +4171,34 @@ func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Metho } } -var _ protoreflect.List = (*_MsgMintBatchCredits_3_list)(nil) - -type _MsgMintBatchCredits_3_list struct { - list *[]*BatchIssuance -} - -func (x *_MsgMintBatchCredits_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgMintBatchCredits_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgMintBatchCredits_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*BatchIssuance) - (*x.list)[i] = concreteValue -} - -func (x *_MsgMintBatchCredits_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*BatchIssuance) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgMintBatchCredits_3_list) AppendMutable() protoreflect.Value { - v := new(BatchIssuance) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgMintBatchCredits_3_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgMintBatchCredits_3_list) NewElement() protoreflect.Value { - v := new(BatchIssuance) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgMintBatchCredits_3_list) IsValid() bool { - return x.list != nil -} - var ( - md_MsgMintBatchCredits protoreflect.MessageDescriptor - fd_MsgMintBatchCredits_issuer protoreflect.FieldDescriptor - fd_MsgMintBatchCredits_batch_denom protoreflect.FieldDescriptor - fd_MsgMintBatchCredits_issuance protoreflect.FieldDescriptor - fd_MsgMintBatchCredits_origin_tx protoreflect.FieldDescriptor + md_MsgSubmitClassApplication protoreflect.MessageDescriptor + fd_MsgSubmitClassApplication_project_admin protoreflect.FieldDescriptor + fd_MsgSubmitClassApplication_project_id protoreflect.FieldDescriptor + fd_MsgSubmitClassApplication_class_id protoreflect.FieldDescriptor + fd_MsgSubmitClassApplication_issuer protoreflect.FieldDescriptor + fd_MsgSubmitClassApplication_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgMintBatchCredits = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgMintBatchCredits") - fd_MsgMintBatchCredits_issuer = md_MsgMintBatchCredits.Fields().ByName("issuer") - fd_MsgMintBatchCredits_batch_denom = md_MsgMintBatchCredits.Fields().ByName("batch_denom") - fd_MsgMintBatchCredits_issuance = md_MsgMintBatchCredits.Fields().ByName("issuance") - fd_MsgMintBatchCredits_origin_tx = md_MsgMintBatchCredits.Fields().ByName("origin_tx") + md_MsgSubmitClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSubmitClassApplication") + fd_MsgSubmitClassApplication_project_admin = md_MsgSubmitClassApplication.Fields().ByName("project_admin") + fd_MsgSubmitClassApplication_project_id = md_MsgSubmitClassApplication.Fields().ByName("project_id") + fd_MsgSubmitClassApplication_class_id = md_MsgSubmitClassApplication.Fields().ByName("class_id") + fd_MsgSubmitClassApplication_issuer = md_MsgSubmitClassApplication.Fields().ByName("issuer") + fd_MsgSubmitClassApplication_metadata = md_MsgSubmitClassApplication.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgMintBatchCredits)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSubmitClassApplication)(nil) -type fastReflection_MsgMintBatchCredits MsgMintBatchCredits +type fastReflection_MsgSubmitClassApplication MsgSubmitClassApplication -func (x *MsgMintBatchCredits) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgMintBatchCredits)(x) +func (x *MsgSubmitClassApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSubmitClassApplication)(x) } -func (x *MsgMintBatchCredits) slowProtoReflect() protoreflect.Message { +func (x *MsgSubmitClassApplication) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4624,43 +4210,43 @@ func (x *MsgMintBatchCredits) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgMintBatchCredits_messageType fastReflection_MsgMintBatchCredits_messageType -var _ protoreflect.MessageType = fastReflection_MsgMintBatchCredits_messageType{} +var _fastReflection_MsgSubmitClassApplication_messageType fastReflection_MsgSubmitClassApplication_messageType +var _ protoreflect.MessageType = fastReflection_MsgSubmitClassApplication_messageType{} -type fastReflection_MsgMintBatchCredits_messageType struct{} +type fastReflection_MsgSubmitClassApplication_messageType struct{} -func (x fastReflection_MsgMintBatchCredits_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgMintBatchCredits)(nil) +func (x fastReflection_MsgSubmitClassApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSubmitClassApplication)(nil) } -func (x fastReflection_MsgMintBatchCredits_messageType) New() protoreflect.Message { - return new(fastReflection_MsgMintBatchCredits) +func (x fastReflection_MsgSubmitClassApplication_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSubmitClassApplication) } -func (x fastReflection_MsgMintBatchCredits_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgMintBatchCredits +func (x fastReflection_MsgSubmitClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitClassApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgMintBatchCredits) Descriptor() protoreflect.MessageDescriptor { - return md_MsgMintBatchCredits +func (x *fastReflection_MsgSubmitClassApplication) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitClassApplication } // 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_MsgMintBatchCredits) Type() protoreflect.MessageType { - return _fastReflection_MsgMintBatchCredits_messageType +func (x *fastReflection_MsgSubmitClassApplication) Type() protoreflect.MessageType { + return _fastReflection_MsgSubmitClassApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgMintBatchCredits) New() protoreflect.Message { - return new(fastReflection_MsgMintBatchCredits) +func (x *fastReflection_MsgSubmitClassApplication) New() protoreflect.Message { + return new(fastReflection_MsgSubmitClassApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgMintBatchCredits) Interface() protoreflect.ProtoMessage { - return (*MsgMintBatchCredits)(x) +func (x *fastReflection_MsgSubmitClassApplication) Interface() protoreflect.ProtoMessage { + return (*MsgSubmitClassApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -4668,28 +4254,34 @@ func (x *fastReflection_MsgMintBatchCredits) Interface() protoreflect.ProtoMessa // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgMintBatchCredits) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgMintBatchCredits_issuer, value) { +func (x *fastReflection_MsgSubmitClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectAdmin != "" { + value := protoreflect.ValueOfString(x.ProjectAdmin) + if !f(fd_MsgSubmitClassApplication_project_admin, value) { return } } - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgMintBatchCredits_batch_denom, value) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgSubmitClassApplication_project_id, value) { return } } - if len(x.Issuance) != 0 { - value := protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{list: &x.Issuance}) - if !f(fd_MsgMintBatchCredits_issuance, value) { + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgSubmitClassApplication_class_id, value) { return } } - if x.OriginTx != nil { - value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - if !f(fd_MsgMintBatchCredits_origin_tx, value) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgSubmitClassApplication_issuer, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgSubmitClassApplication_metadata, value) { return } } @@ -4706,21 +4298,23 @@ func (x *fastReflection_MsgMintBatchCredits) Range(f func(protoreflect.FieldDesc // 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_MsgMintBatchCredits) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSubmitClassApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + return x.ProjectAdmin != "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": return x.Issuer != "" - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": - return x.BatchDenom != "" - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - return len(x.Issuance) != 0 - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - return x.OriginTx != nil + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) } } @@ -4730,21 +4324,23 @@ func (x *fastReflection_MsgMintBatchCredits) Has(fd protoreflect.FieldDescriptor // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCredits) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSubmitClassApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + x.ProjectAdmin = "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": x.Issuer = "" - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": - x.BatchDenom = "" - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - x.Issuance = nil - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - x.OriginTx = nil + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) } } @@ -4754,28 +4350,28 @@ func (x *fastReflection_MsgMintBatchCredits) Clear(fd protoreflect.FieldDescript // 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_MsgMintBatchCredits) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + value := x.ProjectAdmin + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": - value := x.BatchDenom + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + value := x.Metadata return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - if len(x.Issuance) == 0 { - return protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{}) - } - listValue := &_MsgMintBatchCredits_3_list{list: &x.Issuance} - return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - value := x.OriginTx - return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", descriptor.FullName())) } } @@ -4789,23 +4385,23 @@ func (x *fastReflection_MsgMintBatchCredits) Get(descriptor protoreflect.FieldDe // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCredits) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSubmitClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + x.ProjectAdmin = value.Interface().(string) + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": - x.BatchDenom = value.Interface().(string) - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - lv := value.List() - clv := lv.(*_MsgMintBatchCredits_3_list) - x.Issuance = *clv.list - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - x.OriginTx = value.Message().Interface().(*OriginTx) + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) } } @@ -4819,61 +4415,56 @@ func (x *fastReflection_MsgMintBatchCredits) Set(fd protoreflect.FieldDescriptor // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCredits) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - if x.Issuance == nil { - x.Issuance = []*BatchIssuance{} - } - value := &_MsgMintBatchCredits_3_list{list: &x.Issuance} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - if x.OriginTx == nil { - x.OriginTx = new(OriginTx) - } - return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgMintBatchCredits is not mutable")) - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgMintBatchCredits is not mutable")) + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication 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_MsgMintBatchCredits) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": - list := []*BatchIssuance{} - return protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{list: &list}) - case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": - m := new(OriginTx) - return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication 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_MsgMintBatchCredits) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSubmitClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgMintBatchCredits", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSubmitClassApplication", d.FullName())) } panic("unreachable") } @@ -4881,7 +4472,7 @@ func (x *fastReflection_MsgMintBatchCredits) WhichOneof(d protoreflect.OneofDesc // 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_MsgMintBatchCredits) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSubmitClassApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4892,7 +4483,7 @@ func (x *fastReflection_MsgMintBatchCredits) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCredits) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSubmitClassApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4904,7 +4495,7 @@ func (x *fastReflection_MsgMintBatchCredits) SetUnknown(fields protoreflect.RawF // 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_MsgMintBatchCredits) IsValid() bool { +func (x *fastReflection_MsgSubmitClassApplication) IsValid() bool { return x != nil } @@ -4914,9 +4505,9 @@ func (x *fastReflection_MsgMintBatchCredits) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgMintBatchCredits) + x := input.Message.Interface().(*MsgSubmitClassApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4928,22 +4519,24 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods var n int var l int _ = l - l = len(x.Issuer) + l = len(x.ProjectAdmin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.BatchDenom) + l = len(x.ProjectId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Issuance) > 0 { - for _, e := range x.Issuance { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.OriginTx != nil { - l = options.Size(x.OriginTx) + l = len(x.Issuer) + 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 { @@ -4956,7 +4549,7 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgMintBatchCredits) + x := input.Message.Interface().(*MsgSubmitClassApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4975,47 +4568,38 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.OriginTx != nil { - encoded, err := options.Marshal(x.OriginTx) - 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))) + 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.Issuer) > 0 { + i -= len(x.Issuer) + copy(dAtA[i:], x.Issuer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) i-- dAtA[i] = 0x22 } - if len(x.Issuance) > 0 { - for iNdEx := len(x.Issuance) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Issuance[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } + if len(x.ClassId) > 0 { + i -= len(x.ClassId) + copy(dAtA[i:], x.ClassId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassId))) + i-- + dAtA[i] = 0x1a } - if len(x.BatchDenom) > 0 { - i -= len(x.BatchDenom) - copy(dAtA[i:], x.BatchDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + 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] = 0x12 } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + if len(x.ProjectAdmin) > 0 { + i -= len(x.ProjectAdmin) + copy(dAtA[i:], x.ProjectAdmin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectAdmin))) i-- dAtA[i] = 0xa } @@ -5030,7 +4614,7 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgMintBatchCredits) + x := input.Message.Interface().(*MsgSubmitClassApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5062,15 +4646,15 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCredits: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCredits: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplication: 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 Issuer", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5098,11 +4682,11 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Issuer = string(dAtA[iNdEx:postIndex]) + x.ProjectAdmin = 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 BatchDenom", wireType) + 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 { @@ -5130,13 +4714,13 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.BatchDenom = string(dAtA[iNdEx:postIndex]) + x.ProjectId = 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 Issuance", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -5146,31 +4730,29 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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.Issuance = append(x.Issuance, &BatchIssuance{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Issuance[len(x.Issuance)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.ClassId = 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 OriginTx", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -5180,27 +4762,55 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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 } - if x.OriginTx == nil { - x.OriginTx = &OriginTx{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + x.Issuer = 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 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.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -5238,23 +4848,25 @@ func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods } var ( - md_MsgMintBatchCreditsResponse protoreflect.MessageDescriptor + md_MsgSubmitClassApplicationResponse protoreflect.MessageDescriptor + fd_MsgSubmitClassApplicationResponse_application_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgMintBatchCreditsResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgMintBatchCreditsResponse") + md_MsgSubmitClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSubmitClassApplicationResponse") + fd_MsgSubmitClassApplicationResponse_application_id = md_MsgSubmitClassApplicationResponse.Fields().ByName("application_id") } -var _ protoreflect.Message = (*fastReflection_MsgMintBatchCreditsResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSubmitClassApplicationResponse)(nil) -type fastReflection_MsgMintBatchCreditsResponse MsgMintBatchCreditsResponse +type fastReflection_MsgSubmitClassApplicationResponse MsgSubmitClassApplicationResponse -func (x *MsgMintBatchCreditsResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgMintBatchCreditsResponse)(x) +func (x *MsgSubmitClassApplicationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSubmitClassApplicationResponse)(x) } -func (x *MsgMintBatchCreditsResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgSubmitClassApplicationResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5266,43 +4878,43 @@ func (x *MsgMintBatchCreditsResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgMintBatchCreditsResponse_messageType fastReflection_MsgMintBatchCreditsResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgMintBatchCreditsResponse_messageType{} +var _fastReflection_MsgSubmitClassApplicationResponse_messageType fastReflection_MsgSubmitClassApplicationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSubmitClassApplicationResponse_messageType{} -type fastReflection_MsgMintBatchCreditsResponse_messageType struct{} +type fastReflection_MsgSubmitClassApplicationResponse_messageType struct{} -func (x fastReflection_MsgMintBatchCreditsResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgMintBatchCreditsResponse)(nil) +func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSubmitClassApplicationResponse)(nil) } -func (x fastReflection_MsgMintBatchCreditsResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgMintBatchCreditsResponse) +func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSubmitClassApplicationResponse) } -func (x fastReflection_MsgMintBatchCreditsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgMintBatchCreditsResponse +func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitClassApplicationResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgMintBatchCreditsResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgMintBatchCreditsResponse +func (x *fastReflection_MsgSubmitClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSubmitClassApplicationResponse } // 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_MsgMintBatchCreditsResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgMintBatchCreditsResponse_messageType +func (x *fastReflection_MsgSubmitClassApplicationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSubmitClassApplicationResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgMintBatchCreditsResponse) New() protoreflect.Message { - return new(fastReflection_MsgMintBatchCreditsResponse) +func (x *fastReflection_MsgSubmitClassApplicationResponse) New() protoreflect.Message { + return new(fastReflection_MsgSubmitClassApplicationResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgMintBatchCreditsResponse) Interface() protoreflect.ProtoMessage { - return (*MsgMintBatchCreditsResponse)(x) +func (x *fastReflection_MsgSubmitClassApplicationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSubmitClassApplicationResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -5310,7 +4922,13 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgMintBatchCreditsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ApplicationId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ApplicationId) + if !f(fd_MsgSubmitClassApplicationResponse_application_id, value) { + return + } + } } // Has reports whether a field is populated. @@ -5324,13 +4942,15 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Range(f func(protoreflect.F // 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_MsgMintBatchCreditsResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + return x.ApplicationId != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -5340,13 +4960,15 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCreditsResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + x.ApplicationId = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -5356,13 +4978,16 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Clear(fd protoreflect.Field // 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_MsgMintBatchCreditsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + value := x.ApplicationId + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", descriptor.FullName())) } } @@ -5376,13 +5001,15 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCreditsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + x.ApplicationId = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -5396,36 +5023,40 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCreditsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgSubmitClassApplicationResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse 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_MsgMintBatchCreditsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSubmitClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse 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_MsgMintBatchCreditsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSubmitClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgMintBatchCreditsResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSubmitClassApplicationResponse", d.FullName())) } panic("unreachable") } @@ -5433,7 +5064,7 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) WhichOneof(d protoreflect.O // 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_MsgMintBatchCreditsResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSubmitClassApplicationResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5444,7 +5075,7 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgMintBatchCreditsResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSubmitClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5456,7 +5087,7 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) SetUnknown(fields protorefl // 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_MsgMintBatchCreditsResponse) IsValid() bool { +func (x *fastReflection_MsgSubmitClassApplicationResponse) IsValid() bool { return x != nil } @@ -5466,9 +5097,9 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgMintBatchCreditsResponse) + x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5480,6 +5111,9 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. var n int var l int _ = l + if x.ApplicationId != 0 { + n += 1 + runtime.Sov(uint64(x.ApplicationId)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5490,7 +5124,7 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgMintBatchCreditsResponse) + x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5509,6 +5143,11 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.ApplicationId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) + i-- + dAtA[i] = 0x8 + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -5520,7 +5159,7 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgMintBatchCreditsResponse) + x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5552,12 +5191,31 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCreditsResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCreditsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplicationResponse: 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 ApplicationId", wireType) + } + x.ApplicationId = 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.ApplicationId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5594,27 +5252,29 @@ func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface. } var ( - md_MsgSealBatch protoreflect.MessageDescriptor - fd_MsgSealBatch_issuer protoreflect.FieldDescriptor - fd_MsgSealBatch_batch_denom protoreflect.FieldDescriptor + md_MsgUpdateClassApplication protoreflect.MessageDescriptor + fd_MsgUpdateClassApplication_project_admin protoreflect.FieldDescriptor + fd_MsgUpdateClassApplication_application_id protoreflect.FieldDescriptor + fd_MsgUpdateClassApplication_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSealBatch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSealBatch") - fd_MsgSealBatch_issuer = md_MsgSealBatch.Fields().ByName("issuer") - fd_MsgSealBatch_batch_denom = md_MsgSealBatch.Fields().ByName("batch_denom") + md_MsgUpdateClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassApplication") + fd_MsgUpdateClassApplication_project_admin = md_MsgUpdateClassApplication.Fields().ByName("project_admin") + fd_MsgUpdateClassApplication_application_id = md_MsgUpdateClassApplication.Fields().ByName("application_id") + fd_MsgUpdateClassApplication_metadata = md_MsgUpdateClassApplication.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgSealBatch)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassApplication)(nil) -type fastReflection_MsgSealBatch MsgSealBatch +type fastReflection_MsgUpdateClassApplication MsgUpdateClassApplication -func (x *MsgSealBatch) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSealBatch)(x) +func (x *MsgUpdateClassApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassApplication)(x) } -func (x *MsgSealBatch) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassApplication) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5626,43 +5286,43 @@ func (x *MsgSealBatch) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSealBatch_messageType fastReflection_MsgSealBatch_messageType -var _ protoreflect.MessageType = fastReflection_MsgSealBatch_messageType{} +var _fastReflection_MsgUpdateClassApplication_messageType fastReflection_MsgUpdateClassApplication_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassApplication_messageType{} -type fastReflection_MsgSealBatch_messageType struct{} +type fastReflection_MsgUpdateClassApplication_messageType struct{} -func (x fastReflection_MsgSealBatch_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSealBatch)(nil) +func (x fastReflection_MsgUpdateClassApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassApplication)(nil) } -func (x fastReflection_MsgSealBatch_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSealBatch) +func (x fastReflection_MsgUpdateClassApplication_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassApplication) } -func (x fastReflection_MsgSealBatch_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSealBatch +func (x fastReflection_MsgUpdateClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSealBatch) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSealBatch +func (x *fastReflection_MsgUpdateClassApplication) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassApplication } // 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_MsgSealBatch) Type() protoreflect.MessageType { - return _fastReflection_MsgSealBatch_messageType +func (x *fastReflection_MsgUpdateClassApplication) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSealBatch) New() protoreflect.Message { - return new(fastReflection_MsgSealBatch) +func (x *fastReflection_MsgUpdateClassApplication) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSealBatch) Interface() protoreflect.ProtoMessage { - return (*MsgSealBatch)(x) +func (x *fastReflection_MsgUpdateClassApplication) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -5670,16 +5330,22 @@ func (x *fastReflection_MsgSealBatch) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSealBatch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgSealBatch_issuer, value) { +func (x *fastReflection_MsgUpdateClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectAdmin != "" { + value := protoreflect.ValueOfString(x.ProjectAdmin) + if !f(fd_MsgUpdateClassApplication_project_admin, value) { return } } - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgSealBatch_batch_denom, value) { + if x.ApplicationId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ApplicationId) + if !f(fd_MsgUpdateClassApplication_application_id, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgUpdateClassApplication_metadata, value) { return } } @@ -5696,17 +5362,19 @@ func (x *fastReflection_MsgSealBatch) Range(f func(protoreflect.FieldDescriptor, // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgSealBatch) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": - return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + return x.ProjectAdmin != "" + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + return x.ApplicationId != uint64(0) + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": + return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) } } @@ -5716,17 +5384,19 @@ func (x *fastReflection_MsgSealBatch) Has(fd protoreflect.FieldDescriptor) bool // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatch) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": - x.BatchDenom = "" + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + x.ProjectAdmin = "" + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + x.ApplicationId = uint64(0) + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": + x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) } } @@ -5736,19 +5406,22 @@ func (x *fastReflection_MsgSealBatch) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSealBatch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": - value := x.Issuer + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": - value := x.BatchDenom + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + value := x.ApplicationId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": + value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", descriptor.FullName())) } } @@ -5762,17 +5435,19 @@ func (x *fastReflection_MsgSealBatch) Get(descriptor protoreflect.FieldDescripto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": - x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + x.ProjectAdmin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + x.ApplicationId = value.Uint() + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) } } @@ -5786,44 +5461,48 @@ func (x *fastReflection_MsgSealBatch) Set(fd protoreflect.FieldDescriptor, value // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgSealBatch is not mutable")) - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgSealBatch is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication 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_MsgSealBatch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSealBatch.issuer": + case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication 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_MsgSealBatch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSealBatch", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassApplication", d.FullName())) } panic("unreachable") } @@ -5831,7 +5510,7 @@ func (x *fastReflection_MsgSealBatch) WhichOneof(d protoreflect.OneofDescriptor) // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgSealBatch) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5842,7 +5521,7 @@ func (x *fastReflection_MsgSealBatch) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatch) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5854,7 +5533,7 @@ func (x *fastReflection_MsgSealBatch) SetUnknown(fields protoreflect.RawFields) // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgSealBatch) IsValid() bool { +func (x *fastReflection_MsgUpdateClassApplication) IsValid() bool { return x != nil } @@ -5864,9 +5543,9 @@ func (x *fastReflection_MsgSealBatch) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSealBatch) + x := input.Message.Interface().(*MsgUpdateClassApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5878,11 +5557,14 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Issuer) + l = len(x.ProjectAdmin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.BatchDenom) + if x.ApplicationId != 0 { + n += 1 + runtime.Sov(uint64(x.ApplicationId)) + } + l = len(x.Metadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -5896,7 +5578,7 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSealBatch) + x := input.Message.Interface().(*MsgUpdateClassApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5915,17 +5597,22 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.BatchDenom) > 0 { - i -= len(x.BatchDenom) - copy(dAtA[i:], x.BatchDenom) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + 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] = 0x12 + dAtA[i] = 0x1a } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + if x.ApplicationId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) + i-- + dAtA[i] = 0x10 + } + if len(x.ProjectAdmin) > 0 { + i -= len(x.ProjectAdmin) + copy(dAtA[i:], x.ProjectAdmin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectAdmin))) i-- dAtA[i] = 0xa } @@ -5940,7 +5627,7 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSealBatch) + x := input.Message.Interface().(*MsgUpdateClassApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5972,15 +5659,15 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatch: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatch: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplication: 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 Issuer", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6008,11 +5695,30 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Issuer = string(dAtA[iNdEx:postIndex]) + x.ProjectAdmin = 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 ApplicationId", wireType) + } + x.ApplicationId = 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.ApplicationId |= 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) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6040,7 +5746,7 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.BatchDenom = string(dAtA[iNdEx:postIndex]) + x.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -6078,23 +5784,23 @@ func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { } var ( - md_MsgSealBatchResponse protoreflect.MessageDescriptor + md_MsgUpdateClassApplicationResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSealBatchResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSealBatchResponse") + md_MsgUpdateClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassApplicationResponse") } -var _ protoreflect.Message = (*fastReflection_MsgSealBatchResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassApplicationResponse)(nil) -type fastReflection_MsgSealBatchResponse MsgSealBatchResponse +type fastReflection_MsgUpdateClassApplicationResponse MsgUpdateClassApplicationResponse -func (x *MsgSealBatchResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSealBatchResponse)(x) +func (x *MsgUpdateClassApplicationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassApplicationResponse)(x) } -func (x *MsgSealBatchResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassApplicationResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6106,43 +5812,43 @@ func (x *MsgSealBatchResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSealBatchResponse_messageType fastReflection_MsgSealBatchResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSealBatchResponse_messageType{} +var _fastReflection_MsgUpdateClassApplicationResponse_messageType fastReflection_MsgUpdateClassApplicationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassApplicationResponse_messageType{} -type fastReflection_MsgSealBatchResponse_messageType struct{} +type fastReflection_MsgUpdateClassApplicationResponse_messageType struct{} -func (x fastReflection_MsgSealBatchResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSealBatchResponse)(nil) +func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassApplicationResponse)(nil) } -func (x fastReflection_MsgSealBatchResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSealBatchResponse) +func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassApplicationResponse) } -func (x fastReflection_MsgSealBatchResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSealBatchResponse +func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassApplicationResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSealBatchResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSealBatchResponse +func (x *fastReflection_MsgUpdateClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassApplicationResponse } // 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_MsgSealBatchResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSealBatchResponse_messageType +func (x *fastReflection_MsgUpdateClassApplicationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassApplicationResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSealBatchResponse) New() protoreflect.Message { - return new(fastReflection_MsgSealBatchResponse) +func (x *fastReflection_MsgUpdateClassApplicationResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassApplicationResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSealBatchResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSealBatchResponse)(x) +func (x *fastReflection_MsgUpdateClassApplicationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassApplicationResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -6150,7 +5856,7 @@ func (x *fastReflection_MsgSealBatchResponse) Interface() protoreflect.ProtoMess // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSealBatchResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -6164,13 +5870,13 @@ func (x *fastReflection_MsgSealBatchResponse) Range(f func(protoreflect.FieldDes // 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_MsgSealBatchResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -6180,13 +5886,13 @@ func (x *fastReflection_MsgSealBatchResponse) Has(fd protoreflect.FieldDescripto // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatchResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -6196,13 +5902,13 @@ func (x *fastReflection_MsgSealBatchResponse) Clear(fd protoreflect.FieldDescrip // 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_MsgSealBatchResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", descriptor.FullName())) } } @@ -6216,13 +5922,13 @@ func (x *fastReflection_MsgSealBatchResponse) Get(descriptor protoreflect.FieldD // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatchResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -6236,36 +5942,36 @@ func (x *fastReflection_MsgSealBatchResponse) Set(fd protoreflect.FieldDescripto // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatchResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse 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_MsgSealBatchResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse 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_MsgSealBatchResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSealBatchResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassApplicationResponse", d.FullName())) } panic("unreachable") } @@ -6273,7 +5979,7 @@ func (x *fastReflection_MsgSealBatchResponse) WhichOneof(d protoreflect.OneofDes // 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_MsgSealBatchResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassApplicationResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6284,7 +5990,7 @@ func (x *fastReflection_MsgSealBatchResponse) GetUnknown() protoreflect.RawField // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSealBatchResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6296,7 +6002,7 @@ func (x *fastReflection_MsgSealBatchResponse) SetUnknown(fields protoreflect.Raw // 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_MsgSealBatchResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateClassApplicationResponse) IsValid() bool { return x != nil } @@ -6306,9 +6012,9 @@ func (x *fastReflection_MsgSealBatchResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSealBatchResponse) + x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6330,7 +6036,7 @@ func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSealBatchResponse) + x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6360,7 +6066,7 @@ func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSealBatchResponse) + x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6392,10 +6098,10 @@ func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatchResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -6433,81 +6139,28 @@ func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods } } -var _ protoreflect.List = (*_MsgSend_3_list)(nil) - -type _MsgSend_3_list struct { - list *[]*MsgSend_SendCredits -} - -func (x *_MsgSend_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgSend_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgSend_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*MsgSend_SendCredits) - (*x.list)[i] = concreteValue -} - -func (x *_MsgSend_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*MsgSend_SendCredits) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgSend_3_list) AppendMutable() protoreflect.Value { - v := new(MsgSend_SendCredits) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgSend_3_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgSend_3_list) NewElement() protoreflect.Value { - v := new(MsgSend_SendCredits) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgSend_3_list) IsValid() bool { - return x.list != nil -} - var ( - md_MsgSend protoreflect.MessageDescriptor - fd_MsgSend_sender protoreflect.FieldDescriptor - fd_MsgSend_recipient protoreflect.FieldDescriptor - fd_MsgSend_credits protoreflect.FieldDescriptor + md_MsgWithdrawClassApplication protoreflect.MessageDescriptor + fd_MsgWithdrawClassApplication_project_admin protoreflect.FieldDescriptor + fd_MsgWithdrawClassApplication_application_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSend = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSend") - fd_MsgSend_sender = md_MsgSend.Fields().ByName("sender") - fd_MsgSend_recipient = md_MsgSend.Fields().ByName("recipient") - fd_MsgSend_credits = md_MsgSend.Fields().ByName("credits") + md_MsgWithdrawClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawClassApplication") + fd_MsgWithdrawClassApplication_project_admin = md_MsgWithdrawClassApplication.Fields().ByName("project_admin") + fd_MsgWithdrawClassApplication_application_id = md_MsgWithdrawClassApplication.Fields().ByName("application_id") } -var _ protoreflect.Message = (*fastReflection_MsgSend)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawClassApplication)(nil) -type fastReflection_MsgSend MsgSend +type fastReflection_MsgWithdrawClassApplication MsgWithdrawClassApplication -func (x *MsgSend) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSend)(x) +func (x *MsgWithdrawClassApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawClassApplication)(x) } -func (x *MsgSend) slowProtoReflect() protoreflect.Message { +func (x *MsgWithdrawClassApplication) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6519,43 +6172,43 @@ func (x *MsgSend) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSend_messageType fastReflection_MsgSend_messageType -var _ protoreflect.MessageType = fastReflection_MsgSend_messageType{} +var _fastReflection_MsgWithdrawClassApplication_messageType fastReflection_MsgWithdrawClassApplication_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawClassApplication_messageType{} -type fastReflection_MsgSend_messageType struct{} +type fastReflection_MsgWithdrawClassApplication_messageType struct{} -func (x fastReflection_MsgSend_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSend)(nil) +func (x fastReflection_MsgWithdrawClassApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawClassApplication)(nil) } -func (x fastReflection_MsgSend_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSend) +func (x fastReflection_MsgWithdrawClassApplication_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawClassApplication) } -func (x fastReflection_MsgSend_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSend +func (x fastReflection_MsgWithdrawClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawClassApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSend) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSend +func (x *fastReflection_MsgWithdrawClassApplication) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawClassApplication } // 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_MsgSend) Type() protoreflect.MessageType { - return _fastReflection_MsgSend_messageType +func (x *fastReflection_MsgWithdrawClassApplication) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawClassApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSend) New() protoreflect.Message { - return new(fastReflection_MsgSend) +func (x *fastReflection_MsgWithdrawClassApplication) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawClassApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSend) Interface() protoreflect.ProtoMessage { - return (*MsgSend)(x) +func (x *fastReflection_MsgWithdrawClassApplication) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawClassApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -6563,22 +6216,16 @@ func (x *fastReflection_MsgSend) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSend) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Sender != "" { - value := protoreflect.ValueOfString(x.Sender) - if !f(fd_MsgSend_sender, value) { - return - } - } - if x.Recipient != "" { - value := protoreflect.ValueOfString(x.Recipient) - if !f(fd_MsgSend_recipient, value) { +func (x *fastReflection_MsgWithdrawClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectAdmin != "" { + value := protoreflect.ValueOfString(x.ProjectAdmin) + if !f(fd_MsgWithdrawClassApplication_project_admin, value) { return } } - if len(x.Credits) != 0 { - value := protoreflect.ValueOfList(&_MsgSend_3_list{list: &x.Credits}) - if !f(fd_MsgSend_credits, value) { + if x.ApplicationId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ApplicationId) + if !f(fd_MsgWithdrawClassApplication_application_id, value) { return } } @@ -6595,19 +6242,17 @@ func (x *fastReflection_MsgSend) Range(f func(protoreflect.FieldDescriptor, prot // 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_MsgSend) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawClassApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.sender": - return x.Sender != "" - case "regen.ecocredit.v1.MsgSend.recipient": - return x.Recipient != "" - case "regen.ecocredit.v1.MsgSend.credits": - return len(x.Credits) != 0 + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + return x.ProjectAdmin != "" + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + return x.ApplicationId != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) } } @@ -6617,19 +6262,17 @@ func (x *fastReflection_MsgSend) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawClassApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.sender": - x.Sender = "" - case "regen.ecocredit.v1.MsgSend.recipient": - x.Recipient = "" - case "regen.ecocredit.v1.MsgSend.credits": - x.Credits = nil + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + x.ProjectAdmin = "" + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + x.ApplicationId = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) } } @@ -6639,25 +6282,19 @@ func (x *fastReflection_MsgSend) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSend) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSend.sender": - value := x.Sender + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.recipient": - value := x.Recipient - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.credits": - if len(x.Credits) == 0 { - return protoreflect.ValueOfList(&_MsgSend_3_list{}) - } - listValue := &_MsgSend_3_list{list: &x.Credits} - return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + value := x.ApplicationId + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", descriptor.FullName())) } } @@ -6671,21 +6308,17 @@ func (x *fastReflection_MsgSend) Get(descriptor protoreflect.FieldDescriptor) pr // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.sender": - x.Sender = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.recipient": - x.Recipient = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.credits": - lv := value.List() - clv := lv.(*_MsgSend_3_list) - x.Credits = *clv.list + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + x.ProjectAdmin = value.Interface().(string) + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + x.ApplicationId = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) } } @@ -6699,53 +6332,44 @@ func (x *fastReflection_MsgSend) Set(fd protoreflect.FieldDescriptor, value prot // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.credits": - if x.Credits == nil { - x.Credits = []*MsgSend_SendCredits{} - } - value := &_MsgSend_3_list{list: &x.Credits} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgSend.sender": - panic(fmt.Errorf("field sender of message regen.ecocredit.v1.MsgSend is not mutable")) - case "regen.ecocredit.v1.MsgSend.recipient": - panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgSend is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawClassApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication 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_MsgSend) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.sender": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.recipient": + case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.credits": - list := []*MsgSend_SendCredits{} - return protoreflect.ValueOfList(&_MsgSend_3_list{list: &list}) + case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication 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_MsgSend) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSend", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawClassApplication", d.FullName())) } panic("unreachable") } @@ -6753,7 +6377,7 @@ func (x *fastReflection_MsgSend) WhichOneof(d protoreflect.OneofDescriptor) prot // 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_MsgSend) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawClassApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6764,7 +6388,7 @@ func (x *fastReflection_MsgSend) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawClassApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6776,7 +6400,7 @@ func (x *fastReflection_MsgSend) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgSend) IsValid() bool { +func (x *fastReflection_MsgWithdrawClassApplication) IsValid() bool { return x != nil } @@ -6786,9 +6410,9 @@ func (x *fastReflection_MsgSend) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSend) + x := input.Message.Interface().(*MsgWithdrawClassApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6800,19 +6424,12 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Sender) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Recipient) + l = len(x.ProjectAdmin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Credits) > 0 { - for _, e := range x.Credits { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } + if x.ApplicationId != 0 { + n += 1 + runtime.Sov(uint64(x.ApplicationId)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -6824,7 +6441,7 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSend) + x := input.Message.Interface().(*MsgWithdrawClassApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6843,33 +6460,15 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Credits) > 0 { - for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Credits[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } - } - if len(x.Recipient) > 0 { - i -= len(x.Recipient) - copy(dAtA[i:], x.Recipient) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) + if x.ApplicationId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(x.Sender) > 0 { - i -= len(x.Sender) - copy(dAtA[i:], x.Sender) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Sender))) + if len(x.ProjectAdmin) > 0 { + i -= len(x.ProjectAdmin) + copy(dAtA[i:], x.ProjectAdmin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectAdmin))) i-- dAtA[i] = 0xa } @@ -6884,7 +6483,7 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSend) + x := input.Message.Interface().(*MsgWithdrawClassApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6916,15 +6515,15 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplication: 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 Sender", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6952,45 +6551,13 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Sender = string(dAtA[iNdEx:postIndex]) + x.ProjectAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Recipient", wireType) + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Recipient = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", wireType) - } - var msglen int + x.ApplicationId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -7000,26 +6567,11 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + x.ApplicationId |= uint64(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.Credits = append(x.Credits, &MsgSend_SendCredits{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7056,34 +6608,24 @@ func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { } var ( - md_MsgSend_SendCredits protoreflect.MessageDescriptor - fd_MsgSend_SendCredits_batch_denom protoreflect.FieldDescriptor - fd_MsgSend_SendCredits_tradable_amount protoreflect.FieldDescriptor - fd_MsgSend_SendCredits_retired_amount protoreflect.FieldDescriptor - fd_MsgSend_SendCredits_retirement_jurisdiction protoreflect.FieldDescriptor - fd_MsgSend_SendCredits_retirement_reason protoreflect.FieldDescriptor + md_MsgWithdrawClassApplicationResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSend_SendCredits = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSend").Messages().ByName("SendCredits") - fd_MsgSend_SendCredits_batch_denom = md_MsgSend_SendCredits.Fields().ByName("batch_denom") - fd_MsgSend_SendCredits_tradable_amount = md_MsgSend_SendCredits.Fields().ByName("tradable_amount") - fd_MsgSend_SendCredits_retired_amount = md_MsgSend_SendCredits.Fields().ByName("retired_amount") - fd_MsgSend_SendCredits_retirement_jurisdiction = md_MsgSend_SendCredits.Fields().ByName("retirement_jurisdiction") - fd_MsgSend_SendCredits_retirement_reason = md_MsgSend_SendCredits.Fields().ByName("retirement_reason") + md_MsgWithdrawClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawClassApplicationResponse") } -var _ protoreflect.Message = (*fastReflection_MsgSend_SendCredits)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawClassApplicationResponse)(nil) -type fastReflection_MsgSend_SendCredits MsgSend_SendCredits +type fastReflection_MsgWithdrawClassApplicationResponse MsgWithdrawClassApplicationResponse -func (x *MsgSend_SendCredits) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSend_SendCredits)(x) +func (x *MsgWithdrawClassApplicationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawClassApplicationResponse)(x) } -func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] +func (x *MsgWithdrawClassApplicationResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7094,43 +6636,43 @@ func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSend_SendCredits_messageType fastReflection_MsgSend_SendCredits_messageType -var _ protoreflect.MessageType = fastReflection_MsgSend_SendCredits_messageType{} +var _fastReflection_MsgWithdrawClassApplicationResponse_messageType fastReflection_MsgWithdrawClassApplicationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawClassApplicationResponse_messageType{} -type fastReflection_MsgSend_SendCredits_messageType struct{} +type fastReflection_MsgWithdrawClassApplicationResponse_messageType struct{} -func (x fastReflection_MsgSend_SendCredits_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSend_SendCredits)(nil) +func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawClassApplicationResponse)(nil) } -func (x fastReflection_MsgSend_SendCredits_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSend_SendCredits) +func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawClassApplicationResponse) } -func (x fastReflection_MsgSend_SendCredits_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSend_SendCredits +func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawClassApplicationResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSend_SendCredits) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSend_SendCredits +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawClassApplicationResponse } // 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_MsgSend_SendCredits) Type() protoreflect.MessageType { - return _fastReflection_MsgSend_SendCredits_messageType +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawClassApplicationResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSend_SendCredits) New() protoreflect.Message { - return new(fastReflection_MsgSend_SendCredits) +func (x *fastReflection_MsgWithdrawClassApplicationResponse) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawClassApplicationResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSend_SendCredits) Interface() protoreflect.ProtoMessage { - return (*MsgSend_SendCredits)(x) +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawClassApplicationResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -7138,37 +6680,7 @@ func (x *fastReflection_MsgSend_SendCredits) Interface() protoreflect.ProtoMessa // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSend_SendCredits) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgSend_SendCredits_batch_denom, value) { - return - } - } - if x.TradableAmount != "" { - value := protoreflect.ValueOfString(x.TradableAmount) - if !f(fd_MsgSend_SendCredits_tradable_amount, value) { - return - } - } - if x.RetiredAmount != "" { - value := protoreflect.ValueOfString(x.RetiredAmount) - if !f(fd_MsgSend_SendCredits_retired_amount, value) { - return - } - } - if x.RetirementJurisdiction != "" { - value := protoreflect.ValueOfString(x.RetirementJurisdiction) - if !f(fd_MsgSend_SendCredits_retirement_jurisdiction, value) { - return - } - } - if x.RetirementReason != "" { - value := protoreflect.ValueOfString(x.RetirementReason) - if !f(fd_MsgSend_SendCredits_retirement_reason, value) { - return - } - } +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -7182,23 +6694,13 @@ func (x *fastReflection_MsgSend_SendCredits) Range(f func(protoreflect.FieldDesc // 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_MsgSend_SendCredits) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - return x.BatchDenom != "" - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - return x.TradableAmount != "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - return x.RetiredAmount != "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - return x.RetirementJurisdiction != "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - return x.RetirementReason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -7208,23 +6710,13 @@ func (x *fastReflection_MsgSend_SendCredits) Has(fd protoreflect.FieldDescriptor // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend_SendCredits) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - x.BatchDenom = "" - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - x.TradableAmount = "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - x.RetiredAmount = "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - x.RetirementJurisdiction = "" - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - x.RetirementReason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -7234,28 +6726,13 @@ func (x *fastReflection_MsgSend_SendCredits) Clear(fd protoreflect.FieldDescript // 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_MsgSend_SendCredits) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - value := x.BatchDenom - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - value := x.TradableAmount - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - value := x.RetiredAmount - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - value := x.RetirementJurisdiction - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - value := x.RetirementReason - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse does not contain field %s", descriptor.FullName())) } } @@ -7269,23 +6746,13 @@ func (x *fastReflection_MsgSend_SendCredits) Get(descriptor protoreflect.FieldDe // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend_SendCredits) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - x.BatchDenom = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - x.TradableAmount = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - x.RetiredAmount = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - x.RetirementJurisdiction = value.Interface().(string) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - x.RetirementReason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -7299,56 +6766,36 @@ func (x *fastReflection_MsgSend_SendCredits) Set(fd protoreflect.FieldDescriptor // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend_SendCredits) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - panic(fmt.Errorf("field tradable_amount of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - panic(fmt.Errorf("field retired_amount of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - panic(fmt.Errorf("field retirement_jurisdiction of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - panic(fmt.Errorf("field retirement_reason of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgSend_SendCredits) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgSend_SendCredits) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSend.SendCredits", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawClassApplicationResponse", d.FullName())) } panic("unreachable") } @@ -7356,7 +6803,7 @@ func (x *fastReflection_MsgSend_SendCredits) WhichOneof(d protoreflect.OneofDesc // 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_MsgSend_SendCredits) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -7367,7 +6814,7 @@ func (x *fastReflection_MsgSend_SendCredits) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSend_SendCredits) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -7379,7 +6826,7 @@ func (x *fastReflection_MsgSend_SendCredits) SetUnknown(fields protoreflect.RawF // 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_MsgSend_SendCredits) IsValid() bool { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) IsValid() bool { return x != nil } @@ -7389,9 +6836,9 @@ func (x *fastReflection_MsgSend_SendCredits) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawClassApplicationResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSend_SendCredits) + x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7403,26 +6850,6 @@ func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods var n int var l int _ = l - l = len(x.BatchDenom) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - 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.RetirementJurisdiction) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.RetirementReason) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -7433,7 +6860,7 @@ func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSend_SendCredits) + x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7452,58 +6879,23 @@ func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.RetirementReason) > 0 { - i -= len(x.RetirementReason) - copy(dAtA[i:], x.RetirementReason) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RetirementReason))) - i-- - dAtA[i] = 0x2a + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA } - if len(x.RetirementJurisdiction) > 0 { - i -= len(x.RetirementJurisdiction) - copy(dAtA[i:], x.RetirementJurisdiction) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RetirementJurisdiction))) - 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 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] = 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().(*MsgSend_SendCredits) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil } options := runtime.UnmarshalInputToOptions(input) _ = options @@ -7530,172 +6922,12 @@ func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend_SendCredits: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend_SendCredits: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: 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 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 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 RetirementJurisdiction", 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.RetirementJurisdiction = 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 RetirementReason", 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.RetirementReason = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7732,24 +6964,32 @@ func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods } var ( - md_MsgSendResponse protoreflect.MessageDescriptor + md_MsgEvaluateClassApplication protoreflect.MessageDescriptor + fd_MsgEvaluateClassApplication_issuer protoreflect.FieldDescriptor + fd_MsgEvaluateClassApplication_application_id protoreflect.FieldDescriptor + fd_MsgEvaluateClassApplication_evaluation protoreflect.FieldDescriptor + fd_MsgEvaluateClassApplication_reason protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSendResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSendResponse") + md_MsgEvaluateClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateClassApplication") + fd_MsgEvaluateClassApplication_issuer = md_MsgEvaluateClassApplication.Fields().ByName("issuer") + fd_MsgEvaluateClassApplication_application_id = md_MsgEvaluateClassApplication.Fields().ByName("application_id") + fd_MsgEvaluateClassApplication_evaluation = md_MsgEvaluateClassApplication.Fields().ByName("evaluation") + fd_MsgEvaluateClassApplication_reason = md_MsgEvaluateClassApplication.Fields().ByName("reason") } -var _ protoreflect.Message = (*fastReflection_MsgSendResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateClassApplication)(nil) -type fastReflection_MsgSendResponse MsgSendResponse +type fastReflection_MsgEvaluateClassApplication MsgEvaluateClassApplication -func (x *MsgSendResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSendResponse)(x) +func (x *MsgEvaluateClassApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateClassApplication)(x) } -func (x *MsgSendResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] +func (x *MsgEvaluateClassApplication) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7760,43 +7000,43 @@ func (x *MsgSendResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSendResponse_messageType fastReflection_MsgSendResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSendResponse_messageType{} +var _fastReflection_MsgEvaluateClassApplication_messageType fastReflection_MsgEvaluateClassApplication_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateClassApplication_messageType{} -type fastReflection_MsgSendResponse_messageType struct{} +type fastReflection_MsgEvaluateClassApplication_messageType struct{} -func (x fastReflection_MsgSendResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSendResponse)(nil) +func (x fastReflection_MsgEvaluateClassApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateClassApplication)(nil) } -func (x fastReflection_MsgSendResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSendResponse) +func (x fastReflection_MsgEvaluateClassApplication_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateClassApplication) } -func (x fastReflection_MsgSendResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSendResponse +func (x fastReflection_MsgEvaluateClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateClassApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSendResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSendResponse +func (x *fastReflection_MsgEvaluateClassApplication) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateClassApplication } // 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_MsgSendResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSendResponse_messageType +func (x *fastReflection_MsgEvaluateClassApplication) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateClassApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSendResponse) New() protoreflect.Message { - return new(fastReflection_MsgSendResponse) +func (x *fastReflection_MsgEvaluateClassApplication) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateClassApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSendResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSendResponse)(x) +func (x *fastReflection_MsgEvaluateClassApplication) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateClassApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -7804,7 +7044,31 @@ func (x *fastReflection_MsgSendResponse) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSendResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEvaluateClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgEvaluateClassApplication_issuer, value) { + return + } + } + if x.ApplicationId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ApplicationId) + if !f(fd_MsgEvaluateClassApplication_application_id, value) { + return + } + } + if x.Evaluation != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Evaluation)) + if !f(fd_MsgEvaluateClassApplication_evaluation, value) { + return + } + } + if x.Reason != "" { + value := protoreflect.ValueOfString(x.Reason) + if !f(fd_MsgEvaluateClassApplication_reason, value) { + return + } + } } // Has reports whether a field is populated. @@ -7818,13 +7082,21 @@ func (x *fastReflection_MsgSendResponse) Range(f func(protoreflect.FieldDescript // 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_MsgSendResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateClassApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + return x.ApplicationId != uint64(0) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + return x.Evaluation != 0 + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + return x.Reason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication does not contain field %s", fd.FullName())) } } @@ -7834,13 +7106,21 @@ func (x *fastReflection_MsgSendResponse) Has(fd protoreflect.FieldDescriptor) bo // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSendResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateClassApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + x.ApplicationId = uint64(0) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + x.Evaluation = 0 + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + x.Reason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication does not contain field %s", fd.FullName())) } } @@ -7850,13 +7130,25 @@ func (x *fastReflection_MsgSendResponse) Clear(fd protoreflect.FieldDescriptor) // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgSendResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + value := x.ApplicationId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + value := x.Evaluation + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + value := x.Reason + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication does not contain field %s", descriptor.FullName())) } } @@ -7870,13 +7162,21 @@ func (x *fastReflection_MsgSendResponse) Get(descriptor protoreflect.FieldDescri // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSendResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + x.ApplicationId = value.Uint() + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + x.Evaluation = (ApplicationStatus)(value.Enum()) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + x.Reason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication does not contain field %s", fd.FullName())) } } @@ -7890,36 +7190,52 @@ func (x *fastReflection_MsgSendResponse) Set(fd protoreflect.FieldDescriptor, va // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSendResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgSendResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgSendResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSendResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateClassApplication", d.FullName())) } panic("unreachable") } @@ -7927,7 +7243,7 @@ func (x *fastReflection_MsgSendResponse) WhichOneof(d protoreflect.OneofDescript // 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_MsgSendResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateClassApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -7938,7 +7254,7 @@ func (x *fastReflection_MsgSendResponse) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSendResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateClassApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -7950,7 +7266,7 @@ func (x *fastReflection_MsgSendResponse) SetUnknown(fields protoreflect.RawField // 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_MsgSendResponse) IsValid() bool { +func (x *fastReflection_MsgEvaluateClassApplication) IsValid() bool { return x != nil } @@ -7960,9 +7276,9 @@ func (x *fastReflection_MsgSendResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateClassApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSendResponse) + x := input.Message.Interface().(*MsgEvaluateClassApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7974,6 +7290,20 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { var n int var l int _ = l + l = len(x.Issuer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.ApplicationId != 0 { + n += 1 + runtime.Sov(uint64(x.ApplicationId)) + } + if x.Evaluation != 0 { + n += 1 + runtime.Sov(uint64(x.Evaluation)) + } + l = len(x.Reason) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -7984,7 +7314,7 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSendResponse) + x := input.Message.Interface().(*MsgEvaluateClassApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8003,6 +7333,30 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Reason) > 0 { + i -= len(x.Reason) + copy(dAtA[i:], x.Reason) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) + i-- + dAtA[i] = 0x22 + } + if x.Evaluation != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Evaluation)) + i-- + dAtA[i] = 0x18 + } + if x.ApplicationId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) + i-- + dAtA[i] = 0x10 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -8014,7 +7368,7 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSendResponse) + x := input.Message.Interface().(*MsgEvaluateClassApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8046,12 +7400,114 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSendResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSendResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplication: 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 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 + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) + } + x.ApplicationId = 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.ApplicationId |= 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 Evaluation", wireType) + } + x.Evaluation = 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.Evaluation |= ApplicationStatus(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 Reason", 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.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -8087,84 +7543,25 @@ func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { } } -var _ protoreflect.List = (*_MsgRetire_2_list)(nil) - -type _MsgRetire_2_list struct { - list *[]*Credits -} - -func (x *_MsgRetire_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgRetire_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgRetire_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - (*x.list)[i] = concreteValue -} - -func (x *_MsgRetire_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgRetire_2_list) AppendMutable() protoreflect.Value { - v := new(Credits) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgRetire_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgRetire_2_list) NewElement() protoreflect.Value { - v := new(Credits) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgRetire_2_list) IsValid() bool { - return x.list != nil -} - var ( - md_MsgRetire protoreflect.MessageDescriptor - fd_MsgRetire_owner protoreflect.FieldDescriptor - fd_MsgRetire_credits protoreflect.FieldDescriptor - fd_MsgRetire_jurisdiction protoreflect.FieldDescriptor - fd_MsgRetire_reason protoreflect.FieldDescriptor + md_MsgEvaluateClassApplicationResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRetire = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRetire") - fd_MsgRetire_owner = md_MsgRetire.Fields().ByName("owner") - fd_MsgRetire_credits = md_MsgRetire.Fields().ByName("credits") - fd_MsgRetire_jurisdiction = md_MsgRetire.Fields().ByName("jurisdiction") - fd_MsgRetire_reason = md_MsgRetire.Fields().ByName("reason") + md_MsgEvaluateClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateClassApplicationResponse") } -var _ protoreflect.Message = (*fastReflection_MsgRetire)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateClassApplicationResponse)(nil) -type fastReflection_MsgRetire MsgRetire +type fastReflection_MsgEvaluateClassApplicationResponse MsgEvaluateClassApplicationResponse -func (x *MsgRetire) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRetire)(x) +func (x *MsgEvaluateClassApplicationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateClassApplicationResponse)(x) } -func (x *MsgRetire) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] +func (x *MsgEvaluateClassApplicationResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8175,43 +7572,43 @@ func (x *MsgRetire) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRetire_messageType fastReflection_MsgRetire_messageType -var _ protoreflect.MessageType = fastReflection_MsgRetire_messageType{} +var _fastReflection_MsgEvaluateClassApplicationResponse_messageType fastReflection_MsgEvaluateClassApplicationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateClassApplicationResponse_messageType{} -type fastReflection_MsgRetire_messageType struct{} +type fastReflection_MsgEvaluateClassApplicationResponse_messageType struct{} -func (x fastReflection_MsgRetire_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRetire)(nil) +func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateClassApplicationResponse)(nil) } -func (x fastReflection_MsgRetire_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRetire) +func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateClassApplicationResponse) } -func (x fastReflection_MsgRetire_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRetire +func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateClassApplicationResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRetire) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRetire +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateClassApplicationResponse } // 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_MsgRetire) Type() protoreflect.MessageType { - return _fastReflection_MsgRetire_messageType +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateClassApplicationResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRetire) New() protoreflect.Message { - return new(fastReflection_MsgRetire) +func (x *fastReflection_MsgEvaluateClassApplicationResponse) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateClassApplicationResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRetire) Interface() protoreflect.ProtoMessage { - return (*MsgRetire)(x) +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateClassApplicationResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -8219,31 +7616,7 @@ func (x *fastReflection_MsgRetire) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRetire) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Owner != "" { - value := protoreflect.ValueOfString(x.Owner) - if !f(fd_MsgRetire_owner, value) { - return - } - } - if len(x.Credits) != 0 { - value := protoreflect.ValueOfList(&_MsgRetire_2_list{list: &x.Credits}) - if !f(fd_MsgRetire_credits, value) { - return - } - } - if x.Jurisdiction != "" { - value := protoreflect.ValueOfString(x.Jurisdiction) - if !f(fd_MsgRetire_jurisdiction, value) { - return - } - } - if x.Reason != "" { - value := protoreflect.ValueOfString(x.Reason) - if !f(fd_MsgRetire_reason, value) { - return - } - } +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -8257,21 +7630,13 @@ func (x *fastReflection_MsgRetire) Range(f func(protoreflect.FieldDescriptor, pr // 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_MsgRetire) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRetire.owner": - return x.Owner != "" - case "regen.ecocredit.v1.MsgRetire.credits": - return len(x.Credits) != 0 - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - return x.Jurisdiction != "" - case "regen.ecocredit.v1.MsgRetire.reason": - return x.Reason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -8281,21 +7646,13 @@ func (x *fastReflection_MsgRetire) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetire) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRetire.owner": - x.Owner = "" - case "regen.ecocredit.v1.MsgRetire.credits": - x.Credits = nil - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - x.Jurisdiction = "" - case "regen.ecocredit.v1.MsgRetire.reason": - x.Reason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -8305,28 +7662,13 @@ func (x *fastReflection_MsgRetire) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRetire) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgRetire.owner": - value := x.Owner - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgRetire.credits": - if len(x.Credits) == 0 { - return protoreflect.ValueOfList(&_MsgRetire_2_list{}) - } - listValue := &_MsgRetire_2_list{list: &x.Credits} - return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - value := x.Jurisdiction - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgRetire.reason": - value := x.Reason - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", descriptor.FullName())) } } @@ -8340,23 +7682,13 @@ func (x *fastReflection_MsgRetire) Get(descriptor protoreflect.FieldDescriptor) // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetire) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRetire.owner": - x.Owner = value.Interface().(string) - case "regen.ecocredit.v1.MsgRetire.credits": - lv := value.List() - clv := lv.(*_MsgRetire_2_list) - x.Credits = *clv.list - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - x.Jurisdiction = value.Interface().(string) - case "regen.ecocredit.v1.MsgRetire.reason": - x.Reason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) } } @@ -8370,57 +7702,36 @@ func (x *fastReflection_MsgRetire) Set(fd protoreflect.FieldDescriptor, value pr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetire) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRetire.credits": - if x.Credits == nil { - x.Credits = []*Credits{} - } - value := &_MsgRetire_2_list{list: &x.Credits} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgRetire.owner": - panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgRetire is not mutable")) - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgRetire is not mutable")) - case "regen.ecocredit.v1.MsgRetire.reason": - panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgRetire is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse 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_MsgRetire) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRetire.owner": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgRetire.credits": - list := []*Credits{} - return protoreflect.ValueOfList(&_MsgRetire_2_list{list: &list}) - case "regen.ecocredit.v1.MsgRetire.jurisdiction": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgRetire.reason": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse 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_MsgRetire) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRetire", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateClassApplicationResponse", d.FullName())) } panic("unreachable") } @@ -8428,7 +7739,7 @@ func (x *fastReflection_MsgRetire) WhichOneof(d protoreflect.OneofDescriptor) pr // 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_MsgRetire) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -8439,7 +7750,7 @@ func (x *fastReflection_MsgRetire) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetire) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -8451,7 +7762,7 @@ func (x *fastReflection_MsgRetire) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgRetire) IsValid() bool { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) IsValid() bool { return x != nil } @@ -8461,9 +7772,9 @@ func (x *fastReflection_MsgRetire) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateClassApplicationResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRetire) + x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8475,24 +7786,6 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Owner) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Credits) > 0 { - for _, e := range x.Credits { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - l = len(x.Jurisdiction) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Reason) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -8503,7 +7796,7 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRetire) + x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8522,43 +7815,6 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Reason) > 0 { - i -= len(x.Reason) - copy(dAtA[i:], x.Reason) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) - i-- - dAtA[i] = 0x22 - } - if len(x.Jurisdiction) > 0 { - i -= len(x.Jurisdiction) - copy(dAtA[i:], x.Jurisdiction) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Jurisdiction))) - i-- - dAtA[i] = 0x1a - } - if len(x.Credits) > 0 { - for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Credits[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.Owner) > 0 { - i -= len(x.Owner) - copy(dAtA[i:], x.Owner) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -8570,7 +7826,7 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRetire) + x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -8602,152 +7858,22 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetire: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetire: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: 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 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 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", 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.Credits = append(x.Credits, &Credits{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", 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 { + if (skippy < 0) || (iNdEx+skippy) < 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.Jurisdiction = 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 Reason", 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.Reason = 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 { + if (iNdEx + skippy) > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if !options.DiscardUnknown { @@ -8773,25 +7899,92 @@ func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { } } +var _ protoreflect.List = (*_MsgCreateBatch_3_list)(nil) + +type _MsgCreateBatch_3_list struct { + list *[]*BatchIssuance +} + +func (x *_MsgCreateBatch_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgCreateBatch_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgCreateBatch_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BatchIssuance) + (*x.list)[i] = concreteValue +} + +func (x *_MsgCreateBatch_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BatchIssuance) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgCreateBatch_3_list) AppendMutable() protoreflect.Value { + v := new(BatchIssuance) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCreateBatch_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgCreateBatch_3_list) NewElement() protoreflect.Value { + v := new(BatchIssuance) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCreateBatch_3_list) IsValid() bool { + return x.list != nil +} + var ( - md_MsgRetireResponse protoreflect.MessageDescriptor + md_MsgCreateBatch protoreflect.MessageDescriptor + fd_MsgCreateBatch_issuer protoreflect.FieldDescriptor + fd_MsgCreateBatch_project_id protoreflect.FieldDescriptor + fd_MsgCreateBatch_issuance protoreflect.FieldDescriptor + fd_MsgCreateBatch_metadata protoreflect.FieldDescriptor + fd_MsgCreateBatch_start_date protoreflect.FieldDescriptor + fd_MsgCreateBatch_end_date protoreflect.FieldDescriptor + fd_MsgCreateBatch_open protoreflect.FieldDescriptor + fd_MsgCreateBatch_origin_tx protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRetireResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRetireResponse") + md_MsgCreateBatch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateBatch") + fd_MsgCreateBatch_issuer = md_MsgCreateBatch.Fields().ByName("issuer") + fd_MsgCreateBatch_project_id = md_MsgCreateBatch.Fields().ByName("project_id") + fd_MsgCreateBatch_issuance = md_MsgCreateBatch.Fields().ByName("issuance") + fd_MsgCreateBatch_metadata = md_MsgCreateBatch.Fields().ByName("metadata") + fd_MsgCreateBatch_start_date = md_MsgCreateBatch.Fields().ByName("start_date") + fd_MsgCreateBatch_end_date = md_MsgCreateBatch.Fields().ByName("end_date") + fd_MsgCreateBatch_open = md_MsgCreateBatch.Fields().ByName("open") + fd_MsgCreateBatch_origin_tx = md_MsgCreateBatch.Fields().ByName("origin_tx") } -var _ protoreflect.Message = (*fastReflection_MsgRetireResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCreateBatch)(nil) -type fastReflection_MsgRetireResponse MsgRetireResponse +type fastReflection_MsgCreateBatch MsgCreateBatch -func (x *MsgRetireResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRetireResponse)(x) +func (x *MsgCreateBatch) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateBatch)(x) } -func (x *MsgRetireResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] +func (x *MsgCreateBatch) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8802,43 +7995,43 @@ func (x *MsgRetireResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRetireResponse_messageType fastReflection_MsgRetireResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRetireResponse_messageType{} +var _fastReflection_MsgCreateBatch_messageType fastReflection_MsgCreateBatch_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateBatch_messageType{} -type fastReflection_MsgRetireResponse_messageType struct{} +type fastReflection_MsgCreateBatch_messageType struct{} -func (x fastReflection_MsgRetireResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRetireResponse)(nil) +func (x fastReflection_MsgCreateBatch_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateBatch)(nil) } -func (x fastReflection_MsgRetireResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRetireResponse) +func (x fastReflection_MsgCreateBatch_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateBatch) } -func (x fastReflection_MsgRetireResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRetireResponse +func (x fastReflection_MsgCreateBatch_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateBatch } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRetireResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRetireResponse +func (x *fastReflection_MsgCreateBatch) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateBatch } // 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_MsgRetireResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRetireResponse_messageType +func (x *fastReflection_MsgCreateBatch) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateBatch_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRetireResponse) New() protoreflect.Message { - return new(fastReflection_MsgRetireResponse) +func (x *fastReflection_MsgCreateBatch) New() protoreflect.Message { + return new(fastReflection_MsgCreateBatch) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRetireResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRetireResponse)(x) +func (x *fastReflection_MsgCreateBatch) Interface() protoreflect.ProtoMessage { + return (*MsgCreateBatch)(x) } // Range iterates over every populated field in an undefined order, @@ -8846,7 +8039,55 @@ func (x *fastReflection_MsgRetireResponse) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRetireResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCreateBatch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgCreateBatch_issuer, value) { + return + } + } + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgCreateBatch_project_id, value) { + return + } + } + if len(x.Issuance) != 0 { + value := protoreflect.ValueOfList(&_MsgCreateBatch_3_list{list: &x.Issuance}) + if !f(fd_MsgCreateBatch_issuance, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgCreateBatch_metadata, value) { + return + } + } + if x.StartDate != nil { + value := protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + if !f(fd_MsgCreateBatch_start_date, value) { + return + } + } + if x.EndDate != nil { + value := protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + if !f(fd_MsgCreateBatch_end_date, value) { + return + } + } + if x.Open != false { + value := protoreflect.ValueOfBool(x.Open) + if !f(fd_MsgCreateBatch_open, value) { + return + } + } + if x.OriginTx != nil { + value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + if !f(fd_MsgCreateBatch_origin_tx, value) { + return + } + } } // Has reports whether a field is populated. @@ -8860,13 +8101,29 @@ func (x *fastReflection_MsgRetireResponse) Range(f func(protoreflect.FieldDescri // 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_MsgRetireResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateBatch) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + return len(x.Issuance) != 0 + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + return x.Metadata != "" + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + return x.StartDate != nil + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + return x.EndDate != nil + case "regen.ecocredit.v1.MsgCreateBatch.open": + return x.Open != false + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + return x.OriginTx != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) } } @@ -8876,13 +8133,29 @@ func (x *fastReflection_MsgRetireResponse) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetireResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateBatch) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + x.Issuance = nil + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + x.Metadata = "" + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + x.StartDate = nil + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + x.EndDate = nil + case "regen.ecocredit.v1.MsgCreateBatch.open": + x.Open = false + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + x.OriginTx = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) } } @@ -8892,13 +8165,40 @@ func (x *fastReflection_MsgRetireResponse) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgRetireResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - default: + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + if len(x.Issuance) == 0 { + return protoreflect.ValueOfList(&_MsgCreateBatch_3_list{}) + } + listValue := &_MsgCreateBatch_3_list{list: &x.Issuance} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + value := x.Metadata + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + value := x.StartDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + value := x.EndDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.open": + value := x.Open + return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + value := x.OriginTx + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", descriptor.FullName())) } } @@ -8912,13 +8212,31 @@ func (x *fastReflection_MsgRetireResponse) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetireResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateBatch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + lv := value.List() + clv := lv.(*_MsgCreateBatch_3_list) + x.Issuance = *clv.list + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + x.Metadata = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + x.StartDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + x.EndDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.v1.MsgCreateBatch.open": + x.Open = value.Bool() + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + x.OriginTx = value.Message().Interface().(*OriginTx) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch does not contain field %s", fd.FullName())) } } @@ -8932,36 +8250,85 @@ func (x *fastReflection_MsgRetireResponse) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetireResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + if x.Issuance == nil { + x.Issuance = []*BatchIssuance{} + } + value := &_MsgCreateBatch_3_list{list: &x.Issuance} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + if x.StartDate == nil { + x.StartDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + if x.EndDate == nil { + x.EndDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + if x.OriginTx == nil { + x.OriginTx = new(OriginTx) + } + return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) + case "regen.ecocredit.v1.MsgCreateBatch.open": + panic(fmt.Errorf("field open of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch 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_MsgRetireResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateBatch.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateBatch.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateBatch.issuance": + list := []*BatchIssuance{} + return protoreflect.ValueOfList(&_MsgCreateBatch_3_list{list: &list}) + case "regen.ecocredit.v1.MsgCreateBatch.metadata": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateBatch.start_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.end_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.open": + return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": + m := new(OriginTx) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatch 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_MsgRetireResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateBatch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRetireResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateBatch", d.FullName())) } panic("unreachable") } @@ -8969,7 +8336,7 @@ func (x *fastReflection_MsgRetireResponse) WhichOneof(d protoreflect.OneofDescri // 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_MsgRetireResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateBatch) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -8980,7 +8347,7 @@ func (x *fastReflection_MsgRetireResponse) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRetireResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateBatch) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -8992,7 +8359,7 @@ func (x *fastReflection_MsgRetireResponse) SetUnknown(fields protoreflect.RawFie // 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_MsgRetireResponse) IsValid() bool { +func (x *fastReflection_MsgCreateBatch) IsValid() bool { return x != nil } @@ -9002,9 +8369,9 @@ func (x *fastReflection_MsgRetireResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRetireResponse) + x := input.Message.Interface().(*MsgCreateBatch) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9016,6 +8383,39 @@ func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { var n int var l int _ = l + l = len(x.Issuer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Issuance) > 0 { + for _, e := range x.Issuance { + l = options.Size(e) + 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.Open { + n += 2 + } + if x.OriginTx != nil { + l = options.Size(x.OriginTx) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9026,7 +8426,7 @@ func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRetireResponse) + x := input.Message.Interface().(*MsgCreateBatch) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9045,6 +8445,95 @@ func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.OriginTx != nil { + encoded, err := options.Marshal(x.OriginTx) + 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.Open { + i-- + if x.Open { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + 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.Issuance) > 0 { + for iNdEx := len(x.Issuance) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Issuance[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.ProjectId) > 0 { + i -= len(x.ProjectId) + copy(dAtA[i:], x.ProjectId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectId))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -9056,7 +8545,7 @@ func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRetireResponse) + x := input.Message.Interface().(*MsgCreateBatch) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9088,170 +8577,373 @@ func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetireResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatch: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetireResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { + case 1: + 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 + case 2: + 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuance", 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.Issuance = append(x.Issuance, &BatchIssuance{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Issuance[len(x.Issuance)-1]); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } - if (skippy < 0) || (iNdEx+skippy) < 0 { + 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 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 } - if (iNdEx + skippy) > l { + 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 } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + x.Metadata = 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 StartDate", wireType) } - 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 = (*_MsgCancel_2_list)(nil) - -type _MsgCancel_2_list struct { - list *[]*Credits -} - -func (x *_MsgCancel_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgCancel_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgCancel_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - (*x.list)[i] = concreteValue -} - -func (x *_MsgCancel_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgCancel_2_list) AppendMutable() protoreflect.Value { - v := new(Credits) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgCancel_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgCancel_2_list) NewElement() protoreflect.Value { - v := new(Credits) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgCancel_2_list) IsValid() bool { - return x.list != nil -} - -var ( - md_MsgCancel protoreflect.MessageDescriptor - fd_MsgCancel_owner protoreflect.FieldDescriptor - fd_MsgCancel_credits protoreflect.FieldDescriptor - fd_MsgCancel_reason protoreflect.FieldDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgCancel = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCancel") - fd_MsgCancel_owner = md_MsgCancel.Fields().ByName("owner") - fd_MsgCancel_credits = md_MsgCancel.Fields().ByName("credits") - fd_MsgCancel_reason = md_MsgCancel.Fields().ByName("reason") -} - -var _ protoreflect.Message = (*fastReflection_MsgCancel)(nil) - -type fastReflection_MsgCancel MsgCancel - -func (x *MsgCancel) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCancel)(x) -} - -func (x *MsgCancel) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] - 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_MsgCancel_messageType fastReflection_MsgCancel_messageType -var _ protoreflect.MessageType = fastReflection_MsgCancel_messageType{} - -type fastReflection_MsgCancel_messageType struct{} - -func (x fastReflection_MsgCancel_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCancel)(nil) -} -func (x fastReflection_MsgCancel_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCancel) + 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 + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Open", 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.Open = 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 OriginTx", 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.OriginTx == nil { + x.OriginTx = &OriginTx{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); 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, + } } -func (x fastReflection_MsgCancel_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCancel + +var ( + md_MsgCreateBatchResponse protoreflect.MessageDescriptor + fd_MsgCreateBatchResponse_batch_denom protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgCreateBatchResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateBatchResponse") + fd_MsgCreateBatchResponse_batch_denom = md_MsgCreateBatchResponse.Fields().ByName("batch_denom") +} + +var _ protoreflect.Message = (*fastReflection_MsgCreateBatchResponse)(nil) + +type fastReflection_MsgCreateBatchResponse MsgCreateBatchResponse + +func (x *MsgCreateBatchResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateBatchResponse)(x) +} + +func (x *MsgCreateBatchResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + 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_MsgCreateBatchResponse_messageType fastReflection_MsgCreateBatchResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateBatchResponse_messageType{} + +type fastReflection_MsgCreateBatchResponse_messageType struct{} + +func (x fastReflection_MsgCreateBatchResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateBatchResponse)(nil) +} +func (x fastReflection_MsgCreateBatchResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateBatchResponse) +} +func (x fastReflection_MsgCreateBatchResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateBatchResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgCancel) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCancel +func (x *fastReflection_MsgCreateBatchResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateBatchResponse } // 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_MsgCancel) Type() protoreflect.MessageType { - return _fastReflection_MsgCancel_messageType +func (x *fastReflection_MsgCreateBatchResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateBatchResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCancel) New() protoreflect.Message { - return new(fastReflection_MsgCancel) +func (x *fastReflection_MsgCreateBatchResponse) New() protoreflect.Message { + return new(fastReflection_MsgCreateBatchResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCancel) Interface() protoreflect.ProtoMessage { - return (*MsgCancel)(x) +func (x *fastReflection_MsgCreateBatchResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCreateBatchResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -9259,22 +8951,10 @@ func (x *fastReflection_MsgCancel) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgCancel) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Owner != "" { - value := protoreflect.ValueOfString(x.Owner) - if !f(fd_MsgCancel_owner, value) { - return - } - } - if len(x.Credits) != 0 { - value := protoreflect.ValueOfList(&_MsgCancel_2_list{list: &x.Credits}) - if !f(fd_MsgCancel_credits, value) { - return - } - } - if x.Reason != "" { - value := protoreflect.ValueOfString(x.Reason) - if !f(fd_MsgCancel_reason, value) { +func (x *fastReflection_MsgCreateBatchResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgCreateBatchResponse_batch_denom, value) { return } } @@ -9291,19 +8971,15 @@ func (x *fastReflection_MsgCancel) Range(f func(protoreflect.FieldDescriptor, pr // 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_MsgCancel) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateBatchResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCancel.owner": - return x.Owner != "" - case "regen.ecocredit.v1.MsgCancel.credits": - return len(x.Credits) != 0 - case "regen.ecocredit.v1.MsgCancel.reason": - return x.Reason != "" + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + return x.BatchDenom != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) } } @@ -9313,19 +8989,15 @@ func (x *fastReflection_MsgCancel) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancel) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateBatchResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCancel.owner": - x.Owner = "" - case "regen.ecocredit.v1.MsgCancel.credits": - x.Credits = nil - case "regen.ecocredit.v1.MsgCancel.reason": - x.Reason = "" + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + x.BatchDenom = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) } } @@ -9335,25 +9007,16 @@ func (x *fastReflection_MsgCancel) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgCancel) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatchResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgCancel.owner": - value := x.Owner - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgCancel.credits": - if len(x.Credits) == 0 { - return protoreflect.ValueOfList(&_MsgCancel_2_list{}) - } - listValue := &_MsgCancel_2_list{list: &x.Credits} - return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.MsgCancel.reason": - value := x.Reason + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + value := x.BatchDenom return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", descriptor.FullName())) } } @@ -9367,21 +9030,15 @@ func (x *fastReflection_MsgCancel) Get(descriptor protoreflect.FieldDescriptor) // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancel) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateBatchResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCancel.owner": - x.Owner = value.Interface().(string) - case "regen.ecocredit.v1.MsgCancel.credits": - lv := value.List() - clv := lv.(*_MsgCancel_2_list) - x.Credits = *clv.list - case "regen.ecocredit.v1.MsgCancel.reason": - x.Reason = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + x.BatchDenom = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse does not contain field %s", fd.FullName())) } } @@ -9395,53 +9052,40 @@ func (x *fastReflection_MsgCancel) Set(fd protoreflect.FieldDescriptor, value pr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancel) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatchResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCancel.credits": - if x.Credits == nil { - x.Credits = []*Credits{} - } - value := &_MsgCancel_2_list{list: &x.Credits} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgCancel.owner": - panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgCancel is not mutable")) - case "regen.ecocredit.v1.MsgCancel.reason": - panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgCancel is not mutable")) + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgCreateBatchResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse 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_MsgCancel) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateBatchResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCancel.owner": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgCancel.credits": - list := []*Credits{} - return protoreflect.ValueOfList(&_MsgCancel_2_list{list: &list}) - case "regen.ecocredit.v1.MsgCancel.reason": + case "regen.ecocredit.v1.MsgCreateBatchResponse.batch_denom": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateBatchResponse 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_MsgCancel) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateBatchResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCancel", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateBatchResponse", d.FullName())) } panic("unreachable") } @@ -9449,7 +9093,7 @@ func (x *fastReflection_MsgCancel) WhichOneof(d protoreflect.OneofDescriptor) pr // 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_MsgCancel) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateBatchResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -9460,7 +9104,7 @@ func (x *fastReflection_MsgCancel) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancel) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateBatchResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -9472,7 +9116,7 @@ func (x *fastReflection_MsgCancel) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgCancel) IsValid() bool { +func (x *fastReflection_MsgCreateBatchResponse) IsValid() bool { return x != nil } @@ -9482,9 +9126,9 @@ func (x *fastReflection_MsgCancel) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateBatchResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCancel) + x := input.Message.Interface().(*MsgCreateBatchResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9496,17 +9140,7 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Owner) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.Credits) > 0 { - for _, e := range x.Credits { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - l = len(x.Reason) + l = len(x.BatchDenom) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -9520,7 +9154,7 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCancel) + x := input.Message.Interface().(*MsgCreateBatchResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9539,33 +9173,10 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Reason) > 0 { - i -= len(x.Reason) - copy(dAtA[i:], x.Reason) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) - i-- - dAtA[i] = 0x1a - } - if len(x.Credits) > 0 { - for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Credits[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.Owner) > 0 { - i -= len(x.Owner) - copy(dAtA[i:], x.Owner) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + 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] = 0xa } @@ -9580,7 +9191,7 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCancel) + x := input.Message.Interface().(*MsgCreateBatchResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9612,81 +9223,15 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancel: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancel: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateBatchResponse: 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 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 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", 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.Credits = append(x.Credits, &Credits{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + 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 { @@ -9714,7 +9259,7 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Reason = string(dAtA[iNdEx:postIndex]) + x.BatchDenom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -9751,72 +9296,131 @@ func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { } } -var ( - md_MsgCancelResponse protoreflect.MessageDescriptor -) +var _ protoreflect.List = (*_MsgMintBatchCredits_3_list)(nil) -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgCancelResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCancelResponse") +type _MsgMintBatchCredits_3_list struct { + list *[]*BatchIssuance } -var _ protoreflect.Message = (*fastReflection_MsgCancelResponse)(nil) - -type fastReflection_MsgCancelResponse MsgCancelResponse +func (x *_MsgMintBatchCredits_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} -func (x *MsgCancelResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgCancelResponse)(x) +func (x *_MsgMintBatchCredits_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) } -func (x *MsgCancelResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] - 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) +func (x *_MsgMintBatchCredits_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BatchIssuance) + (*x.list)[i] = concreteValue } -var _fastReflection_MsgCancelResponse_messageType fastReflection_MsgCancelResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgCancelResponse_messageType{} +func (x *_MsgMintBatchCredits_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*BatchIssuance) + *x.list = append(*x.list, concreteValue) +} -type fastReflection_MsgCancelResponse_messageType struct{} +func (x *_MsgMintBatchCredits_3_list) AppendMutable() protoreflect.Value { + v := new(BatchIssuance) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} -func (x fastReflection_MsgCancelResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgCancelResponse)(nil) +func (x *_MsgMintBatchCredits_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] } -func (x fastReflection_MsgCancelResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgCancelResponse) + +func (x *_MsgMintBatchCredits_3_list) NewElement() protoreflect.Value { + v := new(BatchIssuance) + return protoreflect.ValueOfMessage(v.ProtoReflect()) } -func (x fastReflection_MsgCancelResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCancelResponse + +func (x *_MsgMintBatchCredits_3_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgMintBatchCredits protoreflect.MessageDescriptor + fd_MsgMintBatchCredits_issuer protoreflect.FieldDescriptor + fd_MsgMintBatchCredits_batch_denom protoreflect.FieldDescriptor + fd_MsgMintBatchCredits_issuance protoreflect.FieldDescriptor + fd_MsgMintBatchCredits_origin_tx protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgMintBatchCredits = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgMintBatchCredits") + fd_MsgMintBatchCredits_issuer = md_MsgMintBatchCredits.Fields().ByName("issuer") + fd_MsgMintBatchCredits_batch_denom = md_MsgMintBatchCredits.Fields().ByName("batch_denom") + fd_MsgMintBatchCredits_issuance = md_MsgMintBatchCredits.Fields().ByName("issuance") + fd_MsgMintBatchCredits_origin_tx = md_MsgMintBatchCredits.Fields().ByName("origin_tx") +} + +var _ protoreflect.Message = (*fastReflection_MsgMintBatchCredits)(nil) + +type fastReflection_MsgMintBatchCredits MsgMintBatchCredits + +func (x *MsgMintBatchCredits) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMintBatchCredits)(x) +} + +func (x *MsgMintBatchCredits) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + 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_MsgMintBatchCredits_messageType fastReflection_MsgMintBatchCredits_messageType +var _ protoreflect.MessageType = fastReflection_MsgMintBatchCredits_messageType{} + +type fastReflection_MsgMintBatchCredits_messageType struct{} + +func (x fastReflection_MsgMintBatchCredits_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMintBatchCredits)(nil) +} +func (x fastReflection_MsgMintBatchCredits_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMintBatchCredits) +} +func (x fastReflection_MsgMintBatchCredits_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMintBatchCredits } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgCancelResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgCancelResponse +func (x *fastReflection_MsgMintBatchCredits) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMintBatchCredits } // 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_MsgCancelResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgCancelResponse_messageType +func (x *fastReflection_MsgMintBatchCredits) Type() protoreflect.MessageType { + return _fastReflection_MsgMintBatchCredits_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgCancelResponse) New() protoreflect.Message { - return new(fastReflection_MsgCancelResponse) +func (x *fastReflection_MsgMintBatchCredits) New() protoreflect.Message { + return new(fastReflection_MsgMintBatchCredits) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgCancelResponse) Interface() protoreflect.ProtoMessage { - return (*MsgCancelResponse)(x) +func (x *fastReflection_MsgMintBatchCredits) Interface() protoreflect.ProtoMessage { + return (*MsgMintBatchCredits)(x) } // Range iterates over every populated field in an undefined order, @@ -9824,7 +9428,31 @@ func (x *fastReflection_MsgCancelResponse) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgCancelResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgMintBatchCredits) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgMintBatchCredits_issuer, value) { + return + } + } + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgMintBatchCredits_batch_denom, value) { + return + } + } + if len(x.Issuance) != 0 { + value := protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{list: &x.Issuance}) + if !f(fd_MsgMintBatchCredits_issuance, value) { + return + } + } + if x.OriginTx != nil { + value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + if !f(fd_MsgMintBatchCredits_origin_tx, value) { + return + } + } } // Has reports whether a field is populated. @@ -9838,13 +9466,21 @@ func (x *fastReflection_MsgCancelResponse) Range(f func(protoreflect.FieldDescri // 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_MsgCancelResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgMintBatchCredits) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + return len(x.Issuance) != 0 + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + return x.OriginTx != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) } } @@ -9854,13 +9490,21 @@ func (x *fastReflection_MsgCancelResponse) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancelResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgMintBatchCredits) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + x.Issuance = nil + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + x.OriginTx = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) } } @@ -9870,13 +9514,28 @@ func (x *fastReflection_MsgCancelResponse) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgCancelResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCredits) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + if len(x.Issuance) == 0 { + return protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{}) + } + listValue := &_MsgMintBatchCredits_3_list{list: &x.Issuance} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + value := x.OriginTx + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", descriptor.FullName())) } } @@ -9890,13 +9549,23 @@ func (x *fastReflection_MsgCancelResponse) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancelResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgMintBatchCredits) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + lv := value.List() + clv := lv.(*_MsgMintBatchCredits_3_list) + x.Issuance = *clv.list + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + x.OriginTx = value.Message().Interface().(*OriginTx) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits does not contain field %s", fd.FullName())) } } @@ -9910,36 +9579,61 @@ func (x *fastReflection_MsgCancelResponse) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancelResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCredits) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + if x.Issuance == nil { + x.Issuance = []*BatchIssuance{} + } + value := &_MsgMintBatchCredits_3_list{list: &x.Issuance} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + if x.OriginTx == nil { + x.OriginTx = new(OriginTx) + } + return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgMintBatchCredits is not mutable")) + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgMintBatchCredits is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits 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_MsgCancelResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCredits) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgMintBatchCredits.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgMintBatchCredits.batch_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgMintBatchCredits.issuance": + list := []*BatchIssuance{} + return protoreflect.ValueOfList(&_MsgMintBatchCredits_3_list{list: &list}) + case "regen.ecocredit.v1.MsgMintBatchCredits.origin_tx": + m := new(OriginTx) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCredits 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_MsgCancelResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgMintBatchCredits) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCancelResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgMintBatchCredits", d.FullName())) } panic("unreachable") } @@ -9947,7 +9641,7 @@ func (x *fastReflection_MsgCancelResponse) WhichOneof(d protoreflect.OneofDescri // 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_MsgCancelResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgMintBatchCredits) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -9958,7 +9652,7 @@ func (x *fastReflection_MsgCancelResponse) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgCancelResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgMintBatchCredits) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -9970,7 +9664,7 @@ func (x *fastReflection_MsgCancelResponse) SetUnknown(fields protoreflect.RawFie // 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_MsgCancelResponse) IsValid() bool { +func (x *fastReflection_MsgMintBatchCredits) IsValid() bool { return x != nil } @@ -9980,9 +9674,9 @@ func (x *fastReflection_MsgCancelResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgMintBatchCredits) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgCancelResponse) + x := input.Message.Interface().(*MsgMintBatchCredits) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9994,6 +9688,24 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { var n int var l int _ = l + l = len(x.Issuer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.BatchDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Issuance) > 0 { + for _, e := range x.Issuance { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.OriginTx != nil { + l = options.Size(x.OriginTx) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -10004,7 +9716,7 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgCancelResponse) + x := input.Message.Interface().(*MsgMintBatchCredits) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10023,8 +9735,52 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) + if x.OriginTx != nil { + encoded, err := options.Marshal(x.OriginTx) + 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 len(x.Issuance) > 0 { + for iNdEx := len(x.Issuance) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Issuance[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.BatchDenom) > 0 { + i -= len(x.BatchDenom) + copy(dAtA[i:], x.BatchDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) } else { input.Buf = dAtA } @@ -10034,7 +9790,7 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgCancelResponse) + x := input.Message.Interface().(*MsgMintBatchCredits) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10066,12 +9822,146 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCredits: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCredits: 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 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 + case 2: + 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuance", 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.Issuance = append(x.Issuance, &BatchIssuance{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Issuance[len(x.Issuance)-1]); 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 OriginTx", 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.OriginTx == nil { + x.OriginTx = &OriginTx{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10108,30 +9998,24 @@ func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { } var ( - md_MsgUpdateClassAdmin protoreflect.MessageDescriptor - fd_MsgUpdateClassAdmin_admin protoreflect.FieldDescriptor - fd_MsgUpdateClassAdmin_class_id protoreflect.FieldDescriptor - fd_MsgUpdateClassAdmin_new_admin protoreflect.FieldDescriptor + md_MsgMintBatchCreditsResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassAdmin = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassAdmin") - fd_MsgUpdateClassAdmin_admin = md_MsgUpdateClassAdmin.Fields().ByName("admin") - fd_MsgUpdateClassAdmin_class_id = md_MsgUpdateClassAdmin.Fields().ByName("class_id") - fd_MsgUpdateClassAdmin_new_admin = md_MsgUpdateClassAdmin.Fields().ByName("new_admin") + md_MsgMintBatchCreditsResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgMintBatchCreditsResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassAdmin)(nil) +var _ protoreflect.Message = (*fastReflection_MsgMintBatchCreditsResponse)(nil) -type fastReflection_MsgUpdateClassAdmin MsgUpdateClassAdmin +type fastReflection_MsgMintBatchCreditsResponse MsgMintBatchCreditsResponse -func (x *MsgUpdateClassAdmin) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassAdmin)(x) +func (x *MsgMintBatchCreditsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgMintBatchCreditsResponse)(x) } -func (x *MsgUpdateClassAdmin) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] +func (x *MsgMintBatchCreditsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10142,43 +10026,43 @@ func (x *MsgUpdateClassAdmin) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassAdmin_messageType fastReflection_MsgUpdateClassAdmin_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassAdmin_messageType{} +var _fastReflection_MsgMintBatchCreditsResponse_messageType fastReflection_MsgMintBatchCreditsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgMintBatchCreditsResponse_messageType{} -type fastReflection_MsgUpdateClassAdmin_messageType struct{} +type fastReflection_MsgMintBatchCreditsResponse_messageType struct{} -func (x fastReflection_MsgUpdateClassAdmin_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassAdmin)(nil) +func (x fastReflection_MsgMintBatchCreditsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgMintBatchCreditsResponse)(nil) } -func (x fastReflection_MsgUpdateClassAdmin_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassAdmin) +func (x fastReflection_MsgMintBatchCreditsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgMintBatchCreditsResponse) } -func (x fastReflection_MsgUpdateClassAdmin_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassAdmin +func (x fastReflection_MsgMintBatchCreditsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMintBatchCreditsResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassAdmin) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassAdmin +func (x *fastReflection_MsgMintBatchCreditsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgMintBatchCreditsResponse } // 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_MsgUpdateClassAdmin) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassAdmin_messageType +func (x *fastReflection_MsgMintBatchCreditsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgMintBatchCreditsResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassAdmin) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassAdmin) +func (x *fastReflection_MsgMintBatchCreditsResponse) New() protoreflect.Message { + return new(fastReflection_MsgMintBatchCreditsResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassAdmin) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassAdmin)(x) +func (x *fastReflection_MsgMintBatchCreditsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgMintBatchCreditsResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -10186,25 +10070,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) Interface() protoreflect.ProtoMessa // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Admin != "" { - value := protoreflect.ValueOfString(x.Admin) - if !f(fd_MsgUpdateClassAdmin_admin, value) { - return - } - } - if x.ClassId != "" { - value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgUpdateClassAdmin_class_id, value) { - return - } - } - if x.NewAdmin != "" { - value := protoreflect.ValueOfString(x.NewAdmin) - if !f(fd_MsgUpdateClassAdmin_new_admin, value) { - return - } - } +func (x *fastReflection_MsgMintBatchCreditsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -10218,19 +10084,13 @@ func (x *fastReflection_MsgUpdateClassAdmin) Range(f func(protoreflect.FieldDesc // 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_MsgUpdateClassAdmin) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgMintBatchCreditsResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - return x.Admin != "" - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - return x.ClassId != "" - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - return x.NewAdmin != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) } } @@ -10240,19 +10100,13 @@ func (x *fastReflection_MsgUpdateClassAdmin) Has(fd protoreflect.FieldDescriptor // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdmin) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgMintBatchCreditsResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - x.Admin = "" - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - x.ClassId = "" - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - x.NewAdmin = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) } } @@ -10262,22 +10116,13 @@ func (x *fastReflection_MsgUpdateClassAdmin) Clear(fd protoreflect.FieldDescript // 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_MsgUpdateClassAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCreditsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - value := x.Admin - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - value := x.ClassId - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - value := x.NewAdmin - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", descriptor.FullName())) } } @@ -10291,19 +10136,13 @@ func (x *fastReflection_MsgUpdateClassAdmin) Get(descriptor protoreflect.FieldDe // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgMintBatchCreditsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - x.Admin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - x.NewAdmin = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse does not contain field %s", fd.FullName())) } } @@ -10317,48 +10156,36 @@ func (x *fastReflection_MsgUpdateClassAdmin) Set(fd protoreflect.FieldDescriptor // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCreditsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - panic(fmt.Errorf("field new_admin of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse 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_MsgUpdateClassAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgMintBatchCreditsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgMintBatchCreditsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgMintBatchCreditsResponse 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_MsgUpdateClassAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgMintBatchCreditsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassAdmin", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgMintBatchCreditsResponse", d.FullName())) } panic("unreachable") } @@ -10366,7 +10193,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) WhichOneof(d protoreflect.OneofDesc // 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_MsgUpdateClassAdmin) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgMintBatchCreditsResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -10377,7 +10204,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdmin) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgMintBatchCreditsResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -10389,7 +10216,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) SetUnknown(fields protoreflect.RawF // 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_MsgUpdateClassAdmin) IsValid() bool { +func (x *fastReflection_MsgMintBatchCreditsResponse) IsValid() bool { return x != nil } @@ -10399,9 +10226,9 @@ func (x *fastReflection_MsgUpdateClassAdmin) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgMintBatchCreditsResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassAdmin) + x := input.Message.Interface().(*MsgMintBatchCreditsResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10413,18 +10240,6 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods var n int var l int _ = l - l = len(x.Admin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ClassId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.NewAdmin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -10435,7 +10250,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassAdmin) + x := input.Message.Interface().(*MsgMintBatchCreditsResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10454,27 +10269,6 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewAdmin) > 0 { - i -= len(x.NewAdmin) - copy(dAtA[i:], x.NewAdmin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewAdmin))) - i-- - dAtA[i] = 0x1a - } - 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] = 0x12 - } - 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] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -10486,7 +10280,7 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassAdmin) + x := input.Message.Interface().(*MsgMintBatchCreditsResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10518,108 +10312,12 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdmin: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCreditsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdmin: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgMintBatchCreditsResponse: 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 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 2: - 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 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewAdmin", 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.NewAdmin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10656,24 +10354,28 @@ func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods } var ( - md_MsgUpdateClassAdminResponse protoreflect.MessageDescriptor + md_MsgSealBatch protoreflect.MessageDescriptor + fd_MsgSealBatch_issuer protoreflect.FieldDescriptor + fd_MsgSealBatch_batch_denom protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassAdminResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassAdminResponse") + md_MsgSealBatch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSealBatch") + fd_MsgSealBatch_issuer = md_MsgSealBatch.Fields().ByName("issuer") + fd_MsgSealBatch_batch_denom = md_MsgSealBatch.Fields().ByName("batch_denom") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassAdminResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSealBatch)(nil) -type fastReflection_MsgUpdateClassAdminResponse MsgUpdateClassAdminResponse +type fastReflection_MsgSealBatch MsgSealBatch -func (x *MsgUpdateClassAdminResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassAdminResponse)(x) +func (x *MsgSealBatch) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSealBatch)(x) } -func (x *MsgUpdateClassAdminResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] +func (x *MsgSealBatch) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10684,43 +10386,43 @@ func (x *MsgUpdateClassAdminResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassAdminResponse_messageType fastReflection_MsgUpdateClassAdminResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassAdminResponse_messageType{} +var _fastReflection_MsgSealBatch_messageType fastReflection_MsgSealBatch_messageType +var _ protoreflect.MessageType = fastReflection_MsgSealBatch_messageType{} -type fastReflection_MsgUpdateClassAdminResponse_messageType struct{} +type fastReflection_MsgSealBatch_messageType struct{} -func (x fastReflection_MsgUpdateClassAdminResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassAdminResponse)(nil) +func (x fastReflection_MsgSealBatch_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSealBatch)(nil) } -func (x fastReflection_MsgUpdateClassAdminResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassAdminResponse) +func (x fastReflection_MsgSealBatch_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSealBatch) } -func (x fastReflection_MsgUpdateClassAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassAdminResponse +func (x fastReflection_MsgSealBatch_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSealBatch } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassAdminResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassAdminResponse +func (x *fastReflection_MsgSealBatch) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSealBatch } // 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_MsgUpdateClassAdminResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassAdminResponse_messageType +func (x *fastReflection_MsgSealBatch) Type() protoreflect.MessageType { + return _fastReflection_MsgSealBatch_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassAdminResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassAdminResponse) +func (x *fastReflection_MsgSealBatch) New() protoreflect.Message { + return new(fastReflection_MsgSealBatch) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassAdminResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassAdminResponse)(x) +func (x *fastReflection_MsgSealBatch) Interface() protoreflect.ProtoMessage { + return (*MsgSealBatch)(x) } // Range iterates over every populated field in an undefined order, @@ -10728,7 +10430,19 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassAdminResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgSealBatch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgSealBatch_issuer, value) { + return + } + } + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgSealBatch_batch_denom, value) { + return + } + } } // Has reports whether a field is populated. @@ -10742,13 +10456,17 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Range(f func(protoreflect.F // 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_MsgUpdateClassAdminResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSealBatch) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + return x.BatchDenom != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) } } @@ -10758,13 +10476,17 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdminResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSealBatch) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + x.BatchDenom = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) } } @@ -10774,13 +10496,19 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Clear(fd protoreflect.Field // 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_MsgUpdateClassAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", descriptor.FullName())) } } @@ -10794,13 +10522,17 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSealBatch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + x.BatchDenom = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch does not contain field %s", fd.FullName())) } } @@ -10814,36 +10546,44 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgSealBatch is not mutable")) + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgSealBatch is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch 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_MsgUpdateClassAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSealBatch.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSealBatch.batch_denom": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatch 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_MsgUpdateClassAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSealBatch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassAdminResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSealBatch", d.FullName())) } panic("unreachable") } @@ -10851,7 +10591,7 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) WhichOneof(d protoreflect.O // 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_MsgUpdateClassAdminResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSealBatch) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -10862,7 +10602,7 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassAdminResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSealBatch) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -10874,7 +10614,7 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) SetUnknown(fields protorefl // 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_MsgUpdateClassAdminResponse) IsValid() bool { +func (x *fastReflection_MsgSealBatch) IsValid() bool { return x != nil } @@ -10884,9 +10624,9 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSealBatch) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassAdminResponse) + x := input.Message.Interface().(*MsgSealBatch) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10898,6 +10638,14 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. var n int var l int _ = l + l = len(x.Issuer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.BatchDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -10908,7 +10656,7 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassAdminResponse) + x := input.Message.Interface().(*MsgSealBatch) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10927,6 +10675,20 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + 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] = 0x12 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -10938,7 +10700,7 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassAdminResponse) + x := input.Message.Interface().(*MsgSealBatch) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10970,12 +10732,76 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdminResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatch: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdminResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatch: 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 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 + case 2: + 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 default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -11011,172 +10837,72 @@ func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface. } } -var _ protoreflect.List = (*_MsgUpdateClassIssuers_3_list)(nil) +var ( + md_MsgSealBatchResponse protoreflect.MessageDescriptor +) -type _MsgUpdateClassIssuers_3_list struct { - list *[]string +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgSealBatchResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSealBatchResponse") } -func (x *_MsgUpdateClassIssuers_3_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} +var _ protoreflect.Message = (*fastReflection_MsgSealBatchResponse)(nil) -func (x *_MsgUpdateClassIssuers_3_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} +type fastReflection_MsgSealBatchResponse MsgSealBatchResponse -func (x *_MsgUpdateClassIssuers_3_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue +func (x *MsgSealBatchResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSealBatchResponse)(x) } -func (x *_MsgUpdateClassIssuers_3_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) +func (x *MsgSealBatchResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + 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) } -func (x *_MsgUpdateClassIssuers_3_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgUpdateClassIssuers at list field AddIssuers as it is not of Message kind")) -} - -func (x *_MsgUpdateClassIssuers_3_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgUpdateClassIssuers_3_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_MsgUpdateClassIssuers_3_list) IsValid() bool { - return x.list != nil -} - -var _ protoreflect.List = (*_MsgUpdateClassIssuers_4_list)(nil) - -type _MsgUpdateClassIssuers_4_list struct { - list *[]string -} - -func (x *_MsgUpdateClassIssuers_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgUpdateClassIssuers_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfString((*x.list)[i]) -} - -func (x *_MsgUpdateClassIssuers_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - (*x.list)[i] = concreteValue -} - -func (x *_MsgUpdateClassIssuers_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.String() - concreteValue := valueUnwrapped - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgUpdateClassIssuers_4_list) AppendMutable() protoreflect.Value { - panic(fmt.Errorf("AppendMutable can not be called on message MsgUpdateClassIssuers at list field RemoveIssuers as it is not of Message kind")) -} - -func (x *_MsgUpdateClassIssuers_4_list) Truncate(n int) { - *x.list = (*x.list)[:n] -} - -func (x *_MsgUpdateClassIssuers_4_list) NewElement() protoreflect.Value { - v := "" - return protoreflect.ValueOfString(v) -} - -func (x *_MsgUpdateClassIssuers_4_list) IsValid() bool { - return x.list != nil -} - -var ( - md_MsgUpdateClassIssuers protoreflect.MessageDescriptor - fd_MsgUpdateClassIssuers_admin protoreflect.FieldDescriptor - fd_MsgUpdateClassIssuers_class_id protoreflect.FieldDescriptor - fd_MsgUpdateClassIssuers_add_issuers protoreflect.FieldDescriptor - fd_MsgUpdateClassIssuers_remove_issuers protoreflect.FieldDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassIssuers = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassIssuers") - fd_MsgUpdateClassIssuers_admin = md_MsgUpdateClassIssuers.Fields().ByName("admin") - fd_MsgUpdateClassIssuers_class_id = md_MsgUpdateClassIssuers.Fields().ByName("class_id") - fd_MsgUpdateClassIssuers_add_issuers = md_MsgUpdateClassIssuers.Fields().ByName("add_issuers") - fd_MsgUpdateClassIssuers_remove_issuers = md_MsgUpdateClassIssuers.Fields().ByName("remove_issuers") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassIssuers)(nil) - -type fastReflection_MsgUpdateClassIssuers MsgUpdateClassIssuers - -func (x *MsgUpdateClassIssuers) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassIssuers)(x) -} - -func (x *MsgUpdateClassIssuers) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] - 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_MsgUpdateClassIssuers_messageType fastReflection_MsgUpdateClassIssuers_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassIssuers_messageType{} +var _fastReflection_MsgSealBatchResponse_messageType fastReflection_MsgSealBatchResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSealBatchResponse_messageType{} -type fastReflection_MsgUpdateClassIssuers_messageType struct{} +type fastReflection_MsgSealBatchResponse_messageType struct{} -func (x fastReflection_MsgUpdateClassIssuers_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassIssuers)(nil) +func (x fastReflection_MsgSealBatchResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSealBatchResponse)(nil) } -func (x fastReflection_MsgUpdateClassIssuers_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassIssuers) +func (x fastReflection_MsgSealBatchResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSealBatchResponse) } -func (x fastReflection_MsgUpdateClassIssuers_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassIssuers +func (x fastReflection_MsgSealBatchResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSealBatchResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassIssuers) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassIssuers +func (x *fastReflection_MsgSealBatchResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSealBatchResponse } // 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_MsgUpdateClassIssuers) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassIssuers_messageType +func (x *fastReflection_MsgSealBatchResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSealBatchResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassIssuers) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassIssuers) +func (x *fastReflection_MsgSealBatchResponse) New() protoreflect.Message { + return new(fastReflection_MsgSealBatchResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassIssuers) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassIssuers)(x) +func (x *fastReflection_MsgSealBatchResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSealBatchResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -11184,31 +10910,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassIssuers) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Admin != "" { - value := protoreflect.ValueOfString(x.Admin) - if !f(fd_MsgUpdateClassIssuers_admin, value) { - return - } - } - if x.ClassId != "" { - value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgUpdateClassIssuers_class_id, value) { - return - } - } - if len(x.AddIssuers) != 0 { - value := protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers}) - if !f(fd_MsgUpdateClassIssuers_add_issuers, value) { - return - } - } - if len(x.RemoveIssuers) != 0 { - value := protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers}) - if !f(fd_MsgUpdateClassIssuers_remove_issuers, value) { - return - } - } +func (x *fastReflection_MsgSealBatchResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -11222,21 +10924,13 @@ func (x *fastReflection_MsgUpdateClassIssuers) Range(f func(protoreflect.FieldDe // 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_MsgUpdateClassIssuers) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSealBatchResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - return x.Admin != "" - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - return x.ClassId != "" - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - return len(x.AddIssuers) != 0 - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - return len(x.RemoveIssuers) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) } } @@ -11246,21 +10940,13 @@ func (x *fastReflection_MsgUpdateClassIssuers) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuers) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSealBatchResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - x.Admin = "" - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - x.ClassId = "" - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - x.AddIssuers = nil - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - x.RemoveIssuers = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) } } @@ -11270,31 +10956,13 @@ func (x *fastReflection_MsgUpdateClassIssuers) Clear(fd protoreflect.FieldDescri // 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_MsgUpdateClassIssuers) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatchResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - value := x.Admin - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - value := x.ClassId - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - if len(x.AddIssuers) == 0 { - return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{}) - } - listValue := &_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers} - return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - if len(x.RemoveIssuers) == 0 { - return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{}) - } - listValue := &_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers} - return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", descriptor.FullName())) } } @@ -11308,25 +10976,13 @@ func (x *fastReflection_MsgUpdateClassIssuers) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuers) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSealBatchResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - x.Admin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - lv := value.List() - clv := lv.(*_MsgUpdateClassIssuers_3_list) - x.AddIssuers = *clv.list - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - lv := value.List() - clv := lv.(*_MsgUpdateClassIssuers_4_list) - x.RemoveIssuers = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse does not contain field %s", fd.FullName())) } } @@ -11340,62 +10996,36 @@ func (x *fastReflection_MsgUpdateClassIssuers) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuers) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatchResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - if x.AddIssuers == nil { - x.AddIssuers = []string{} - } - value := &_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - if x.RemoveIssuers == nil { - x.RemoveIssuers = []string{} - } - value := &_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassIssuers is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassIssuers is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse 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_MsgUpdateClassIssuers) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSealBatchResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": - list := []string{} - return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{list: &list}) - case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": - list := []string{} - return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSealBatchResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSealBatchResponse 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_MsgUpdateClassIssuers) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSealBatchResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassIssuers", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSealBatchResponse", d.FullName())) } panic("unreachable") } @@ -11403,7 +11033,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) WhichOneof(d protoreflect.OneofDe // 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_MsgUpdateClassIssuers) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSealBatchResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -11414,7 +11044,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuers) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSealBatchResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -11426,7 +11056,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) SetUnknown(fields protoreflect.Ra // 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_MsgUpdateClassIssuers) IsValid() bool { +func (x *fastReflection_MsgSealBatchResponse) IsValid() bool { return x != nil } @@ -11436,9 +11066,9 @@ func (x *fastReflection_MsgUpdateClassIssuers) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSealBatchResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassIssuers) + x := input.Message.Interface().(*MsgSealBatchResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11450,26 +11080,6 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method var n int var l int _ = l - l = len(x.Admin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ClassId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.AddIssuers) > 0 { - for _, s := range x.AddIssuers { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if len(x.RemoveIssuers) > 0 { - for _, s := range x.RemoveIssuers { - l = len(s) - n += 1 + l + runtime.Sov(uint64(l)) - } - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -11480,7 +11090,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassIssuers) + x := input.Message.Interface().(*MsgSealBatchResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11499,38 +11109,6 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.RemoveIssuers) > 0 { - for iNdEx := len(x.RemoveIssuers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.RemoveIssuers[iNdEx]) - copy(dAtA[i:], x.RemoveIssuers[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RemoveIssuers[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(x.AddIssuers) > 0 { - for iNdEx := len(x.AddIssuers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(x.AddIssuers[iNdEx]) - copy(dAtA[i:], x.AddIssuers[iNdEx]) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AddIssuers[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - 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] = 0x12 - } - 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] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -11542,7 +11120,7 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassIssuers) + x := input.Message.Interface().(*MsgSealBatchResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11574,140 +11152,12 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuers: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuers: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSealBatchResponse: 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 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 2: - 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 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AddIssuers", 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.AddIssuers = append(x.AddIssuers, 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 RemoveIssuers", 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.RemoveIssuers = append(x.RemoveIssuers, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -11743,72 +11193,129 @@ func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Method } } -var ( - md_MsgUpdateClassIssuersResponse protoreflect.MessageDescriptor -) +var _ protoreflect.List = (*_MsgSend_3_list)(nil) -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassIssuersResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassIssuersResponse") +type _MsgSend_3_list struct { + list *[]*MsgSend_SendCredits } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassIssuersResponse)(nil) - -type fastReflection_MsgUpdateClassIssuersResponse MsgUpdateClassIssuersResponse +func (x *_MsgSend_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} -func (x *MsgUpdateClassIssuersResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassIssuersResponse)(x) +func (x *_MsgSend_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) } -func (x *MsgUpdateClassIssuersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] - 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) +func (x *_MsgSend_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*MsgSend_SendCredits) + (*x.list)[i] = concreteValue } -var _fastReflection_MsgUpdateClassIssuersResponse_messageType fastReflection_MsgUpdateClassIssuersResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassIssuersResponse_messageType{} +func (x *_MsgSend_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*MsgSend_SendCredits) + *x.list = append(*x.list, concreteValue) +} -type fastReflection_MsgUpdateClassIssuersResponse_messageType struct{} +func (x *_MsgSend_3_list) AppendMutable() protoreflect.Value { + v := new(MsgSend_SendCredits) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} -func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassIssuersResponse)(nil) +func (x *_MsgSend_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] } -func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassIssuersResponse) + +func (x *_MsgSend_3_list) NewElement() protoreflect.Value { + v := new(MsgSend_SendCredits) + return protoreflect.ValueOfMessage(v.ProtoReflect()) } -func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassIssuersResponse + +func (x *_MsgSend_3_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgSend protoreflect.MessageDescriptor + fd_MsgSend_sender protoreflect.FieldDescriptor + fd_MsgSend_recipient protoreflect.FieldDescriptor + fd_MsgSend_credits protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgSend = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSend") + fd_MsgSend_sender = md_MsgSend.Fields().ByName("sender") + fd_MsgSend_recipient = md_MsgSend.Fields().ByName("recipient") + fd_MsgSend_credits = md_MsgSend.Fields().ByName("credits") +} + +var _ protoreflect.Message = (*fastReflection_MsgSend)(nil) + +type fastReflection_MsgSend MsgSend + +func (x *MsgSend) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSend)(x) +} + +func (x *MsgSend) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + 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_MsgSend_messageType fastReflection_MsgSend_messageType +var _ protoreflect.MessageType = fastReflection_MsgSend_messageType{} + +type fastReflection_MsgSend_messageType struct{} + +func (x fastReflection_MsgSend_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSend)(nil) +} +func (x fastReflection_MsgSend_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSend) +} +func (x fastReflection_MsgSend_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSend } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassIssuersResponse +func (x *fastReflection_MsgSend) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSend } // 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_MsgUpdateClassIssuersResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassIssuersResponse_messageType +func (x *fastReflection_MsgSend) Type() protoreflect.MessageType { + return _fastReflection_MsgSend_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassIssuersResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassIssuersResponse) +func (x *fastReflection_MsgSend) New() protoreflect.Message { + return new(fastReflection_MsgSend) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassIssuersResponse)(x) +func (x *fastReflection_MsgSend) Interface() protoreflect.ProtoMessage { + return (*MsgSend)(x) } // Range iterates over every populated field in an undefined order, @@ -11816,7 +11323,25 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Interface() protoreflect. // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgSend) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Sender != "" { + value := protoreflect.ValueOfString(x.Sender) + if !f(fd_MsgSend_sender, value) { + return + } + } + if x.Recipient != "" { + value := protoreflect.ValueOfString(x.Recipient) + if !f(fd_MsgSend_recipient, value) { + return + } + } + if len(x.Credits) != 0 { + value := protoreflect.ValueOfList(&_MsgSend_3_list{list: &x.Credits}) + if !f(fd_MsgSend_credits, value) { + return + } + } } // Has reports whether a field is populated. @@ -11830,13 +11355,19 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Range(f func(protoreflect // 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_MsgUpdateClassIssuersResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSend) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSend.sender": + return x.Sender != "" + case "regen.ecocredit.v1.MsgSend.recipient": + return x.Recipient != "" + case "regen.ecocredit.v1.MsgSend.credits": + return len(x.Credits) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) } } @@ -11846,13 +11377,19 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSend) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSend.sender": + x.Sender = "" + case "regen.ecocredit.v1.MsgSend.recipient": + x.Recipient = "" + case "regen.ecocredit.v1.MsgSend.credits": + x.Credits = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) } } @@ -11862,13 +11399,25 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Clear(fd protoreflect.Fie // 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_MsgUpdateClassIssuersResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgSend.sender": + value := x.Sender + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSend.recipient": + value := x.Recipient + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSend.credits": + if len(x.Credits) == 0 { + return protoreflect.ValueOfList(&_MsgSend_3_list{}) + } + listValue := &_MsgSend_3_list{list: &x.Credits} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", descriptor.FullName())) } } @@ -11882,13 +11431,21 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSend) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSend.sender": + x.Sender = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.recipient": + x.Recipient = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.credits": + lv := value.List() + clv := lv.(*_MsgSend_3_list) + x.Credits = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend does not contain field %s", fd.FullName())) } } @@ -11902,36 +11459,53 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuersResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSend.credits": + if x.Credits == nil { + x.Credits = []*MsgSend_SendCredits{} + } + value := &_MsgSend_3_list{list: &x.Credits} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgSend.sender": + panic(fmt.Errorf("field sender of message regen.ecocredit.v1.MsgSend is not mutable")) + case "regen.ecocredit.v1.MsgSend.recipient": + panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgSend is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend 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_MsgUpdateClassIssuersResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgSend.sender": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSend.recipient": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSend.credits": + list := []*MsgSend_SendCredits{} + return protoreflect.ValueOfList(&_MsgSend_3_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend 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_MsgUpdateClassIssuersResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSend) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassIssuersResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSend", d.FullName())) } panic("unreachable") } @@ -11939,7 +11513,7 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) WhichOneof(d protoreflect // 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_MsgUpdateClassIssuersResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSend) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -11950,7 +11524,7 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassIssuersResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSend) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -11962,7 +11536,7 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) SetUnknown(fields protore // 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_MsgUpdateClassIssuersResponse) IsValid() bool { +func (x *fastReflection_MsgSend) IsValid() bool { return x != nil } @@ -11972,9 +11546,9 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSend) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) + x := input.Message.Interface().(*MsgSend) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11986,6 +11560,20 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac var n int var l int _ = l + l = len(x.Sender) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Recipient) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Credits) > 0 { + for _, e := range x.Credits { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -11996,7 +11584,7 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) + x := input.Message.Interface().(*MsgSend) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12015,6 +11603,36 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.Credits) > 0 { + for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Credits[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.Recipient) > 0 { + i -= len(x.Recipient) + copy(dAtA[i:], x.Recipient) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) + i-- + dAtA[i] = 0x12 + } + if len(x.Sender) > 0 { + i -= len(x.Sender) + copy(dAtA[i:], x.Sender) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Sender))) + i-- + dAtA[i] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -12026,7 +11644,7 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) + x := input.Message.Interface().(*MsgSend) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12058,12 +11676,110 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuersResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend: 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 Sender", 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.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Recipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Recipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", 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.Credits = append(x.Credits, &MsgSend_SendCredits{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -12100,30 +11816,34 @@ func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoifac } var ( - md_MsgUpdateClassMetadata protoreflect.MessageDescriptor - fd_MsgUpdateClassMetadata_admin protoreflect.FieldDescriptor - fd_MsgUpdateClassMetadata_class_id protoreflect.FieldDescriptor - fd_MsgUpdateClassMetadata_new_metadata protoreflect.FieldDescriptor + md_MsgSend_SendCredits protoreflect.MessageDescriptor + fd_MsgSend_SendCredits_batch_denom protoreflect.FieldDescriptor + fd_MsgSend_SendCredits_tradable_amount protoreflect.FieldDescriptor + fd_MsgSend_SendCredits_retired_amount protoreflect.FieldDescriptor + fd_MsgSend_SendCredits_retirement_jurisdiction protoreflect.FieldDescriptor + fd_MsgSend_SendCredits_retirement_reason protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassMetadata") - fd_MsgUpdateClassMetadata_admin = md_MsgUpdateClassMetadata.Fields().ByName("admin") - fd_MsgUpdateClassMetadata_class_id = md_MsgUpdateClassMetadata.Fields().ByName("class_id") - fd_MsgUpdateClassMetadata_new_metadata = md_MsgUpdateClassMetadata.Fields().ByName("new_metadata") + md_MsgSend_SendCredits = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSend").Messages().ByName("SendCredits") + fd_MsgSend_SendCredits_batch_denom = md_MsgSend_SendCredits.Fields().ByName("batch_denom") + fd_MsgSend_SendCredits_tradable_amount = md_MsgSend_SendCredits.Fields().ByName("tradable_amount") + fd_MsgSend_SendCredits_retired_amount = md_MsgSend_SendCredits.Fields().ByName("retired_amount") + fd_MsgSend_SendCredits_retirement_jurisdiction = md_MsgSend_SendCredits.Fields().ByName("retirement_jurisdiction") + fd_MsgSend_SendCredits_retirement_reason = md_MsgSend_SendCredits.Fields().ByName("retirement_reason") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassMetadata)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSend_SendCredits)(nil) -type fastReflection_MsgUpdateClassMetadata MsgUpdateClassMetadata +type fastReflection_MsgSend_SendCredits MsgSend_SendCredits -func (x *MsgUpdateClassMetadata) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassMetadata)(x) +func (x *MsgSend_SendCredits) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSend_SendCredits)(x) } -func (x *MsgUpdateClassMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] +func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12134,43 +11854,43 @@ func (x *MsgUpdateClassMetadata) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassMetadata_messageType fastReflection_MsgUpdateClassMetadata_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassMetadata_messageType{} +var _fastReflection_MsgSend_SendCredits_messageType fastReflection_MsgSend_SendCredits_messageType +var _ protoreflect.MessageType = fastReflection_MsgSend_SendCredits_messageType{} -type fastReflection_MsgUpdateClassMetadata_messageType struct{} +type fastReflection_MsgSend_SendCredits_messageType struct{} -func (x fastReflection_MsgUpdateClassMetadata_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassMetadata)(nil) +func (x fastReflection_MsgSend_SendCredits_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSend_SendCredits)(nil) } -func (x fastReflection_MsgUpdateClassMetadata_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassMetadata) +func (x fastReflection_MsgSend_SendCredits_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSend_SendCredits) } -func (x fastReflection_MsgUpdateClassMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassMetadata +func (x fastReflection_MsgSend_SendCredits_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSend_SendCredits } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassMetadata) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassMetadata +func (x *fastReflection_MsgSend_SendCredits) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSend_SendCredits } // 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_MsgUpdateClassMetadata) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassMetadata_messageType +func (x *fastReflection_MsgSend_SendCredits) Type() protoreflect.MessageType { + return _fastReflection_MsgSend_SendCredits_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassMetadata) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassMetadata) +func (x *fastReflection_MsgSend_SendCredits) New() protoreflect.Message { + return new(fastReflection_MsgSend_SendCredits) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassMetadata) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassMetadata)(x) +func (x *fastReflection_MsgSend_SendCredits) Interface() protoreflect.ProtoMessage { + return (*MsgSend_SendCredits)(x) } // Range iterates over every populated field in an undefined order, @@ -12178,22 +11898,34 @@ func (x *fastReflection_MsgUpdateClassMetadata) Interface() protoreflect.ProtoMe // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Admin != "" { - value := protoreflect.ValueOfString(x.Admin) - if !f(fd_MsgUpdateClassMetadata_admin, value) { +func (x *fastReflection_MsgSend_SendCredits) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgSend_SendCredits_batch_denom, value) { return } } - if x.ClassId != "" { - value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgUpdateClassMetadata_class_id, value) { + if x.TradableAmount != "" { + value := protoreflect.ValueOfString(x.TradableAmount) + if !f(fd_MsgSend_SendCredits_tradable_amount, value) { return } } - if x.NewMetadata != "" { - value := protoreflect.ValueOfString(x.NewMetadata) - if !f(fd_MsgUpdateClassMetadata_new_metadata, value) { + if x.RetiredAmount != "" { + value := protoreflect.ValueOfString(x.RetiredAmount) + if !f(fd_MsgSend_SendCredits_retired_amount, value) { + return + } + } + if x.RetirementJurisdiction != "" { + value := protoreflect.ValueOfString(x.RetirementJurisdiction) + if !f(fd_MsgSend_SendCredits_retirement_jurisdiction, value) { + return + } + } + if x.RetirementReason != "" { + value := protoreflect.ValueOfString(x.RetirementReason) + if !f(fd_MsgSend_SendCredits_retirement_reason, value) { return } } @@ -12210,19 +11942,23 @@ func (x *fastReflection_MsgUpdateClassMetadata) Range(f func(protoreflect.FieldD // 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_MsgUpdateClassMetadata) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSend_SendCredits) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": - return x.Admin != "" - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": - return x.ClassId != "" - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": - return x.NewMetadata != "" + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": + return x.TradableAmount != "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + return x.RetiredAmount != "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + return x.RetirementJurisdiction != "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": + return x.RetirementReason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) } } @@ -12232,19 +11968,23 @@ func (x *fastReflection_MsgUpdateClassMetadata) Has(fd protoreflect.FieldDescrip // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadata) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSend_SendCredits) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": - x.Admin = "" - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": - x.ClassId = "" - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": - x.NewMetadata = "" + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": + x.TradableAmount = "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + x.RetiredAmount = "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + x.RetirementJurisdiction = "" + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": + x.RetirementReason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) } } @@ -12254,22 +11994,28 @@ func (x *fastReflection_MsgUpdateClassMetadata) Clear(fd protoreflect.FieldDescr // 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_MsgUpdateClassMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend_SendCredits) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": - value := x.Admin - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": - value := x.ClassId + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": + value := x.BatchDenom return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": - value := x.NewMetadata + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": + value := x.TradableAmount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + value := x.RetiredAmount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + value := x.RetirementJurisdiction + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": + value := x.RetirementReason return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", descriptor.FullName())) } } @@ -12283,19 +12029,23 @@ func (x *fastReflection_MsgUpdateClassMetadata) Get(descriptor protoreflect.Fiel // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSend_SendCredits) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": - x.Admin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": - x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": - x.NewMetadata = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": + x.TradableAmount = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + x.RetiredAmount = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + x.RetirementJurisdiction = value.Interface().(string) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": + x.RetirementReason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits does not contain field %s", fd.FullName())) } } @@ -12309,48 +12059,56 @@ func (x *fastReflection_MsgUpdateClassMetadata) Set(fd protoreflect.FieldDescrip // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend_SendCredits) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": - panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": - panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": + panic(fmt.Errorf("field tradable_amount of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + panic(fmt.Errorf("field retired_amount of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + panic(fmt.Errorf("field retirement_jurisdiction of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": + panic(fmt.Errorf("field retirement_reason of message regen.ecocredit.v1.MsgSend.SendCredits is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits 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_MsgUpdateClassMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSend_SendCredits) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + case "regen.ecocredit.v1.MsgSend.SendCredits.batch_denom": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": + case "regen.ecocredit.v1.MsgSend.SendCredits.tradable_amount": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + case "regen.ecocredit.v1.MsgSend.SendCredits.retired_amount": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_jurisdiction": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSend.SendCredits.retirement_reason": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSend.SendCredits")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSend.SendCredits 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_MsgUpdateClassMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSend_SendCredits) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassMetadata", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSend.SendCredits", d.FullName())) } panic("unreachable") } @@ -12358,7 +12116,7 @@ func (x *fastReflection_MsgUpdateClassMetadata) WhichOneof(d protoreflect.OneofD // 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_MsgUpdateClassMetadata) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSend_SendCredits) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -12369,7 +12127,7 @@ func (x *fastReflection_MsgUpdateClassMetadata) GetUnknown() protoreflect.RawFie // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadata) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSend_SendCredits) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -12381,7 +12139,7 @@ func (x *fastReflection_MsgUpdateClassMetadata) SetUnknown(fields protoreflect.R // 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_MsgUpdateClassMetadata) IsValid() bool { +func (x *fastReflection_MsgSend_SendCredits) IsValid() bool { return x != nil } @@ -12391,9 +12149,9 @@ func (x *fastReflection_MsgUpdateClassMetadata) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSend_SendCredits) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassMetadata) + x := input.Message.Interface().(*MsgSend_SendCredits) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12405,15 +12163,23 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho var n int var l int _ = l - l = len(x.Admin) + l = len(x.BatchDenom) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ClassId) + l = len(x.TradableAmount) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.NewMetadata) + l = len(x.RetiredAmount) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RetirementJurisdiction) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RetirementReason) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -12427,7 +12193,7 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassMetadata) + x := input.Message.Interface().(*MsgSend_SendCredits) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12446,24 +12212,38 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewMetadata) > 0 { - i -= len(x.NewMetadata) - copy(dAtA[i:], x.NewMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) + if len(x.RetirementReason) > 0 { + i -= len(x.RetirementReason) + copy(dAtA[i:], x.RetirementReason) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RetirementReason))) + i-- + dAtA[i] = 0x2a + } + if len(x.RetirementJurisdiction) > 0 { + i -= len(x.RetirementJurisdiction) + copy(dAtA[i:], x.RetirementJurisdiction) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RetirementJurisdiction))) + 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.ClassId) > 0 { - i -= len(x.ClassId) - copy(dAtA[i:], x.ClassId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassId))) + 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 len(x.Admin) > 0 { - i -= len(x.Admin) - copy(dAtA[i:], x.Admin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Admin))) + 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] = 0xa } @@ -12478,7 +12258,7 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassMetadata) + x := input.Message.Interface().(*MsgSend_SendCredits) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12510,15 +12290,15 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadata: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend_SendCredits: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSend_SendCredits: 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 Admin", wireType) + 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 { @@ -12546,11 +12326,11 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Admin = string(dAtA[iNdEx:postIndex]) + x.BatchDenom = 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 ClassId", wireType) + 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 { @@ -12578,11 +12358,11 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ClassId = string(dAtA[iNdEx:postIndex]) + 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 NewMetadata", wireType) + 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 { @@ -12610,7 +12390,71 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.NewMetadata = string(dAtA[iNdEx:postIndex]) + 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 RetirementJurisdiction", 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.RetirementJurisdiction = 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 RetirementReason", 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.RetirementReason = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -12648,23 +12492,23 @@ func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Metho } var ( - md_MsgUpdateClassMetadataResponse protoreflect.MessageDescriptor + md_MsgSendResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassMetadataResponse") + md_MsgSendResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSendResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassMetadataResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSendResponse)(nil) -type fastReflection_MsgUpdateClassMetadataResponse MsgUpdateClassMetadataResponse +type fastReflection_MsgSendResponse MsgSendResponse -func (x *MsgUpdateClassMetadataResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassMetadataResponse)(x) +func (x *MsgSendResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSendResponse)(x) } -func (x *MsgUpdateClassMetadataResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgSendResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12676,43 +12520,43 @@ func (x *MsgUpdateClassMetadataResponse) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassMetadataResponse_messageType fastReflection_MsgUpdateClassMetadataResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassMetadataResponse_messageType{} +var _fastReflection_MsgSendResponse_messageType fastReflection_MsgSendResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSendResponse_messageType{} -type fastReflection_MsgUpdateClassMetadataResponse_messageType struct{} +type fastReflection_MsgSendResponse_messageType struct{} -func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassMetadataResponse)(nil) +func (x fastReflection_MsgSendResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSendResponse)(nil) } -func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassMetadataResponse) +func (x fastReflection_MsgSendResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSendResponse) } -func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassMetadataResponse +func (x fastReflection_MsgSendResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSendResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassMetadataResponse +func (x *fastReflection_MsgSendResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSendResponse } // 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_MsgUpdateClassMetadataResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassMetadataResponse_messageType +func (x *fastReflection_MsgSendResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSendResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassMetadataResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassMetadataResponse) +func (x *fastReflection_MsgSendResponse) New() protoreflect.Message { + return new(fastReflection_MsgSendResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassMetadataResponse)(x) +func (x *fastReflection_MsgSendResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSendResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -12720,7 +12564,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Interface() protoreflect // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgSendResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -12734,13 +12578,13 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Range(f func(protoreflec // 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_MsgUpdateClassMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSendResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) } } @@ -12750,13 +12594,13 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Has(fd protoreflect.Fiel // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSendResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) } } @@ -12766,13 +12610,13 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Clear(fd protoreflect.Fi // 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_MsgUpdateClassMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSendResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", descriptor.FullName())) } } @@ -12786,13 +12630,13 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Get(descriptor protorefl // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSendResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse does not contain field %s", fd.FullName())) } } @@ -12806,36 +12650,36 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) Set(fd protoreflect.Fiel // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSendResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse 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_MsgUpdateClassMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSendResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSendResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSendResponse 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_MsgUpdateClassMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSendResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassMetadataResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSendResponse", d.FullName())) } panic("unreachable") } @@ -12843,7 +12687,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) WhichOneof(d protoreflec // 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_MsgUpdateClassMetadataResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSendResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -12854,7 +12698,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) GetUnknown() protoreflec // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassMetadataResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSendResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -12866,7 +12710,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) SetUnknown(fields protor // 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_MsgUpdateClassMetadataResponse) IsValid() bool { +func (x *fastReflection_MsgSendResponse) IsValid() bool { return x != nil } @@ -12876,9 +12720,9 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSendResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) + x := input.Message.Interface().(*MsgSendResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12900,7 +12744,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoifa } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) + x := input.Message.Interface().(*MsgSendResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12930,7 +12774,7 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoifa }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) + x := input.Message.Interface().(*MsgSendResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -12962,10 +12806,10 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoifa fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadataResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSendResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadataResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSendResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13003,30 +12847,83 @@ func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoifa } } +var _ protoreflect.List = (*_MsgRetire_2_list)(nil) + +type _MsgRetire_2_list struct { + list *[]*Credits +} + +func (x *_MsgRetire_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgRetire_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgRetire_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + (*x.list)[i] = concreteValue +} + +func (x *_MsgRetire_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgRetire_2_list) AppendMutable() protoreflect.Value { + v := new(Credits) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgRetire_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgRetire_2_list) NewElement() protoreflect.Value { + v := new(Credits) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgRetire_2_list) IsValid() bool { + return x.list != nil +} + var ( - md_MsgUpdateProjectAdmin protoreflect.MessageDescriptor - fd_MsgUpdateProjectAdmin_admin protoreflect.FieldDescriptor - fd_MsgUpdateProjectAdmin_project_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectAdmin_new_admin protoreflect.FieldDescriptor + md_MsgRetire protoreflect.MessageDescriptor + fd_MsgRetire_owner protoreflect.FieldDescriptor + fd_MsgRetire_credits protoreflect.FieldDescriptor + fd_MsgRetire_jurisdiction protoreflect.FieldDescriptor + fd_MsgRetire_reason protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectAdmin = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectAdmin") - fd_MsgUpdateProjectAdmin_admin = md_MsgUpdateProjectAdmin.Fields().ByName("admin") - fd_MsgUpdateProjectAdmin_project_id = md_MsgUpdateProjectAdmin.Fields().ByName("project_id") - fd_MsgUpdateProjectAdmin_new_admin = md_MsgUpdateProjectAdmin.Fields().ByName("new_admin") + md_MsgRetire = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRetire") + fd_MsgRetire_owner = md_MsgRetire.Fields().ByName("owner") + fd_MsgRetire_credits = md_MsgRetire.Fields().ByName("credits") + fd_MsgRetire_jurisdiction = md_MsgRetire.Fields().ByName("jurisdiction") + fd_MsgRetire_reason = md_MsgRetire.Fields().ByName("reason") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectAdmin)(nil) +var _ protoreflect.Message = (*fastReflection_MsgRetire)(nil) -type fastReflection_MsgUpdateProjectAdmin MsgUpdateProjectAdmin +type fastReflection_MsgRetire MsgRetire -func (x *MsgUpdateProjectAdmin) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectAdmin)(x) +func (x *MsgRetire) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRetire)(x) } -func (x *MsgUpdateProjectAdmin) slowProtoReflect() protoreflect.Message { +func (x *MsgRetire) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13038,43 +12935,43 @@ func (x *MsgUpdateProjectAdmin) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectAdmin_messageType fastReflection_MsgUpdateProjectAdmin_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectAdmin_messageType{} +var _fastReflection_MsgRetire_messageType fastReflection_MsgRetire_messageType +var _ protoreflect.MessageType = fastReflection_MsgRetire_messageType{} -type fastReflection_MsgUpdateProjectAdmin_messageType struct{} +type fastReflection_MsgRetire_messageType struct{} -func (x fastReflection_MsgUpdateProjectAdmin_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectAdmin)(nil) +func (x fastReflection_MsgRetire_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRetire)(nil) } -func (x fastReflection_MsgUpdateProjectAdmin_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectAdmin) +func (x fastReflection_MsgRetire_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRetire) } -func (x fastReflection_MsgUpdateProjectAdmin_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectAdmin +func (x fastReflection_MsgRetire_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRetire } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectAdmin) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectAdmin +func (x *fastReflection_MsgRetire) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRetire } // 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_MsgUpdateProjectAdmin) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectAdmin_messageType +func (x *fastReflection_MsgRetire) Type() protoreflect.MessageType { + return _fastReflection_MsgRetire_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectAdmin) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectAdmin) +func (x *fastReflection_MsgRetire) New() protoreflect.Message { + return new(fastReflection_MsgRetire) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectAdmin) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectAdmin)(x) +func (x *fastReflection_MsgRetire) Interface() protoreflect.ProtoMessage { + return (*MsgRetire)(x) } // Range iterates over every populated field in an undefined order, @@ -13082,22 +12979,28 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Admin != "" { - value := protoreflect.ValueOfString(x.Admin) - if !f(fd_MsgUpdateProjectAdmin_admin, value) { +func (x *fastReflection_MsgRetire) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_MsgRetire_owner, value) { return } } - if x.ProjectId != "" { - value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgUpdateProjectAdmin_project_id, value) { + if len(x.Credits) != 0 { + value := protoreflect.ValueOfList(&_MsgRetire_2_list{list: &x.Credits}) + if !f(fd_MsgRetire_credits, value) { return } } - if x.NewAdmin != "" { - value := protoreflect.ValueOfString(x.NewAdmin) - if !f(fd_MsgUpdateProjectAdmin_new_admin, value) { + if x.Jurisdiction != "" { + value := protoreflect.ValueOfString(x.Jurisdiction) + if !f(fd_MsgRetire_jurisdiction, value) { + return + } + } + if x.Reason != "" { + value := protoreflect.ValueOfString(x.Reason) + if !f(fd_MsgRetire_reason, value) { return } } @@ -13114,19 +13017,21 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Range(f func(protoreflect.FieldDe // 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_MsgUpdateProjectAdmin) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgRetire) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": - return x.Admin != "" - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": - return x.ProjectId != "" - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": - return x.NewAdmin != "" + case "regen.ecocredit.v1.MsgRetire.owner": + return x.Owner != "" + case "regen.ecocredit.v1.MsgRetire.credits": + return len(x.Credits) != 0 + case "regen.ecocredit.v1.MsgRetire.jurisdiction": + return x.Jurisdiction != "" + case "regen.ecocredit.v1.MsgRetire.reason": + return x.Reason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) } } @@ -13136,19 +13041,21 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdmin) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgRetire) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": - x.Admin = "" - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": - x.ProjectId = "" - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": - x.NewAdmin = "" + case "regen.ecocredit.v1.MsgRetire.owner": + x.Owner = "" + case "regen.ecocredit.v1.MsgRetire.credits": + x.Credits = nil + case "regen.ecocredit.v1.MsgRetire.jurisdiction": + x.Jurisdiction = "" + case "regen.ecocredit.v1.MsgRetire.reason": + x.Reason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) } } @@ -13158,22 +13065,28 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Clear(fd protoreflect.FieldDescri // 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_MsgUpdateProjectAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetire) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": - value := x.Admin + case "regen.ecocredit.v1.MsgRetire.owner": + value := x.Owner return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": - value := x.ProjectId + case "regen.ecocredit.v1.MsgRetire.credits": + if len(x.Credits) == 0 { + return protoreflect.ValueOfList(&_MsgRetire_2_list{}) + } + listValue := &_MsgRetire_2_list{list: &x.Credits} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgRetire.jurisdiction": + value := x.Jurisdiction return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": - value := x.NewAdmin + case "regen.ecocredit.v1.MsgRetire.reason": + value := x.Reason return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", descriptor.FullName())) } } @@ -13187,19 +13100,23 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgRetire) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": - x.Admin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": - x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": - x.NewAdmin = value.Interface().(string) + case "regen.ecocredit.v1.MsgRetire.owner": + x.Owner = value.Interface().(string) + case "regen.ecocredit.v1.MsgRetire.credits": + lv := value.List() + clv := lv.(*_MsgRetire_2_list) + x.Credits = *clv.list + case "regen.ecocredit.v1.MsgRetire.jurisdiction": + x.Jurisdiction = value.Interface().(string) + case "regen.ecocredit.v1.MsgRetire.reason": + x.Reason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire does not contain field %s", fd.FullName())) } } @@ -13213,48 +13130,57 @@ func (x *fastReflection_MsgUpdateProjectAdmin) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetire) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": - panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": - panic(fmt.Errorf("field new_admin of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) + case "regen.ecocredit.v1.MsgRetire.credits": + if x.Credits == nil { + x.Credits = []*Credits{} + } + value := &_MsgRetire_2_list{list: &x.Credits} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgRetire.owner": + panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgRetire is not mutable")) + case "regen.ecocredit.v1.MsgRetire.jurisdiction": + panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgRetire is not mutable")) + case "regen.ecocredit.v1.MsgRetire.reason": + panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgRetire is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire 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_MsgUpdateProjectAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetire) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + case "regen.ecocredit.v1.MsgRetire.owner": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + case "regen.ecocredit.v1.MsgRetire.credits": + list := []*Credits{} + return protoreflect.ValueOfList(&_MsgRetire_2_list{list: &list}) + case "regen.ecocredit.v1.MsgRetire.jurisdiction": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + case "regen.ecocredit.v1.MsgRetire.reason": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetire")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetire 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_MsgUpdateProjectAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgRetire) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectAdmin", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRetire", d.FullName())) } panic("unreachable") } @@ -13262,7 +13188,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) WhichOneof(d protoreflect.OneofDe // 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_MsgUpdateProjectAdmin) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgRetire) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -13273,7 +13199,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdmin) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgRetire) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -13285,7 +13211,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) SetUnknown(fields protoreflect.Ra // 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_MsgUpdateProjectAdmin) IsValid() bool { +func (x *fastReflection_MsgRetire) IsValid() bool { return x != nil } @@ -13295,9 +13221,9 @@ func (x *fastReflection_MsgUpdateProjectAdmin) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgRetire) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectAdmin) + x := input.Message.Interface().(*MsgRetire) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13309,15 +13235,21 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method var n int var l int _ = l - l = len(x.Admin) + l = len(x.Owner) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ProjectId) + if len(x.Credits) > 0 { + for _, e := range x.Credits { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.Jurisdiction) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.NewAdmin) + l = len(x.Reason) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -13331,7 +13263,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectAdmin) + x := input.Message.Interface().(*MsgRetire) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13350,24 +13282,40 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewAdmin) > 0 { - i -= len(x.NewAdmin) - copy(dAtA[i:], x.NewAdmin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewAdmin))) + if len(x.Reason) > 0 { + i -= len(x.Reason) + copy(dAtA[i:], x.Reason) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } - if len(x.ProjectId) > 0 { - i -= len(x.ProjectId) - copy(dAtA[i:], x.ProjectId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectId))) + if len(x.Jurisdiction) > 0 { + i -= len(x.Jurisdiction) + copy(dAtA[i:], x.Jurisdiction) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Jurisdiction))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } - if len(x.Admin) > 0 { - i -= len(x.Admin) - copy(dAtA[i:], x.Admin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Admin))) + if len(x.Credits) > 0 { + for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Credits[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) i-- dAtA[i] = 0xa } @@ -13382,7 +13330,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectAdmin) + x := input.Message.Interface().(*MsgRetire) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13414,15 +13362,15 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdmin: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetire: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdmin: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetire: 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 Admin", wireType) + 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 { @@ -13450,11 +13398,45 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Admin = string(dAtA[iNdEx:postIndex]) + x.Owner = 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 ProjectId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", 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.Credits = append(x.Credits, &Credits{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13482,11 +13464,11 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ProjectId = string(dAtA[iNdEx:postIndex]) + x.Jurisdiction = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewAdmin", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13514,7 +13496,7 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.NewAdmin = string(dAtA[iNdEx:postIndex]) + x.Reason = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -13552,23 +13534,23 @@ func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Method } var ( - md_MsgUpdateProjectAdminResponse protoreflect.MessageDescriptor + md_MsgRetireResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectAdminResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectAdminResponse") + md_MsgRetireResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRetireResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectAdminResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgRetireResponse)(nil) -type fastReflection_MsgUpdateProjectAdminResponse MsgUpdateProjectAdminResponse +type fastReflection_MsgRetireResponse MsgRetireResponse -func (x *MsgUpdateProjectAdminResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectAdminResponse)(x) +func (x *MsgRetireResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRetireResponse)(x) } -func (x *MsgUpdateProjectAdminResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgRetireResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13580,51 +13562,51 @@ func (x *MsgUpdateProjectAdminResponse) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectAdminResponse_messageType fastReflection_MsgUpdateProjectAdminResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectAdminResponse_messageType{} +var _fastReflection_MsgRetireResponse_messageType fastReflection_MsgRetireResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRetireResponse_messageType{} -type fastReflection_MsgUpdateProjectAdminResponse_messageType struct{} +type fastReflection_MsgRetireResponse_messageType struct{} -func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectAdminResponse)(nil) +func (x fastReflection_MsgRetireResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRetireResponse)(nil) } -func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectAdminResponse) +func (x fastReflection_MsgRetireResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRetireResponse) } -func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectAdminResponse +func (x fastReflection_MsgRetireResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRetireResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectAdminResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectAdminResponse +func (x *fastReflection_MsgRetireResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRetireResponse } // 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_MsgUpdateProjectAdminResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectAdminResponse_messageType +func (x *fastReflection_MsgRetireResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRetireResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectAdminResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectAdminResponse) +func (x *fastReflection_MsgRetireResponse) New() protoreflect.Message { + return new(fastReflection_MsgRetireResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectAdminResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectAdminResponse)(x) -} +func (x *fastReflection_MsgRetireResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRetireResponse)(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_MsgUpdateProjectAdminResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgRetireResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -13638,13 +13620,13 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) Range(f func(protoreflect // 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_MsgUpdateProjectAdminResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgRetireResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) } } @@ -13654,13 +13636,13 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdminResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgRetireResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) } } @@ -13670,13 +13652,13 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) Clear(fd protoreflect.Fie // 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_MsgUpdateProjectAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetireResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", descriptor.FullName())) } } @@ -13690,13 +13672,13 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgRetireResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse does not contain field %s", fd.FullName())) } } @@ -13710,36 +13692,36 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetireResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse 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_MsgUpdateProjectAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgRetireResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRetireResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRetireResponse 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_MsgUpdateProjectAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgRetireResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectAdminResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRetireResponse", d.FullName())) } panic("unreachable") } @@ -13747,7 +13729,7 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) WhichOneof(d protoreflect // 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_MsgUpdateProjectAdminResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgRetireResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -13758,7 +13740,7 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectAdminResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgRetireResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -13770,7 +13752,7 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) SetUnknown(fields protore // 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_MsgUpdateProjectAdminResponse) IsValid() bool { +func (x *fastReflection_MsgRetireResponse) IsValid() bool { return x != nil } @@ -13780,9 +13762,9 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgRetireResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) + x := input.Message.Interface().(*MsgRetireResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13804,7 +13786,7 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) + x := input.Message.Interface().(*MsgRetireResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13834,7 +13816,7 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) + x := input.Message.Interface().(*MsgRetireResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -13866,10 +13848,10 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdminResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetireResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdminResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRetireResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13907,30 +13889,81 @@ func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoifac } } +var _ protoreflect.List = (*_MsgCancel_2_list)(nil) + +type _MsgCancel_2_list struct { + list *[]*Credits +} + +func (x *_MsgCancel_2_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgCancel_2_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgCancel_2_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + (*x.list)[i] = concreteValue +} + +func (x *_MsgCancel_2_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgCancel_2_list) AppendMutable() protoreflect.Value { + v := new(Credits) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCancel_2_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgCancel_2_list) NewElement() protoreflect.Value { + v := new(Credits) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCancel_2_list) IsValid() bool { + return x.list != nil +} + var ( - md_MsgUpdateProjectMetadata protoreflect.MessageDescriptor - fd_MsgUpdateProjectMetadata_admin protoreflect.FieldDescriptor - fd_MsgUpdateProjectMetadata_project_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectMetadata_new_metadata protoreflect.FieldDescriptor + md_MsgCancel protoreflect.MessageDescriptor + fd_MsgCancel_owner protoreflect.FieldDescriptor + fd_MsgCancel_credits protoreflect.FieldDescriptor + fd_MsgCancel_reason protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectMetadata") - fd_MsgUpdateProjectMetadata_admin = md_MsgUpdateProjectMetadata.Fields().ByName("admin") - fd_MsgUpdateProjectMetadata_project_id = md_MsgUpdateProjectMetadata.Fields().ByName("project_id") - fd_MsgUpdateProjectMetadata_new_metadata = md_MsgUpdateProjectMetadata.Fields().ByName("new_metadata") + md_MsgCancel = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCancel") + fd_MsgCancel_owner = md_MsgCancel.Fields().ByName("owner") + fd_MsgCancel_credits = md_MsgCancel.Fields().ByName("credits") + fd_MsgCancel_reason = md_MsgCancel.Fields().ByName("reason") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectMetadata)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCancel)(nil) -type fastReflection_MsgUpdateProjectMetadata MsgUpdateProjectMetadata +type fastReflection_MsgCancel MsgCancel -func (x *MsgUpdateProjectMetadata) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectMetadata)(x) +func (x *MsgCancel) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCancel)(x) } -func (x *MsgUpdateProjectMetadata) slowProtoReflect() protoreflect.Message { +func (x *MsgCancel) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -13942,43 +13975,43 @@ func (x *MsgUpdateProjectMetadata) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectMetadata_messageType fastReflection_MsgUpdateProjectMetadata_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectMetadata_messageType{} +var _fastReflection_MsgCancel_messageType fastReflection_MsgCancel_messageType +var _ protoreflect.MessageType = fastReflection_MsgCancel_messageType{} -type fastReflection_MsgUpdateProjectMetadata_messageType struct{} +type fastReflection_MsgCancel_messageType struct{} -func (x fastReflection_MsgUpdateProjectMetadata_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectMetadata)(nil) +func (x fastReflection_MsgCancel_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCancel)(nil) } -func (x fastReflection_MsgUpdateProjectMetadata_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectMetadata) +func (x fastReflection_MsgCancel_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCancel) } -func (x fastReflection_MsgUpdateProjectMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectMetadata +func (x fastReflection_MsgCancel_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCancel } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectMetadata) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectMetadata +func (x *fastReflection_MsgCancel) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCancel } // 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_MsgUpdateProjectMetadata) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectMetadata_messageType +func (x *fastReflection_MsgCancel) Type() protoreflect.MessageType { + return _fastReflection_MsgCancel_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectMetadata) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectMetadata) +func (x *fastReflection_MsgCancel) New() protoreflect.Message { + return new(fastReflection_MsgCancel) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectMetadata) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectMetadata)(x) +func (x *fastReflection_MsgCancel) Interface() protoreflect.ProtoMessage { + return (*MsgCancel)(x) } // Range iterates over every populated field in an undefined order, @@ -13986,22 +14019,22 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Admin != "" { - value := protoreflect.ValueOfString(x.Admin) - if !f(fd_MsgUpdateProjectMetadata_admin, value) { +func (x *fastReflection_MsgCancel) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_MsgCancel_owner, value) { return } } - if x.ProjectId != "" { - value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgUpdateProjectMetadata_project_id, value) { + if len(x.Credits) != 0 { + value := protoreflect.ValueOfList(&_MsgCancel_2_list{list: &x.Credits}) + if !f(fd_MsgCancel_credits, value) { return } } - if x.NewMetadata != "" { - value := protoreflect.ValueOfString(x.NewMetadata) - if !f(fd_MsgUpdateProjectMetadata_new_metadata, value) { + if x.Reason != "" { + value := protoreflect.ValueOfString(x.Reason) + if !f(fd_MsgCancel_reason, value) { return } } @@ -14018,19 +14051,19 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Range(f func(protoreflect.Fiel // 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_MsgUpdateProjectMetadata) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCancel) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - return x.Admin != "" - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": - return x.ProjectId != "" - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": - return x.NewMetadata != "" + case "regen.ecocredit.v1.MsgCancel.owner": + return x.Owner != "" + case "regen.ecocredit.v1.MsgCancel.credits": + return len(x.Credits) != 0 + case "regen.ecocredit.v1.MsgCancel.reason": + return x.Reason != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) } } @@ -14040,19 +14073,19 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadata) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCancel) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - x.Admin = "" - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": - x.ProjectId = "" - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": - x.NewMetadata = "" + case "regen.ecocredit.v1.MsgCancel.owner": + x.Owner = "" + case "regen.ecocredit.v1.MsgCancel.credits": + x.Credits = nil + case "regen.ecocredit.v1.MsgCancel.reason": + x.Reason = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) } } @@ -14062,22 +14095,25 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Clear(fd protoreflect.FieldDes // 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_MsgUpdateProjectMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancel) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - value := x.Admin - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": - value := x.ProjectId + case "regen.ecocredit.v1.MsgCancel.owner": + value := x.Owner return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": - value := x.NewMetadata + case "regen.ecocredit.v1.MsgCancel.credits": + if len(x.Credits) == 0 { + return protoreflect.ValueOfList(&_MsgCancel_2_list{}) + } + listValue := &_MsgCancel_2_list{list: &x.Credits} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgCancel.reason": + value := x.Reason return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", descriptor.FullName())) } } @@ -14091,19 +14127,21 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCancel) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - x.Admin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": - x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": - x.NewMetadata = value.Interface().(string) + case "regen.ecocredit.v1.MsgCancel.owner": + x.Owner = value.Interface().(string) + case "regen.ecocredit.v1.MsgCancel.credits": + lv := value.List() + clv := lv.(*_MsgCancel_2_list) + x.Credits = *clv.list + case "regen.ecocredit.v1.MsgCancel.reason": + x.Reason = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel does not contain field %s", fd.FullName())) } } @@ -14117,48 +14155,53 @@ func (x *fastReflection_MsgUpdateProjectMetadata) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancel) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": - panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) + case "regen.ecocredit.v1.MsgCancel.credits": + if x.Credits == nil { + x.Credits = []*Credits{} + } + value := &_MsgCancel_2_list{list: &x.Credits} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgCancel.owner": + panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgCancel is not mutable")) + case "regen.ecocredit.v1.MsgCancel.reason": + panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgCancel is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel 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_MsgUpdateProjectMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancel) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + case "regen.ecocredit.v1.MsgCancel.owner": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + case "regen.ecocredit.v1.MsgCancel.credits": + list := []*Credits{} + return protoreflect.ValueOfList(&_MsgCancel_2_list{list: &list}) + case "regen.ecocredit.v1.MsgCancel.reason": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancel")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancel 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_MsgUpdateProjectMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCancel) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectMetadata", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCancel", d.FullName())) } panic("unreachable") } @@ -14166,7 +14209,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) WhichOneof(d protoreflect.Oneo // 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_MsgUpdateProjectMetadata) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCancel) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -14177,7 +14220,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadata) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCancel) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -14189,7 +14232,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) SetUnknown(fields protoreflect // 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_MsgUpdateProjectMetadata) IsValid() bool { +func (x *fastReflection_MsgCancel) IsValid() bool { return x != nil } @@ -14199,9 +14242,9 @@ func (x *fastReflection_MsgUpdateProjectMetadata) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCancel) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectMetadata) + x := input.Message.Interface().(*MsgCancel) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14213,15 +14256,17 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met var n int var l int _ = l - l = len(x.Admin) + l = len(x.Owner) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ProjectId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if len(x.Credits) > 0 { + for _, e := range x.Credits { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } } - l = len(x.NewMetadata) + l = len(x.Reason) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -14235,7 +14280,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectMetadata) + x := input.Message.Interface().(*MsgCancel) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14254,24 +14299,33 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewMetadata) > 0 { - i -= len(x.NewMetadata) - copy(dAtA[i:], x.NewMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) + if len(x.Reason) > 0 { + i -= len(x.Reason) + copy(dAtA[i:], x.Reason) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) i-- dAtA[i] = 0x1a } - 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] = 0x12 + if len(x.Credits) > 0 { + for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Credits[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } } - if len(x.Admin) > 0 { - i -= len(x.Admin) - copy(dAtA[i:], x.Admin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Admin))) + 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] = 0xa } @@ -14286,7 +14340,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectMetadata) + x := input.Message.Interface().(*MsgCancel) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14318,15 +14372,15 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadata: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancel: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancel: 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 Admin", wireType) + 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 { @@ -14354,13 +14408,13 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Admin = string(dAtA[iNdEx:postIndex]) + x.Owner = 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 ProjectId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -14370,27 +14424,29 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + intStringLen + 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.ProjectId = string(dAtA[iNdEx:postIndex]) + x.Credits = append(x.Credits, &Credits{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewMetadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14418,7 +14474,7 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.NewMetadata = string(dAtA[iNdEx:postIndex]) + x.Reason = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14456,23 +14512,23 @@ func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Met } var ( - md_MsgUpdateProjectMetadataResponse protoreflect.MessageDescriptor + md_MsgCancelResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectMetadataResponse") + md_MsgCancelResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCancelResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectMetadataResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCancelResponse)(nil) -type fastReflection_MsgUpdateProjectMetadataResponse MsgUpdateProjectMetadataResponse +type fastReflection_MsgCancelResponse MsgCancelResponse -func (x *MsgUpdateProjectMetadataResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectMetadataResponse)(x) +func (x *MsgCancelResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCancelResponse)(x) } -func (x *MsgUpdateProjectMetadataResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgCancelResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14484,43 +14540,43 @@ func (x *MsgUpdateProjectMetadataResponse) slowProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectMetadataResponse_messageType fastReflection_MsgUpdateProjectMetadataResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectMetadataResponse_messageType{} +var _fastReflection_MsgCancelResponse_messageType fastReflection_MsgCancelResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCancelResponse_messageType{} -type fastReflection_MsgUpdateProjectMetadataResponse_messageType struct{} +type fastReflection_MsgCancelResponse_messageType struct{} -func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectMetadataResponse)(nil) +func (x fastReflection_MsgCancelResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCancelResponse)(nil) } -func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectMetadataResponse) +func (x fastReflection_MsgCancelResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCancelResponse) } -func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectMetadataResponse +func (x fastReflection_MsgCancelResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCancelResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectMetadataResponse +func (x *fastReflection_MsgCancelResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCancelResponse } // 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_MsgUpdateProjectMetadataResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectMetadataResponse_messageType +func (x *fastReflection_MsgCancelResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCancelResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectMetadataResponse) +func (x *fastReflection_MsgCancelResponse) New() protoreflect.Message { + return new(fastReflection_MsgCancelResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectMetadataResponse)(x) +func (x *fastReflection_MsgCancelResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCancelResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -14528,7 +14584,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Interface() protorefle // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCancelResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -14542,13 +14598,13 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Range(f func(protorefl // 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_MsgUpdateProjectMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCancelResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) } } @@ -14558,13 +14614,13 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Has(fd protoreflect.Fi // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCancelResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) } } @@ -14574,13 +14630,13 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Clear(fd protoreflect. // 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_MsgUpdateProjectMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancelResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", descriptor.FullName())) } } @@ -14594,13 +14650,13 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Get(descriptor protore // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCancelResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse does not contain field %s", fd.FullName())) } } @@ -14614,36 +14670,36 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) Set(fd protoreflect.Fi // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancelResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse 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_MsgUpdateProjectMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCancelResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCancelResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCancelResponse 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_MsgUpdateProjectMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCancelResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectMetadataResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCancelResponse", d.FullName())) } panic("unreachable") } @@ -14651,7 +14707,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) WhichOneof(d protorefl // 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_MsgUpdateProjectMetadataResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCancelResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -14662,7 +14718,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) GetUnknown() protorefl // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCancelResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -14674,7 +14730,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) SetUnknown(fields prot // 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_MsgUpdateProjectMetadataResponse) IsValid() bool { +func (x *fastReflection_MsgCancelResponse) IsValid() bool { return x != nil } @@ -14684,9 +14740,9 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCancelResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) + x := input.Message.Interface().(*MsgCancelResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14708,7 +14764,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoi } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) + x := input.Message.Interface().(*MsgCancelResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14738,7 +14794,7 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoi }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) + x := input.Message.Interface().(*MsgCancelResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -14770,10 +14826,10 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoi fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadataResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadataResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14811,83 +14867,30 @@ func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoi } } -var _ protoreflect.List = (*_MsgBridge_4_list)(nil) - -type _MsgBridge_4_list struct { - list *[]*Credits -} - -func (x *_MsgBridge_4_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_MsgBridge_4_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_MsgBridge_4_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - (*x.list)[i] = concreteValue -} - -func (x *_MsgBridge_4_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*Credits) - *x.list = append(*x.list, concreteValue) -} - -func (x *_MsgBridge_4_list) AppendMutable() protoreflect.Value { - v := new(Credits) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgBridge_4_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_MsgBridge_4_list) NewElement() protoreflect.Value { - v := new(Credits) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_MsgBridge_4_list) IsValid() bool { - return x.list != nil -} - var ( - md_MsgBridge protoreflect.MessageDescriptor - fd_MsgBridge_owner protoreflect.FieldDescriptor - fd_MsgBridge_target protoreflect.FieldDescriptor - fd_MsgBridge_recipient protoreflect.FieldDescriptor - fd_MsgBridge_credits protoreflect.FieldDescriptor + md_MsgUpdateClassAdmin protoreflect.MessageDescriptor + fd_MsgUpdateClassAdmin_admin protoreflect.FieldDescriptor + fd_MsgUpdateClassAdmin_class_id protoreflect.FieldDescriptor + fd_MsgUpdateClassAdmin_new_admin protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridge = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridge") - fd_MsgBridge_owner = md_MsgBridge.Fields().ByName("owner") - fd_MsgBridge_target = md_MsgBridge.Fields().ByName("target") - fd_MsgBridge_recipient = md_MsgBridge.Fields().ByName("recipient") - fd_MsgBridge_credits = md_MsgBridge.Fields().ByName("credits") + md_MsgUpdateClassAdmin = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassAdmin") + fd_MsgUpdateClassAdmin_admin = md_MsgUpdateClassAdmin.Fields().ByName("admin") + fd_MsgUpdateClassAdmin_class_id = md_MsgUpdateClassAdmin.Fields().ByName("class_id") + fd_MsgUpdateClassAdmin_new_admin = md_MsgUpdateClassAdmin.Fields().ByName("new_admin") } -var _ protoreflect.Message = (*fastReflection_MsgBridge)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassAdmin)(nil) -type fastReflection_MsgBridge MsgBridge +type fastReflection_MsgUpdateClassAdmin MsgUpdateClassAdmin -func (x *MsgBridge) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridge)(x) +func (x *MsgUpdateClassAdmin) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassAdmin)(x) } -func (x *MsgBridge) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassAdmin) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14899,43 +14902,43 @@ func (x *MsgBridge) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridge_messageType fastReflection_MsgBridge_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridge_messageType{} +var _fastReflection_MsgUpdateClassAdmin_messageType fastReflection_MsgUpdateClassAdmin_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassAdmin_messageType{} -type fastReflection_MsgBridge_messageType struct{} +type fastReflection_MsgUpdateClassAdmin_messageType struct{} -func (x fastReflection_MsgBridge_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridge)(nil) +func (x fastReflection_MsgUpdateClassAdmin_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassAdmin)(nil) } -func (x fastReflection_MsgBridge_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridge) +func (x fastReflection_MsgUpdateClassAdmin_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassAdmin) } -func (x fastReflection_MsgBridge_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridge +func (x fastReflection_MsgUpdateClassAdmin_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassAdmin } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridge) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridge +func (x *fastReflection_MsgUpdateClassAdmin) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassAdmin } // 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_MsgBridge) Type() protoreflect.MessageType { - return _fastReflection_MsgBridge_messageType +func (x *fastReflection_MsgUpdateClassAdmin) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassAdmin_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridge) New() protoreflect.Message { - return new(fastReflection_MsgBridge) +func (x *fastReflection_MsgUpdateClassAdmin) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassAdmin) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridge) Interface() protoreflect.ProtoMessage { - return (*MsgBridge)(x) +func (x *fastReflection_MsgUpdateClassAdmin) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassAdmin)(x) } // Range iterates over every populated field in an undefined order, @@ -14943,28 +14946,22 @@ func (x *fastReflection_MsgBridge) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridge) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Owner != "" { - value := protoreflect.ValueOfString(x.Owner) - if !f(fd_MsgBridge_owner, value) { - return - } - } - if x.Target != "" { - value := protoreflect.ValueOfString(x.Target) - if !f(fd_MsgBridge_target, value) { +func (x *fastReflection_MsgUpdateClassAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgUpdateClassAdmin_admin, value) { return } } - if x.Recipient != "" { - value := protoreflect.ValueOfString(x.Recipient) - if !f(fd_MsgBridge_recipient, value) { + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgUpdateClassAdmin_class_id, value) { return } } - if len(x.Credits) != 0 { - value := protoreflect.ValueOfList(&_MsgBridge_4_list{list: &x.Credits}) - if !f(fd_MsgBridge_credits, value) { + if x.NewAdmin != "" { + value := protoreflect.ValueOfString(x.NewAdmin) + if !f(fd_MsgUpdateClassAdmin_new_admin, value) { return } } @@ -14981,21 +14978,19 @@ func (x *fastReflection_MsgBridge) Range(f func(protoreflect.FieldDescriptor, pr // 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_MsgBridge) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassAdmin) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridge.owner": - return x.Owner != "" - case "regen.ecocredit.v1.MsgBridge.target": - return x.Target != "" - case "regen.ecocredit.v1.MsgBridge.recipient": - return x.Recipient != "" - case "regen.ecocredit.v1.MsgBridge.credits": - return len(x.Credits) != 0 + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": + return x.Admin != "" + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": + return x.NewAdmin != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) } } @@ -15005,21 +15000,19 @@ func (x *fastReflection_MsgBridge) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridge) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassAdmin) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridge.owner": - x.Owner = "" - case "regen.ecocredit.v1.MsgBridge.target": - x.Target = "" - case "regen.ecocredit.v1.MsgBridge.recipient": - x.Recipient = "" - case "regen.ecocredit.v1.MsgBridge.credits": - x.Credits = nil + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": + x.Admin = "" + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": + x.NewAdmin = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) } } @@ -15029,28 +15022,22 @@ func (x *fastReflection_MsgBridge) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBridge) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBridge.owner": - value := x.Owner + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": + value := x.Admin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridge.target": - value := x.Target + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": + value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridge.recipient": - value := x.Recipient + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": + value := x.NewAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridge.credits": - if len(x.Credits) == 0 { - return protoreflect.ValueOfList(&_MsgBridge_4_list{}) - } - listValue := &_MsgBridge_4_list{list: &x.Credits} - return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", descriptor.FullName())) } } @@ -15064,23 +15051,19 @@ func (x *fastReflection_MsgBridge) Get(descriptor protoreflect.FieldDescriptor) // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridge) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridge.owner": - x.Owner = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridge.target": - x.Target = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridge.recipient": - x.Recipient = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridge.credits": - lv := value.List() - clv := lv.(*_MsgBridge_4_list) - x.Credits = *clv.list + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": + x.NewAdmin = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin does not contain field %s", fd.FullName())) } } @@ -15094,57 +15077,48 @@ func (x *fastReflection_MsgBridge) Set(fd protoreflect.FieldDescriptor, value pr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridge) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridge.credits": - if x.Credits == nil { - x.Credits = []*Credits{} - } - value := &_MsgBridge_4_list{list: &x.Credits} - return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.MsgBridge.owner": - panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgBridge is not mutable")) - case "regen.ecocredit.v1.MsgBridge.target": - panic(fmt.Errorf("field target of message regen.ecocredit.v1.MsgBridge is not mutable")) - case "regen.ecocredit.v1.MsgBridge.recipient": - panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgBridge is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": + panic(fmt.Errorf("field new_admin of message regen.ecocredit.v1.MsgUpdateClassAdmin is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin 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_MsgBridge) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridge.owner": + case "regen.ecocredit.v1.MsgUpdateClassAdmin.admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridge.target": + case "regen.ecocredit.v1.MsgUpdateClassAdmin.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridge.recipient": + case "regen.ecocredit.v1.MsgUpdateClassAdmin.new_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridge.credits": - list := []*Credits{} - return protoreflect.ValueOfList(&_MsgBridge_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdmin 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_MsgBridge) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridge", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassAdmin", d.FullName())) } panic("unreachable") } @@ -15152,7 +15126,7 @@ func (x *fastReflection_MsgBridge) WhichOneof(d protoreflect.OneofDescriptor) pr // 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_MsgBridge) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassAdmin) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -15163,7 +15137,7 @@ func (x *fastReflection_MsgBridge) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridge) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassAdmin) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -15175,7 +15149,7 @@ func (x *fastReflection_MsgBridge) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgBridge) IsValid() bool { +func (x *fastReflection_MsgUpdateClassAdmin) IsValid() bool { return x != nil } @@ -15185,9 +15159,9 @@ func (x *fastReflection_MsgBridge) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassAdmin) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridge) + x := input.Message.Interface().(*MsgUpdateClassAdmin) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15199,24 +15173,18 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Owner) + l = len(x.Admin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Target) + l = len(x.ClassId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Recipient) + l = len(x.NewAdmin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if len(x.Credits) > 0 { - for _, e := range x.Credits { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -15227,7 +15195,7 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridge) + x := input.Message.Interface().(*MsgUpdateClassAdmin) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15246,40 +15214,24 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Credits) > 0 { - for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Credits[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] = 0x22 - } - } - if len(x.Recipient) > 0 { - i -= len(x.Recipient) - copy(dAtA[i:], x.Recipient) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) + if len(x.NewAdmin) > 0 { + i -= len(x.NewAdmin) + copy(dAtA[i:], x.NewAdmin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewAdmin))) i-- dAtA[i] = 0x1a } - if len(x.Target) > 0 { - i -= len(x.Target) - copy(dAtA[i:], x.Target) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Target))) + 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] = 0x12 } - if len(x.Owner) > 0 { - i -= len(x.Owner) - copy(dAtA[i:], x.Owner) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + 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] = 0xa } @@ -15294,7 +15246,7 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridge) + x := input.Message.Interface().(*MsgUpdateClassAdmin) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15326,15 +15278,15 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridge: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdmin: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridge: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdmin: 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 Owner", wireType) + 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 { @@ -15362,11 +15314,11 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Owner = string(dAtA[iNdEx:postIndex]) + x.Admin = 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 Target", wireType) + 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 { @@ -15394,11 +15346,11 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Target = string(dAtA[iNdEx:postIndex]) + x.ClassId = 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 Recipient", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15426,41 +15378,7 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Recipient = 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 Credits", 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.Credits = append(x.Credits, &Credits{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.NewAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -15498,29 +15416,23 @@ func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { } var ( - md_MsgUpdateBatchMetadata protoreflect.MessageDescriptor - fd_MsgUpdateBatchMetadata_issuer protoreflect.FieldDescriptor - fd_MsgUpdateBatchMetadata_batch_denom protoreflect.FieldDescriptor - fd_MsgUpdateBatchMetadata_new_metadata protoreflect.FieldDescriptor + md_MsgUpdateClassAdminResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateBatchMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateBatchMetadata") - fd_MsgUpdateBatchMetadata_issuer = md_MsgUpdateBatchMetadata.Fields().ByName("issuer") - fd_MsgUpdateBatchMetadata_batch_denom = md_MsgUpdateBatchMetadata.Fields().ByName("batch_denom") - fd_MsgUpdateBatchMetadata_new_metadata = md_MsgUpdateBatchMetadata.Fields().ByName("new_metadata") + md_MsgUpdateClassAdminResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassAdminResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateBatchMetadata)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassAdminResponse)(nil) -type fastReflection_MsgUpdateBatchMetadata MsgUpdateBatchMetadata +type fastReflection_MsgUpdateClassAdminResponse MsgUpdateClassAdminResponse -func (x *MsgUpdateBatchMetadata) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateBatchMetadata)(x) +func (x *MsgUpdateClassAdminResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassAdminResponse)(x) } -func (x *MsgUpdateBatchMetadata) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassAdminResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15532,43 +15444,43 @@ func (x *MsgUpdateBatchMetadata) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateBatchMetadata_messageType fastReflection_MsgUpdateBatchMetadata_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateBatchMetadata_messageType{} +var _fastReflection_MsgUpdateClassAdminResponse_messageType fastReflection_MsgUpdateClassAdminResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassAdminResponse_messageType{} -type fastReflection_MsgUpdateBatchMetadata_messageType struct{} +type fastReflection_MsgUpdateClassAdminResponse_messageType struct{} -func (x fastReflection_MsgUpdateBatchMetadata_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateBatchMetadata)(nil) +func (x fastReflection_MsgUpdateClassAdminResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassAdminResponse)(nil) } -func (x fastReflection_MsgUpdateBatchMetadata_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateBatchMetadata) +func (x fastReflection_MsgUpdateClassAdminResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassAdminResponse) } -func (x fastReflection_MsgUpdateBatchMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateBatchMetadata +func (x fastReflection_MsgUpdateClassAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassAdminResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateBatchMetadata) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateBatchMetadata +func (x *fastReflection_MsgUpdateClassAdminResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassAdminResponse } // 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_MsgUpdateBatchMetadata) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateBatchMetadata_messageType +func (x *fastReflection_MsgUpdateClassAdminResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassAdminResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateBatchMetadata) New() protoreflect.Message { - return new(fastReflection_MsgUpdateBatchMetadata) +func (x *fastReflection_MsgUpdateClassAdminResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassAdminResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateBatchMetadata) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateBatchMetadata)(x) +func (x *fastReflection_MsgUpdateClassAdminResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassAdminResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -15576,25 +15488,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Interface() protoreflect.ProtoMe // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateBatchMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgUpdateBatchMetadata_issuer, value) { - return - } - } - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgUpdateBatchMetadata_batch_denom, value) { - return - } - } - if x.NewMetadata != "" { - value := protoreflect.ValueOfString(x.NewMetadata) - if !f(fd_MsgUpdateBatchMetadata_new_metadata, value) { - return - } - } +func (x *fastReflection_MsgUpdateClassAdminResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -15608,19 +15502,13 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Range(f func(protoreflect.FieldD // 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_MsgUpdateBatchMetadata) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassAdminResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - return x.BatchDenom != "" - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - return x.NewMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) } } @@ -15630,19 +15518,13 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Has(fd protoreflect.FieldDescrip // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadata) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassAdminResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - x.BatchDenom = "" - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - x.NewMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) } } @@ -15652,22 +15534,13 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Clear(fd protoreflect.FieldDescr // 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_MsgUpdateBatchMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - value := x.BatchDenom - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - value := x.NewMetadata - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", descriptor.FullName())) } } @@ -15681,19 +15554,13 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Get(descriptor protoreflect.Fiel // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - x.BatchDenom = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - x.NewMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse does not contain field %s", fd.FullName())) } } @@ -15707,48 +15574,36 @@ func (x *fastReflection_MsgUpdateBatchMetadata) Set(fd protoreflect.FieldDescrip // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse 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_MsgUpdateBatchMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassAdminResponse 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_MsgUpdateBatchMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateBatchMetadata", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassAdminResponse", d.FullName())) } panic("unreachable") } @@ -15756,7 +15611,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) WhichOneof(d protoreflect.OneofD // 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_MsgUpdateBatchMetadata) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassAdminResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -15767,7 +15622,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) GetUnknown() protoreflect.RawFie // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadata) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassAdminResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -15779,7 +15634,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) SetUnknown(fields protoreflect.R // 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_MsgUpdateBatchMetadata) IsValid() bool { +func (x *fastReflection_MsgUpdateClassAdminResponse) IsValid() bool { return x != nil } @@ -15789,9 +15644,9 @@ func (x *fastReflection_MsgUpdateBatchMetadata) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassAdminResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateBatchMetadata) + x := input.Message.Interface().(*MsgUpdateClassAdminResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15803,18 +15658,6 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho var n int var l int _ = l - l = len(x.Issuer) - 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.NewMetadata) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -15825,7 +15668,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateBatchMetadata) + x := input.Message.Interface().(*MsgUpdateClassAdminResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15844,27 +15687,6 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewMetadata) > 0 { - i -= len(x.NewMetadata) - copy(dAtA[i:], x.NewMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) - i-- - dAtA[i] = 0x1a - } - 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] = 0x12 - } - 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] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -15876,7 +15698,7 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateBatchMetadata) + x := input.Message.Interface().(*MsgUpdateClassAdminResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -15908,108 +15730,12 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadata: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdminResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassAdminResponse: 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 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 - case 2: - 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 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewMetadata", 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.NewMetadata = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -16045,80 +15771,204 @@ func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Metho } } -var ( - md_MsgUpdateBatchMetadataResponse protoreflect.MessageDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateBatchMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateBatchMetadataResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateBatchMetadataResponse)(nil) - -type fastReflection_MsgUpdateBatchMetadataResponse MsgUpdateBatchMetadataResponse +var _ protoreflect.List = (*_MsgUpdateClassIssuers_3_list)(nil) -func (x *MsgUpdateBatchMetadataResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateBatchMetadataResponse)(x) +type _MsgUpdateClassIssuers_3_list struct { + list *[]string } -func (x *MsgUpdateBatchMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *_MsgUpdateClassIssuers_3_list) Len() int { + if x.list == nil { + return 0 } - return mi.MessageOf(x) + return len(*x.list) } -var _fastReflection_MsgUpdateBatchMetadataResponse_messageType fastReflection_MsgUpdateBatchMetadataResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateBatchMetadataResponse_messageType{} - -type fastReflection_MsgUpdateBatchMetadataResponse_messageType struct{} +func (x *_MsgUpdateClassIssuers_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} -func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateBatchMetadataResponse)(nil) +func (x *_MsgUpdateClassIssuers_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue } -func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateBatchMetadataResponse) + +func (x *_MsgUpdateClassIssuers_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) } -func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateBatchMetadataResponse + +func (x *_MsgUpdateClassIssuers_3_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgUpdateClassIssuers at list field AddIssuers as it is not of Message kind")) } -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateBatchMetadataResponse +func (x *_MsgUpdateClassIssuers_3_list) Truncate(n int) { + *x.list = (*x.list)[:n] } -// 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_MsgUpdateBatchMetadataResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateBatchMetadataResponse_messageType +func (x *_MsgUpdateClassIssuers_3_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) } -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateBatchMetadataResponse) +func (x *_MsgUpdateClassIssuers_3_list) IsValid() bool { + return x.list != nil } -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateBatchMetadataResponse)(x) +var _ protoreflect.List = (*_MsgUpdateClassIssuers_4_list)(nil) + +type _MsgUpdateClassIssuers_4_list struct { + list *[]string } -// Range iterates over every populated field in an undefined order, +func (x *_MsgUpdateClassIssuers_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgUpdateClassIssuers_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_MsgUpdateClassIssuers_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_MsgUpdateClassIssuers_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgUpdateClassIssuers_4_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message MsgUpdateClassIssuers at list field RemoveIssuers as it is not of Message kind")) +} + +func (x *_MsgUpdateClassIssuers_4_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_MsgUpdateClassIssuers_4_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_MsgUpdateClassIssuers_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgUpdateClassIssuers protoreflect.MessageDescriptor + fd_MsgUpdateClassIssuers_admin protoreflect.FieldDescriptor + fd_MsgUpdateClassIssuers_class_id protoreflect.FieldDescriptor + fd_MsgUpdateClassIssuers_add_issuers protoreflect.FieldDescriptor + fd_MsgUpdateClassIssuers_remove_issuers protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgUpdateClassIssuers = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassIssuers") + fd_MsgUpdateClassIssuers_admin = md_MsgUpdateClassIssuers.Fields().ByName("admin") + fd_MsgUpdateClassIssuers_class_id = md_MsgUpdateClassIssuers.Fields().ByName("class_id") + fd_MsgUpdateClassIssuers_add_issuers = md_MsgUpdateClassIssuers.Fields().ByName("add_issuers") + fd_MsgUpdateClassIssuers_remove_issuers = md_MsgUpdateClassIssuers.Fields().ByName("remove_issuers") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassIssuers)(nil) + +type fastReflection_MsgUpdateClassIssuers MsgUpdateClassIssuers + +func (x *MsgUpdateClassIssuers) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassIssuers)(x) +} + +func (x *MsgUpdateClassIssuers) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + 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_MsgUpdateClassIssuers_messageType fastReflection_MsgUpdateClassIssuers_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassIssuers_messageType{} + +type fastReflection_MsgUpdateClassIssuers_messageType struct{} + +func (x fastReflection_MsgUpdateClassIssuers_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassIssuers)(nil) +} +func (x fastReflection_MsgUpdateClassIssuers_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassIssuers) +} +func (x fastReflection_MsgUpdateClassIssuers_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassIssuers +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateClassIssuers) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassIssuers +} + +// 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_MsgUpdateClassIssuers) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassIssuers_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateClassIssuers) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassIssuers) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateClassIssuers) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassIssuers)(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_MsgUpdateBatchMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateClassIssuers) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgUpdateClassIssuers_admin, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgUpdateClassIssuers_class_id, value) { + return + } + } + if len(x.AddIssuers) != 0 { + value := protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers}) + if !f(fd_MsgUpdateClassIssuers_add_issuers, value) { + return + } + } + if len(x.RemoveIssuers) != 0 { + value := protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers}) + if !f(fd_MsgUpdateClassIssuers_remove_issuers, value) { + return + } + } } // Has reports whether a field is populated. @@ -16132,13 +15982,21 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) Range(f func(protoreflec // 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_MsgUpdateBatchMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassIssuers) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + return x.Admin != "" + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + return len(x.AddIssuers) != 0 + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + return len(x.RemoveIssuers) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) } } @@ -16148,13 +16006,21 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) Has(fd protoreflect.Fiel // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassIssuers) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + x.Admin = "" + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + x.AddIssuers = nil + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + x.RemoveIssuers = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) } } @@ -16164,13 +16030,31 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) Clear(fd protoreflect.Fi // 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_MsgUpdateBatchMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuers) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + value := x.Admin + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + if len(x.AddIssuers) == 0 { + return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{}) + } + listValue := &_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + if len(x.RemoveIssuers) == 0 { + return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{}) + } + listValue := &_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", descriptor.FullName())) } } @@ -16184,13 +16068,25 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) Get(descriptor protorefl // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassIssuers) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + lv := value.List() + clv := lv.(*_MsgUpdateClassIssuers_3_list) + x.AddIssuers = *clv.list + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + lv := value.List() + clv := lv.(*_MsgUpdateClassIssuers_4_list) + x.RemoveIssuers = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers does not contain field %s", fd.FullName())) } } @@ -16204,36 +16100,62 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) Set(fd protoreflect.Fiel // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuers) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + if x.AddIssuers == nil { + x.AddIssuers = []string{} + } + value := &_MsgUpdateClassIssuers_3_list{list: &x.AddIssuers} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + if x.RemoveIssuers == nil { + x.RemoveIssuers = []string{} + } + value := &_MsgUpdateClassIssuers_4_list{list: &x.RemoveIssuers} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassIssuers is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassIssuers is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers 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_MsgUpdateBatchMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuers) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassIssuers.admin": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateClassIssuers.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateClassIssuers.add_issuers": + list := []string{} + return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_3_list{list: &list}) + case "regen.ecocredit.v1.MsgUpdateClassIssuers.remove_issuers": + list := []string{} + return protoreflect.ValueOfList(&_MsgUpdateClassIssuers_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuers")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuers 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_MsgUpdateBatchMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassIssuers) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateBatchMetadataResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassIssuers", d.FullName())) } panic("unreachable") } @@ -16241,7 +16163,7 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) WhichOneof(d protoreflec // 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_MsgUpdateBatchMetadataResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassIssuers) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -16252,7 +16174,7 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) GetUnknown() protoreflec // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassIssuers) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -16264,7 +16186,7 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) SetUnknown(fields protor // 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_MsgUpdateBatchMetadataResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateClassIssuers) IsValid() bool { return x != nil } @@ -16274,9 +16196,9 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassIssuers) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuers) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16288,6 +16210,26 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa var n int var l int _ = l + l = len(x.Admin) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.AddIssuers) > 0 { + for _, s := range x.AddIssuers { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if len(x.RemoveIssuers) > 0 { + for _, s := range x.RemoveIssuers { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -16298,7 +16240,7 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuers) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16317,6 +16259,38 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.RemoveIssuers) > 0 { + for iNdEx := len(x.RemoveIssuers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.RemoveIssuers[iNdEx]) + copy(dAtA[i:], x.RemoveIssuers[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RemoveIssuers[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(x.AddIssuers) > 0 { + for iNdEx := len(x.AddIssuers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.AddIssuers[iNdEx]) + copy(dAtA[i:], x.AddIssuers[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AddIssuers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + 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] = 0x12 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -16328,7 +16302,7 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuers) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16360,12 +16334,140 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadataResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuers: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadataResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuers: 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 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 2: + 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AddIssuers", 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.AddIssuers = append(x.AddIssuers, 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 RemoveIssuers", 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.RemoveIssuers = append(x.RemoveIssuers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -16402,23 +16504,23 @@ func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoifa } var ( - md_MsgBridgeResponse protoreflect.MessageDescriptor + md_MsgUpdateClassIssuersResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridgeResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeResponse") + md_MsgUpdateClassIssuersResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassIssuersResponse") } -var _ protoreflect.Message = (*fastReflection_MsgBridgeResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassIssuersResponse)(nil) -type fastReflection_MsgBridgeResponse MsgBridgeResponse +type fastReflection_MsgUpdateClassIssuersResponse MsgUpdateClassIssuersResponse -func (x *MsgBridgeResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridgeResponse)(x) +func (x *MsgUpdateClassIssuersResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassIssuersResponse)(x) } -func (x *MsgBridgeResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassIssuersResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16430,43 +16532,43 @@ func (x *MsgBridgeResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridgeResponse_messageType fastReflection_MsgBridgeResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridgeResponse_messageType{} +var _fastReflection_MsgUpdateClassIssuersResponse_messageType fastReflection_MsgUpdateClassIssuersResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassIssuersResponse_messageType{} -type fastReflection_MsgBridgeResponse_messageType struct{} +type fastReflection_MsgUpdateClassIssuersResponse_messageType struct{} -func (x fastReflection_MsgBridgeResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridgeResponse)(nil) +func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassIssuersResponse)(nil) } -func (x fastReflection_MsgBridgeResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridgeResponse) +func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassIssuersResponse) } -func (x fastReflection_MsgBridgeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeResponse +func (x fastReflection_MsgUpdateClassIssuersResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassIssuersResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridgeResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeResponse +func (x *fastReflection_MsgUpdateClassIssuersResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassIssuersResponse } // 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_MsgBridgeResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgBridgeResponse_messageType +func (x *fastReflection_MsgUpdateClassIssuersResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassIssuersResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridgeResponse) New() protoreflect.Message { - return new(fastReflection_MsgBridgeResponse) +func (x *fastReflection_MsgUpdateClassIssuersResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassIssuersResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridgeResponse) Interface() protoreflect.ProtoMessage { - return (*MsgBridgeResponse)(x) +func (x *fastReflection_MsgUpdateClassIssuersResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassIssuersResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -16474,7 +16576,7 @@ func (x *fastReflection_MsgBridgeResponse) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridgeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -16488,13 +16590,13 @@ func (x *fastReflection_MsgBridgeResponse) Range(f func(protoreflect.FieldDescri // 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_MsgBridgeResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) } } @@ -16504,13 +16606,13 @@ func (x *fastReflection_MsgBridgeResponse) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) } } @@ -16520,13 +16622,13 @@ func (x *fastReflection_MsgBridgeResponse) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBridgeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", descriptor.FullName())) } } @@ -16540,13 +16642,13 @@ func (x *fastReflection_MsgBridgeResponse) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse does not contain field %s", fd.FullName())) } } @@ -16560,36 +16662,36 @@ func (x *fastReflection_MsgBridgeResponse) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuersResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse 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_MsgBridgeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassIssuersResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassIssuersResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassIssuersResponse 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_MsgBridgeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassIssuersResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassIssuersResponse", d.FullName())) } panic("unreachable") } @@ -16597,7 +16699,7 @@ func (x *fastReflection_MsgBridgeResponse) WhichOneof(d protoreflect.OneofDescri // 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_MsgBridgeResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassIssuersResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -16608,7 +16710,7 @@ func (x *fastReflection_MsgBridgeResponse) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassIssuersResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -16620,7 +16722,7 @@ func (x *fastReflection_MsgBridgeResponse) SetUnknown(fields protoreflect.RawFie // 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_MsgBridgeResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateClassIssuersResponse) IsValid() bool { return x != nil } @@ -16630,9 +16732,9 @@ func (x *fastReflection_MsgBridgeResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassIssuersResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridgeResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16654,7 +16756,7 @@ func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16684,7 +16786,7 @@ func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeResponse) + x := input.Message.Interface().(*MsgUpdateClassIssuersResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -16716,10 +16818,10 @@ func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuersResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassIssuersResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16758,33 +16860,29 @@ func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { } var ( - md_MsgBridgeReceive protoreflect.MessageDescriptor - fd_MsgBridgeReceive_issuer protoreflect.FieldDescriptor - fd_MsgBridgeReceive_class_id protoreflect.FieldDescriptor - fd_MsgBridgeReceive_project protoreflect.FieldDescriptor - fd_MsgBridgeReceive_batch protoreflect.FieldDescriptor - fd_MsgBridgeReceive_origin_tx protoreflect.FieldDescriptor + md_MsgUpdateClassMetadata protoreflect.MessageDescriptor + fd_MsgUpdateClassMetadata_admin protoreflect.FieldDescriptor + fd_MsgUpdateClassMetadata_class_id protoreflect.FieldDescriptor + fd_MsgUpdateClassMetadata_new_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridgeReceive = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive") - fd_MsgBridgeReceive_issuer = md_MsgBridgeReceive.Fields().ByName("issuer") - fd_MsgBridgeReceive_class_id = md_MsgBridgeReceive.Fields().ByName("class_id") - fd_MsgBridgeReceive_project = md_MsgBridgeReceive.Fields().ByName("project") - fd_MsgBridgeReceive_batch = md_MsgBridgeReceive.Fields().ByName("batch") - fd_MsgBridgeReceive_origin_tx = md_MsgBridgeReceive.Fields().ByName("origin_tx") + md_MsgUpdateClassMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassMetadata") + fd_MsgUpdateClassMetadata_admin = md_MsgUpdateClassMetadata.Fields().ByName("admin") + fd_MsgUpdateClassMetadata_class_id = md_MsgUpdateClassMetadata.Fields().ByName("class_id") + fd_MsgUpdateClassMetadata_new_metadata = md_MsgUpdateClassMetadata.Fields().ByName("new_metadata") } -var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassMetadata)(nil) -type fastReflection_MsgBridgeReceive MsgBridgeReceive +type fastReflection_MsgUpdateClassMetadata MsgUpdateClassMetadata -func (x *MsgBridgeReceive) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive)(x) +func (x *MsgUpdateClassMetadata) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassMetadata)(x) } -func (x *MsgBridgeReceive) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateClassMetadata) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16796,43 +16894,43 @@ func (x *MsgBridgeReceive) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridgeReceive_messageType fastReflection_MsgBridgeReceive_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_messageType{} +var _fastReflection_MsgUpdateClassMetadata_messageType fastReflection_MsgUpdateClassMetadata_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassMetadata_messageType{} -type fastReflection_MsgBridgeReceive_messageType struct{} +type fastReflection_MsgUpdateClassMetadata_messageType struct{} -func (x fastReflection_MsgBridgeReceive_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive)(nil) +func (x fastReflection_MsgUpdateClassMetadata_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassMetadata)(nil) } -func (x fastReflection_MsgBridgeReceive_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive) +func (x fastReflection_MsgUpdateClassMetadata_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassMetadata) } -func (x fastReflection_MsgBridgeReceive_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive +func (x fastReflection_MsgUpdateClassMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassMetadata } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridgeReceive) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive +func (x *fastReflection_MsgUpdateClassMetadata) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassMetadata } // 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_MsgBridgeReceive) Type() protoreflect.MessageType { - return _fastReflection_MsgBridgeReceive_messageType +func (x *fastReflection_MsgUpdateClassMetadata) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassMetadata_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridgeReceive) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive) +func (x *fastReflection_MsgUpdateClassMetadata) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassMetadata) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridgeReceive) Interface() protoreflect.ProtoMessage { - return (*MsgBridgeReceive)(x) +func (x *fastReflection_MsgUpdateClassMetadata) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassMetadata)(x) } // Range iterates over every populated field in an undefined order, @@ -16840,34 +16938,22 @@ func (x *fastReflection_MsgBridgeReceive) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridgeReceive) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgBridgeReceive_issuer, value) { +func (x *fastReflection_MsgUpdateClassMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgUpdateClassMetadata_admin, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgBridgeReceive_class_id, value) { - return - } - } - if x.Project != nil { - value := protoreflect.ValueOfMessage(x.Project.ProtoReflect()) - if !f(fd_MsgBridgeReceive_project, value) { - return - } - } - if x.Batch != nil { - value := protoreflect.ValueOfMessage(x.Batch.ProtoReflect()) - if !f(fd_MsgBridgeReceive_batch, value) { + if !f(fd_MsgUpdateClassMetadata_class_id, value) { return } } - if x.OriginTx != nil { - value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - if !f(fd_MsgBridgeReceive_origin_tx, value) { + if x.NewMetadata != "" { + value := protoreflect.ValueOfString(x.NewMetadata) + if !f(fd_MsgUpdateClassMetadata_new_metadata, value) { return } } @@ -16884,23 +16970,19 @@ func (x *fastReflection_MsgBridgeReceive) Range(f func(protoreflect.FieldDescrip // 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_MsgBridgeReceive) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassMetadata) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + return x.Admin != "" + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.MsgBridgeReceive.project": - return x.Project != nil - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - return x.Batch != nil - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - return x.OriginTx != nil + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + return x.NewMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) } } @@ -16910,23 +16992,19 @@ func (x *fastReflection_MsgBridgeReceive) Has(fd protoreflect.FieldDescriptor) b // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassMetadata) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + x.Admin = "" + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": x.ClassId = "" - case "regen.ecocredit.v1.MsgBridgeReceive.project": - x.Project = nil - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - x.Batch = nil - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - x.OriginTx = nil + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + x.NewMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) } } @@ -16936,28 +17014,22 @@ func (x *fastReflection_MsgBridgeReceive) Clear(fd protoreflect.FieldDescriptor) // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBridgeReceive) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": - value := x.Issuer + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + value := x.Admin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.project": - value := x.Project - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - value := x.Batch - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - value := x.OriginTx - return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + value := x.NewMetadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", descriptor.FullName())) } } @@ -16971,23 +17043,19 @@ func (x *fastReflection_MsgBridgeReceive) Get(descriptor protoreflect.FieldDescr // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.project": - x.Project = value.Message().Interface().(*MsgBridgeReceive_Project) - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - x.Batch = value.Message().Interface().(*MsgBridgeReceive_Batch) - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - x.OriginTx = value.Message().Interface().(*OriginTx) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + x.NewMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata does not contain field %s", fd.FullName())) } } @@ -17001,68 +17069,48 @@ func (x *fastReflection_MsgBridgeReceive) Set(fd protoreflect.FieldDescriptor, v // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.project": - if x.Project == nil { - x.Project = new(MsgBridgeReceive_Project) - } - return protoreflect.ValueOfMessage(x.Project.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - if x.Batch == nil { - x.Batch = new(MsgBridgeReceive_Batch) - } - return protoreflect.ValueOfMessage(x.Batch.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - if x.OriginTx == nil { - x.OriginTx = new(OriginTx) - } - return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgBridgeReceive is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgBridgeReceive is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": + panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateClassMetadata is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata 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_MsgBridgeReceive) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + case "regen.ecocredit.v1.MsgUpdateClassMetadata.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateClassMetadata.new_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.project": - m := new(MsgBridgeReceive_Project) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.batch": - m := new(MsgBridgeReceive_Batch) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": - m := new(OriginTx) - return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadata 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_MsgBridgeReceive) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassMetadata", d.FullName())) } panic("unreachable") } @@ -17070,7 +17118,7 @@ func (x *fastReflection_MsgBridgeReceive) WhichOneof(d protoreflect.OneofDescrip // 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_MsgBridgeReceive) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassMetadata) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -17081,7 +17129,7 @@ func (x *fastReflection_MsgBridgeReceive) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassMetadata) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -17093,7 +17141,7 @@ func (x *fastReflection_MsgBridgeReceive) SetUnknown(fields protoreflect.RawFiel // 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_MsgBridgeReceive) IsValid() bool { +func (x *fastReflection_MsgUpdateClassMetadata) IsValid() bool { return x != nil } @@ -17103,9 +17151,9 @@ func (x *fastReflection_MsgBridgeReceive) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassMetadata) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridgeReceive) + x := input.Message.Interface().(*MsgUpdateClassMetadata) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17117,7 +17165,7 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Issuer) + l = len(x.Admin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -17125,16 +17173,8 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Project != nil { - l = options.Size(x.Project) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.Batch != nil { - l = options.Size(x.Batch) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.OriginTx != nil { - l = options.Size(x.OriginTx) + l = len(x.NewMetadata) + if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -17147,7 +17187,7 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive) + x := input.Message.Interface().(*MsgUpdateClassMetadata) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17166,45 +17206,10 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.OriginTx != nil { - encoded, err := options.Marshal(x.OriginTx) - 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.Batch != nil { - encoded, err := options.Marshal(x.Batch) - 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.Project != nil { - encoded, err := options.Marshal(x.Project) - 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))) + if len(x.NewMetadata) > 0 { + i -= len(x.NewMetadata) + copy(dAtA[i:], x.NewMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) i-- dAtA[i] = 0x1a } @@ -17215,10 +17220,10 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x12 } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + 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] = 0xa } @@ -17233,7 +17238,7 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive) + x := input.Message.Interface().(*MsgUpdateClassMetadata) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17265,15 +17270,15 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadata: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadata: 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 Issuer", wireType) + 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 { @@ -17301,7 +17306,7 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Issuer = string(dAtA[iNdEx:postIndex]) + x.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -17337,81 +17342,9 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { iNdEx = postIndex case 3: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Project", 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.Project == nil { - x.Project = &MsgBridgeReceive_Project{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Project); 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 Batch", 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.Batch == nil { - x.Batch = &MsgBridgeReceive_Batch{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Batch); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginTx", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewMetadata", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -17421,27 +17354,23 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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 } - if x.OriginTx == nil { - x.OriginTx = &OriginTx{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.NewMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17479,34 +17408,24 @@ func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { } var ( - md_MsgBridgeReceive_Batch protoreflect.MessageDescriptor - fd_MsgBridgeReceive_Batch_recipient protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Batch_amount protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Batch_start_date protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Batch_end_date protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Batch_metadata protoreflect.FieldDescriptor + md_MsgUpdateClassMetadataResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridgeReceive_Batch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive").Messages().ByName("Batch") - fd_MsgBridgeReceive_Batch_recipient = md_MsgBridgeReceive_Batch.Fields().ByName("recipient") - fd_MsgBridgeReceive_Batch_amount = md_MsgBridgeReceive_Batch.Fields().ByName("amount") - fd_MsgBridgeReceive_Batch_start_date = md_MsgBridgeReceive_Batch.Fields().ByName("start_date") - fd_MsgBridgeReceive_Batch_end_date = md_MsgBridgeReceive_Batch.Fields().ByName("end_date") - fd_MsgBridgeReceive_Batch_metadata = md_MsgBridgeReceive_Batch.Fields().ByName("metadata") + md_MsgUpdateClassMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassMetadataResponse") } -var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive_Batch)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassMetadataResponse)(nil) -type fastReflection_MsgBridgeReceive_Batch MsgBridgeReceive_Batch +type fastReflection_MsgUpdateClassMetadataResponse MsgUpdateClassMetadataResponse -func (x *MsgBridgeReceive_Batch) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive_Batch)(x) +func (x *MsgUpdateClassMetadataResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassMetadataResponse)(x) } -func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] +func (x *MsgUpdateClassMetadataResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17517,43 +17436,43 @@ func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridgeReceive_Batch_messageType fastReflection_MsgBridgeReceive_Batch_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_Batch_messageType{} +var _fastReflection_MsgUpdateClassMetadataResponse_messageType fastReflection_MsgUpdateClassMetadataResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassMetadataResponse_messageType{} -type fastReflection_MsgBridgeReceive_Batch_messageType struct{} +type fastReflection_MsgUpdateClassMetadataResponse_messageType struct{} -func (x fastReflection_MsgBridgeReceive_Batch_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive_Batch)(nil) +func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassMetadataResponse)(nil) } -func (x fastReflection_MsgBridgeReceive_Batch_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive_Batch) +func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassMetadataResponse) } -func (x fastReflection_MsgBridgeReceive_Batch_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive_Batch +func (x fastReflection_MsgUpdateClassMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassMetadataResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridgeReceive_Batch) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive_Batch +func (x *fastReflection_MsgUpdateClassMetadataResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassMetadataResponse } // 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_MsgBridgeReceive_Batch) Type() protoreflect.MessageType { - return _fastReflection_MsgBridgeReceive_Batch_messageType +func (x *fastReflection_MsgUpdateClassMetadataResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassMetadataResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridgeReceive_Batch) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive_Batch) +func (x *fastReflection_MsgUpdateClassMetadataResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassMetadataResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridgeReceive_Batch) Interface() protoreflect.ProtoMessage { - return (*MsgBridgeReceive_Batch)(x) +func (x *fastReflection_MsgUpdateClassMetadataResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassMetadataResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -17561,37 +17480,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Interface() protoreflect.ProtoMe // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridgeReceive_Batch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Recipient != "" { - value := protoreflect.ValueOfString(x.Recipient) - if !f(fd_MsgBridgeReceive_Batch_recipient, value) { - return - } - } - if x.Amount != "" { - value := protoreflect.ValueOfString(x.Amount) - if !f(fd_MsgBridgeReceive_Batch_amount, value) { - return - } - } - if x.StartDate != nil { - value := protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) - if !f(fd_MsgBridgeReceive_Batch_start_date, value) { - return - } - } - if x.EndDate != nil { - value := protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) - if !f(fd_MsgBridgeReceive_Batch_end_date, value) { - return - } - } - if x.Metadata != "" { - value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgBridgeReceive_Batch_metadata, value) { - return - } - } +func (x *fastReflection_MsgUpdateClassMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -17605,23 +17494,13 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Range(f func(protoreflect.FieldD // 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_MsgBridgeReceive_Batch) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateClassMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - return x.Recipient != "" - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - return x.Amount != "" - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - return x.StartDate != nil - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - return x.EndDate != nil - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) } } @@ -17631,23 +17510,13 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Has(fd protoreflect.FieldDescrip // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Batch) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateClassMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - x.Recipient = "" - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - x.Amount = "" - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - x.StartDate = nil - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - x.EndDate = nil - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) } } @@ -17657,28 +17526,13 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Clear(fd protoreflect.FieldDescr // 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_MsgBridgeReceive_Batch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - value := x.Recipient - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - value := x.Amount - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - value := x.StartDate - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - value := x.EndDate - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - value := x.Metadata - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", descriptor.FullName())) } } @@ -17692,23 +17546,13 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Get(descriptor protoreflect.Fiel // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Batch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateClassMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - x.Recipient = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - x.Amount = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - x.StartDate = value.Message().Interface().(*timestamppb.Timestamp) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - x.EndDate = value.Message().Interface().(*timestamppb.Timestamp) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse does not contain field %s", fd.FullName())) } } @@ -17722,64 +17566,36 @@ func (x *fastReflection_MsgBridgeReceive_Batch) Set(fd protoreflect.FieldDescrip // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Batch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - if x.StartDate == nil { - x.StartDate = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - if x.EndDate == nil { - x.EndDate = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - panic(fmt.Errorf("field amount of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse 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_MsgBridgeReceive_Batch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateClassMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassMetadataResponse 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_MsgBridgeReceive_Batch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateClassMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive.Batch", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassMetadataResponse", d.FullName())) } panic("unreachable") } @@ -17787,7 +17603,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) WhichOneof(d protoreflect.OneofD // 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_MsgBridgeReceive_Batch) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateClassMetadataResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -17798,7 +17614,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) GetUnknown() protoreflect.RawFie // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Batch) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateClassMetadataResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -17810,7 +17626,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) SetUnknown(fields protoreflect.R // 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_MsgBridgeReceive_Batch) IsValid() bool { +func (x *fastReflection_MsgUpdateClassMetadataResponse) IsValid() bool { return x != nil } @@ -17820,9 +17636,9 @@ func (x *fastReflection_MsgBridgeReceive_Batch) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateClassMetadataResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridgeReceive_Batch) + x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17834,26 +17650,6 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho var n int var l int _ = l - l = len(x.Recipient) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Amount) - 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)) - } - l = len(x.Metadata) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -17864,7 +17660,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive_Batch) + x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17883,55 +17679,6 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho 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 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] = 0x22 - } - 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] = 0x1a - } - if len(x.Amount) > 0 { - i -= len(x.Amount) - copy(dAtA[i:], x.Amount) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount))) - i-- - dAtA[i] = 0x12 - } - if len(x.Recipient) > 0 { - i -= len(x.Recipient) - copy(dAtA[i:], x.Recipient) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -17943,7 +17690,7 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive_Batch) + x := input.Message.Interface().(*MsgUpdateClassMetadataResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -17975,185 +17722,17 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Batch: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadataResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Batch: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassMetadataResponse: 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 Recipient", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Recipient = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount = 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 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 4: - 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 - 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 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.Metadata = 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 + 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 @@ -18185,30 +17764,30 @@ func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Metho } var ( - md_MsgBridgeReceive_Project protoreflect.MessageDescriptor - fd_MsgBridgeReceive_Project_reference_id protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Project_jurisdiction protoreflect.FieldDescriptor - fd_MsgBridgeReceive_Project_metadata protoreflect.FieldDescriptor + md_MsgUpdateProjectAdmin protoreflect.MessageDescriptor + fd_MsgUpdateProjectAdmin_admin protoreflect.FieldDescriptor + fd_MsgUpdateProjectAdmin_project_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectAdmin_new_admin protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridgeReceive_Project = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive").Messages().ByName("Project") - fd_MsgBridgeReceive_Project_reference_id = md_MsgBridgeReceive_Project.Fields().ByName("reference_id") - fd_MsgBridgeReceive_Project_jurisdiction = md_MsgBridgeReceive_Project.Fields().ByName("jurisdiction") - fd_MsgBridgeReceive_Project_metadata = md_MsgBridgeReceive_Project.Fields().ByName("metadata") + md_MsgUpdateProjectAdmin = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectAdmin") + fd_MsgUpdateProjectAdmin_admin = md_MsgUpdateProjectAdmin.Fields().ByName("admin") + fd_MsgUpdateProjectAdmin_project_id = md_MsgUpdateProjectAdmin.Fields().ByName("project_id") + fd_MsgUpdateProjectAdmin_new_admin = md_MsgUpdateProjectAdmin.Fields().ByName("new_admin") } -var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive_Project)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectAdmin)(nil) -type fastReflection_MsgBridgeReceive_Project MsgBridgeReceive_Project +type fastReflection_MsgUpdateProjectAdmin MsgUpdateProjectAdmin -func (x *MsgBridgeReceive_Project) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive_Project)(x) +func (x *MsgUpdateProjectAdmin) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectAdmin)(x) } -func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] +func (x *MsgUpdateProjectAdmin) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18219,43 +17798,43 @@ func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridgeReceive_Project_messageType fastReflection_MsgBridgeReceive_Project_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_Project_messageType{} +var _fastReflection_MsgUpdateProjectAdmin_messageType fastReflection_MsgUpdateProjectAdmin_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectAdmin_messageType{} -type fastReflection_MsgBridgeReceive_Project_messageType struct{} +type fastReflection_MsgUpdateProjectAdmin_messageType struct{} -func (x fastReflection_MsgBridgeReceive_Project_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridgeReceive_Project)(nil) +func (x fastReflection_MsgUpdateProjectAdmin_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectAdmin)(nil) } -func (x fastReflection_MsgBridgeReceive_Project_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive_Project) +func (x fastReflection_MsgUpdateProjectAdmin_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectAdmin) } -func (x fastReflection_MsgBridgeReceive_Project_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive_Project +func (x fastReflection_MsgUpdateProjectAdmin_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectAdmin } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridgeReceive_Project) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceive_Project +func (x *fastReflection_MsgUpdateProjectAdmin) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectAdmin } // 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_MsgBridgeReceive_Project) Type() protoreflect.MessageType { - return _fastReflection_MsgBridgeReceive_Project_messageType +func (x *fastReflection_MsgUpdateProjectAdmin) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectAdmin_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridgeReceive_Project) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceive_Project) +func (x *fastReflection_MsgUpdateProjectAdmin) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectAdmin) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridgeReceive_Project) Interface() protoreflect.ProtoMessage { - return (*MsgBridgeReceive_Project)(x) +func (x *fastReflection_MsgUpdateProjectAdmin) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectAdmin)(x) } // Range iterates over every populated field in an undefined order, @@ -18263,22 +17842,22 @@ func (x *fastReflection_MsgBridgeReceive_Project) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridgeReceive_Project) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ReferenceId != "" { - value := protoreflect.ValueOfString(x.ReferenceId) - if !f(fd_MsgBridgeReceive_Project_reference_id, value) { +func (x *fastReflection_MsgUpdateProjectAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgUpdateProjectAdmin_admin, value) { return } } - if x.Jurisdiction != "" { - value := protoreflect.ValueOfString(x.Jurisdiction) - if !f(fd_MsgBridgeReceive_Project_jurisdiction, value) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgUpdateProjectAdmin_project_id, value) { return } } - if x.Metadata != "" { - value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgBridgeReceive_Project_metadata, value) { + if x.NewAdmin != "" { + value := protoreflect.ValueOfString(x.NewAdmin) + if !f(fd_MsgUpdateProjectAdmin_new_admin, value) { return } } @@ -18295,19 +17874,19 @@ func (x *fastReflection_MsgBridgeReceive_Project) Range(f func(protoreflect.Fiel // 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_MsgBridgeReceive_Project) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectAdmin) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": - return x.ReferenceId != "" - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": - return x.Jurisdiction != "" - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": - return x.Metadata != "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + return x.Admin != "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + return x.NewAdmin != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) } } @@ -18317,19 +17896,19 @@ func (x *fastReflection_MsgBridgeReceive_Project) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Project) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectAdmin) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": - x.ReferenceId = "" - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": - x.Jurisdiction = "" - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": - x.Metadata = "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + x.Admin = "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + x.NewAdmin = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) } } @@ -18339,22 +17918,22 @@ func (x *fastReflection_MsgBridgeReceive_Project) Clear(fd protoreflect.FieldDes // 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_MsgBridgeReceive_Project) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": - value := x.ReferenceId + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + value := x.Admin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": - value := x.Jurisdiction + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": - value := x.Metadata + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + value := x.NewAdmin return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", descriptor.FullName())) } } @@ -18368,19 +17947,19 @@ func (x *fastReflection_MsgBridgeReceive_Project) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Project) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": - x.ReferenceId = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": - x.Jurisdiction = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": - x.Metadata = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + x.NewAdmin = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin does not contain field %s", fd.FullName())) } } @@ -18394,48 +17973,48 @@ func (x *fastReflection_MsgBridgeReceive_Project) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Project) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": - panic(fmt.Errorf("field reference_id of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": - panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": + panic(fmt.Errorf("field new_admin of message regen.ecocredit.v1.MsgUpdateProjectAdmin is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin 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_MsgBridgeReceive_Project) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectAdmin.new_admin": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdmin")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdmin 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_MsgBridgeReceive_Project) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive.Project", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectAdmin", d.FullName())) } panic("unreachable") } @@ -18443,7 +18022,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) WhichOneof(d protoreflect.Oneo // 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_MsgBridgeReceive_Project) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectAdmin) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -18454,7 +18033,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceive_Project) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectAdmin) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -18466,7 +18045,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) SetUnknown(fields protoreflect // 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_MsgBridgeReceive_Project) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectAdmin) IsValid() bool { return x != nil } @@ -18476,9 +18055,9 @@ func (x *fastReflection_MsgBridgeReceive_Project) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectAdmin) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridgeReceive_Project) + x := input.Message.Interface().(*MsgUpdateProjectAdmin) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -18490,15 +18069,15 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met var n int var l int _ = l - l = len(x.ReferenceId) + l = len(x.Admin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Jurisdiction) + l = len(x.ProjectId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Metadata) + l = len(x.NewAdmin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -18512,7 +18091,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive_Project) + x := input.Message.Interface().(*MsgUpdateProjectAdmin) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -18531,24 +18110,24 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met 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))) + if len(x.NewAdmin) > 0 { + i -= len(x.NewAdmin) + copy(dAtA[i:], x.NewAdmin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewAdmin))) i-- dAtA[i] = 0x1a } - if len(x.Jurisdiction) > 0 { - i -= len(x.Jurisdiction) - copy(dAtA[i:], x.Jurisdiction) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Jurisdiction))) + 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] = 0x12 } - if len(x.ReferenceId) > 0 { - i -= len(x.ReferenceId) - copy(dAtA[i:], x.ReferenceId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReferenceId))) + 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] = 0xa } @@ -18563,7 +18142,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceive_Project) + x := input.Message.Interface().(*MsgUpdateProjectAdmin) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -18595,15 +18174,15 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Project: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdmin: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Project: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdmin: 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 ReferenceId", wireType) + 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 { @@ -18631,11 +18210,11 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ReferenceId = string(dAtA[iNdEx:postIndex]) + x.Admin = 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 Jurisdiction", wireType) + 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 { @@ -18663,11 +18242,11 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Jurisdiction = string(dAtA[iNdEx:postIndex]) + x.ProjectId = 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 Metadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18695,7 +18274,7 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Metadata = string(dAtA[iNdEx:postIndex]) + x.NewAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18733,28 +18312,24 @@ func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Met } var ( - md_MsgBridgeReceiveResponse protoreflect.MessageDescriptor - fd_MsgBridgeReceiveResponse_batch_denom protoreflect.FieldDescriptor - fd_MsgBridgeReceiveResponse_project_id protoreflect.FieldDescriptor + md_MsgUpdateProjectAdminResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBridgeReceiveResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceiveResponse") - fd_MsgBridgeReceiveResponse_batch_denom = md_MsgBridgeReceiveResponse.Fields().ByName("batch_denom") - fd_MsgBridgeReceiveResponse_project_id = md_MsgBridgeReceiveResponse.Fields().ByName("project_id") + md_MsgUpdateProjectAdminResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectAdminResponse") } -var _ protoreflect.Message = (*fastReflection_MsgBridgeReceiveResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectAdminResponse)(nil) -type fastReflection_MsgBridgeReceiveResponse MsgBridgeReceiveResponse +type fastReflection_MsgUpdateProjectAdminResponse MsgUpdateProjectAdminResponse -func (x *MsgBridgeReceiveResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBridgeReceiveResponse)(x) +func (x *MsgUpdateProjectAdminResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectAdminResponse)(x) } -func (x *MsgBridgeReceiveResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] +func (x *MsgUpdateProjectAdminResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18765,43 +18340,43 @@ func (x *MsgBridgeReceiveResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBridgeReceiveResponse_messageType fastReflection_MsgBridgeReceiveResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgBridgeReceiveResponse_messageType{} +var _fastReflection_MsgUpdateProjectAdminResponse_messageType fastReflection_MsgUpdateProjectAdminResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectAdminResponse_messageType{} -type fastReflection_MsgBridgeReceiveResponse_messageType struct{} +type fastReflection_MsgUpdateProjectAdminResponse_messageType struct{} -func (x fastReflection_MsgBridgeReceiveResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBridgeReceiveResponse)(nil) +func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectAdminResponse)(nil) } -func (x fastReflection_MsgBridgeReceiveResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceiveResponse) +func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectAdminResponse) } -func (x fastReflection_MsgBridgeReceiveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceiveResponse +func (x fastReflection_MsgUpdateProjectAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectAdminResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBridgeReceiveResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBridgeReceiveResponse +func (x *fastReflection_MsgUpdateProjectAdminResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectAdminResponse } // 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_MsgBridgeReceiveResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgBridgeReceiveResponse_messageType +func (x *fastReflection_MsgUpdateProjectAdminResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectAdminResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBridgeReceiveResponse) New() protoreflect.Message { - return new(fastReflection_MsgBridgeReceiveResponse) +func (x *fastReflection_MsgUpdateProjectAdminResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectAdminResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBridgeReceiveResponse) Interface() protoreflect.ProtoMessage { - return (*MsgBridgeReceiveResponse)(x) +func (x *fastReflection_MsgUpdateProjectAdminResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectAdminResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -18809,19 +18384,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBridgeReceiveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.BatchDenom != "" { - value := protoreflect.ValueOfString(x.BatchDenom) - if !f(fd_MsgBridgeReceiveResponse_batch_denom, value) { - return - } - } - if x.ProjectId != "" { - value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgBridgeReceiveResponse_project_id, value) { - return - } - } +func (x *fastReflection_MsgUpdateProjectAdminResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -18835,17 +18398,13 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Range(f func(protoreflect.Fiel // 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_MsgBridgeReceiveResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectAdminResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - return x.BatchDenom != "" - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - return x.ProjectId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) } } @@ -18855,17 +18414,13 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceiveResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectAdminResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - x.BatchDenom = "" - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - x.ProjectId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) } } @@ -18875,19 +18430,13 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Clear(fd protoreflect.FieldDes // 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_MsgBridgeReceiveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - value := x.BatchDenom - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - value := x.ProjectId - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", descriptor.FullName())) } } @@ -18901,17 +18450,13 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceiveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - x.BatchDenom = value.Interface().(string) - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - x.ProjectId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse does not contain field %s", fd.FullName())) } } @@ -18925,44 +18470,36 @@ func (x *fastReflection_MsgBridgeReceiveResponse) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceiveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgBridgeReceiveResponse is not mutable")) - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgBridgeReceiveResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse 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_MsgBridgeReceiveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectAdminResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectAdminResponse 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_MsgBridgeReceiveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceiveResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectAdminResponse", d.FullName())) } panic("unreachable") } @@ -18970,7 +18507,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) WhichOneof(d protoreflect.Oneo // 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_MsgBridgeReceiveResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectAdminResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -18981,7 +18518,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBridgeReceiveResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectAdminResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -18993,7 +18530,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) SetUnknown(fields protoreflect // 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_MsgBridgeReceiveResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectAdminResponse) IsValid() bool { return x != nil } @@ -19003,9 +18540,9 @@ func (x *fastReflection_MsgBridgeReceiveResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectAdminResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBridgeReceiveResponse) + x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19017,14 +18554,6 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met var n int var l int _ = l - l = len(x.BatchDenom) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.ProjectId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -19035,7 +18564,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceiveResponse) + x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19054,20 +18583,6 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - 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] = 0x12 - } - 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] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -19079,7 +18594,7 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBridgeReceiveResponse) + x := input.Message.Interface().(*MsgUpdateProjectAdminResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19111,76 +18626,12 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceiveResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdminResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceiveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectAdminResponse: 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 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 2: - 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 default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -19217,28 +18668,30 @@ func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Met } var ( - md_MsgAddClassCreator protoreflect.MessageDescriptor - fd_MsgAddClassCreator_authority protoreflect.FieldDescriptor - fd_MsgAddClassCreator_creator protoreflect.FieldDescriptor + md_MsgUpdateProjectMetadata protoreflect.MessageDescriptor + fd_MsgUpdateProjectMetadata_admin protoreflect.FieldDescriptor + fd_MsgUpdateProjectMetadata_project_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectMetadata_new_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgAddClassCreator = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddClassCreator") - fd_MsgAddClassCreator_authority = md_MsgAddClassCreator.Fields().ByName("authority") - fd_MsgAddClassCreator_creator = md_MsgAddClassCreator.Fields().ByName("creator") + md_MsgUpdateProjectMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectMetadata") + fd_MsgUpdateProjectMetadata_admin = md_MsgUpdateProjectMetadata.Fields().ByName("admin") + fd_MsgUpdateProjectMetadata_project_id = md_MsgUpdateProjectMetadata.Fields().ByName("project_id") + fd_MsgUpdateProjectMetadata_new_metadata = md_MsgUpdateProjectMetadata.Fields().ByName("new_metadata") } -var _ protoreflect.Message = (*fastReflection_MsgAddClassCreator)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectMetadata)(nil) -type fastReflection_MsgAddClassCreator MsgAddClassCreator +type fastReflection_MsgUpdateProjectMetadata MsgUpdateProjectMetadata -func (x *MsgAddClassCreator) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAddClassCreator)(x) +func (x *MsgUpdateProjectMetadata) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectMetadata)(x) } -func (x *MsgAddClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] +func (x *MsgUpdateProjectMetadata) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19249,43 +18702,43 @@ func (x *MsgAddClassCreator) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgAddClassCreator_messageType fastReflection_MsgAddClassCreator_messageType -var _ protoreflect.MessageType = fastReflection_MsgAddClassCreator_messageType{} +var _fastReflection_MsgUpdateProjectMetadata_messageType fastReflection_MsgUpdateProjectMetadata_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectMetadata_messageType{} -type fastReflection_MsgAddClassCreator_messageType struct{} +type fastReflection_MsgUpdateProjectMetadata_messageType struct{} -func (x fastReflection_MsgAddClassCreator_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAddClassCreator)(nil) +func (x fastReflection_MsgUpdateProjectMetadata_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectMetadata)(nil) } -func (x fastReflection_MsgAddClassCreator_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAddClassCreator) +func (x fastReflection_MsgUpdateProjectMetadata_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectMetadata) } -func (x fastReflection_MsgAddClassCreator_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddClassCreator +func (x fastReflection_MsgUpdateProjectMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectMetadata } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgAddClassCreator) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddClassCreator +func (x *fastReflection_MsgUpdateProjectMetadata) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectMetadata } // 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_MsgAddClassCreator) Type() protoreflect.MessageType { - return _fastReflection_MsgAddClassCreator_messageType +func (x *fastReflection_MsgUpdateProjectMetadata) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectMetadata_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAddClassCreator) New() protoreflect.Message { - return new(fastReflection_MsgAddClassCreator) +func (x *fastReflection_MsgUpdateProjectMetadata) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectMetadata) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAddClassCreator) Interface() protoreflect.ProtoMessage { - return (*MsgAddClassCreator)(x) +func (x *fastReflection_MsgUpdateProjectMetadata) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectMetadata)(x) } // Range iterates over every populated field in an undefined order, @@ -19293,16 +18746,22 @@ func (x *fastReflection_MsgAddClassCreator) Interface() protoreflect.ProtoMessag // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgAddClassCreator) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgAddClassCreator_authority, value) { +func (x *fastReflection_MsgUpdateProjectMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgUpdateProjectMetadata_admin, value) { return } } - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgAddClassCreator_creator, value) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgUpdateProjectMetadata_project_id, value) { + return + } + } + if x.NewMetadata != "" { + value := protoreflect.ValueOfString(x.NewMetadata) + if !f(fd_MsgUpdateProjectMetadata_new_metadata, value) { return } } @@ -19319,17 +18778,19 @@ func (x *fastReflection_MsgAddClassCreator) Range(f func(protoreflect.FieldDescr // 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_MsgAddClassCreator) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectMetadata) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": - return x.Authority != "" - case "regen.ecocredit.v1.MsgAddClassCreator.creator": - return x.Creator != "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": + return x.Admin != "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + return x.NewMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) } } @@ -19339,17 +18800,19 @@ func (x *fastReflection_MsgAddClassCreator) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreator) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectMetadata) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": - x.Authority = "" - case "regen.ecocredit.v1.MsgAddClassCreator.creator": - x.Creator = "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": + x.Admin = "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + x.NewMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) } } @@ -19359,19 +18822,22 @@ func (x *fastReflection_MsgAddClassCreator) Clear(fd protoreflect.FieldDescripto // 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_MsgAddClassCreator) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": - value := x.Authority + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": + value := x.Admin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgAddClassCreator.creator": - value := x.Creator + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + value := x.NewMetadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", descriptor.FullName())) } } @@ -19385,17 +18851,19 @@ func (x *fastReflection_MsgAddClassCreator) Get(descriptor protoreflect.FieldDes // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreator) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": - x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgAddClassCreator.creator": - x.Creator = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + x.NewMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata does not contain field %s", fd.FullName())) } } @@ -19409,44 +18877,48 @@ func (x *fastReflection_MsgAddClassCreator) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreator) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgAddClassCreator is not mutable")) - case "regen.ecocredit.v1.MsgAddClassCreator.creator": - panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgAddClassCreator is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": + panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateProjectMetadata is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata 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_MsgAddClassCreator) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddClassCreator.authority": + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgAddClassCreator.creator": + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateProjectMetadata.new_metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadata 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_MsgAddClassCreator) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddClassCreator", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectMetadata", d.FullName())) } panic("unreachable") } @@ -19454,7 +18926,7 @@ func (x *fastReflection_MsgAddClassCreator) WhichOneof(d protoreflect.OneofDescr // 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_MsgAddClassCreator) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectMetadata) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -19465,7 +18937,7 @@ func (x *fastReflection_MsgAddClassCreator) GetUnknown() protoreflect.RawFields // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreator) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectMetadata) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -19477,7 +18949,7 @@ func (x *fastReflection_MsgAddClassCreator) SetUnknown(fields protoreflect.RawFi // 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_MsgAddClassCreator) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectMetadata) IsValid() bool { return x != nil } @@ -19487,9 +18959,9 @@ func (x *fastReflection_MsgAddClassCreator) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectMetadata) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAddClassCreator) + x := input.Message.Interface().(*MsgUpdateProjectMetadata) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19501,11 +18973,15 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Authority) + l = len(x.Admin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Creator) + l = len(x.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NewMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -19519,7 +18995,7 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgAddClassCreator) + x := input.Message.Interface().(*MsgUpdateProjectMetadata) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19538,17 +19014,24 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + if len(x.NewMetadata) > 0 { + i -= len(x.NewMetadata) + copy(dAtA[i:], x.NewMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) + i-- + dAtA[i] = 0x1a + } + 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] = 0x12 } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + 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] = 0xa } @@ -19563,7 +19046,7 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgAddClassCreator) + x := input.Message.Interface().(*MsgUpdateProjectMetadata) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19595,15 +19078,15 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreator: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadata: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreator: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadata: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + 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 { @@ -19631,11 +19114,11 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Authority = string(dAtA[iNdEx:postIndex]) + x.Admin = 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 Creator", wireType) + 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 { @@ -19663,7 +19146,39 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Creator = string(dAtA[iNdEx:postIndex]) + x.ProjectId = 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 NewMetadata", 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.NewMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -19701,24 +19216,24 @@ func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { } var ( - md_MsgAddClassCreatorResponse protoreflect.MessageDescriptor + md_MsgUpdateProjectMetadataResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgAddClassCreatorResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddClassCreatorResponse") + md_MsgUpdateProjectMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectMetadataResponse") } -var _ protoreflect.Message = (*fastReflection_MsgAddClassCreatorResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectMetadataResponse)(nil) -type fastReflection_MsgAddClassCreatorResponse MsgAddClassCreatorResponse +type fastReflection_MsgUpdateProjectMetadataResponse MsgUpdateProjectMetadataResponse -func (x *MsgAddClassCreatorResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAddClassCreatorResponse)(x) +func (x *MsgUpdateProjectMetadataResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectMetadataResponse)(x) } -func (x *MsgAddClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] +func (x *MsgUpdateProjectMetadataResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19729,43 +19244,43 @@ func (x *MsgAddClassCreatorResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgAddClassCreatorResponse_messageType fastReflection_MsgAddClassCreatorResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgAddClassCreatorResponse_messageType{} +var _fastReflection_MsgUpdateProjectMetadataResponse_messageType fastReflection_MsgUpdateProjectMetadataResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectMetadataResponse_messageType{} -type fastReflection_MsgAddClassCreatorResponse_messageType struct{} +type fastReflection_MsgUpdateProjectMetadataResponse_messageType struct{} -func (x fastReflection_MsgAddClassCreatorResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAddClassCreatorResponse)(nil) +func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectMetadataResponse)(nil) } -func (x fastReflection_MsgAddClassCreatorResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAddClassCreatorResponse) +func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectMetadataResponse) } -func (x fastReflection_MsgAddClassCreatorResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddClassCreatorResponse +func (x fastReflection_MsgUpdateProjectMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectMetadataResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgAddClassCreatorResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddClassCreatorResponse +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectMetadataResponse } // 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_MsgAddClassCreatorResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgAddClassCreatorResponse_messageType +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectMetadataResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAddClassCreatorResponse) New() protoreflect.Message { - return new(fastReflection_MsgAddClassCreatorResponse) +func (x *fastReflection_MsgUpdateProjectMetadataResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectMetadataResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAddClassCreatorResponse) Interface() protoreflect.ProtoMessage { - return (*MsgAddClassCreatorResponse)(x) +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectMetadataResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -19773,7 +19288,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Interface() protoreflect.Pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgAddClassCreatorResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -19787,13 +19302,13 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Range(f func(protoreflect.Fi // 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_MsgAddClassCreatorResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) } } @@ -19803,13 +19318,13 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Has(fd protoreflect.FieldDes // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreatorResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) } } @@ -19819,13 +19334,13 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Clear(fd protoreflect.FieldD // 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_MsgAddClassCreatorResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", descriptor.FullName())) } } @@ -19839,13 +19354,13 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Get(descriptor protoreflect. // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreatorResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse does not contain field %s", fd.FullName())) } } @@ -19859,36 +19374,36 @@ func (x *fastReflection_MsgAddClassCreatorResponse) Set(fd protoreflect.FieldDes // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreatorResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse 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_MsgAddClassCreatorResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectMetadataResponse 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_MsgAddClassCreatorResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddClassCreatorResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectMetadataResponse", d.FullName())) } panic("unreachable") } @@ -19896,7 +19411,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) WhichOneof(d protoreflect.On // 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_MsgAddClassCreatorResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -19907,7 +19422,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) GetUnknown() protoreflect.Ra // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddClassCreatorResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -19919,7 +19434,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) SetUnknown(fields protorefle // 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_MsgAddClassCreatorResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) IsValid() bool { return x != nil } @@ -19929,9 +19444,9 @@ func (x *fastReflection_MsgAddClassCreatorResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectMetadataResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAddClassCreatorResponse) + x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19953,7 +19468,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.M } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgAddClassCreatorResponse) + x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -19983,7 +19498,7 @@ func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgAddClassCreatorResponse) + x := input.Message.Interface().(*MsgUpdateProjectMetadataResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20015,10 +19530,10 @@ func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreatorResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadataResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectMetadataResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -20056,29 +19571,84 @@ func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.M } } -var ( - md_MsgSetClassCreatorAllowlist protoreflect.MessageDescriptor - fd_MsgSetClassCreatorAllowlist_authority protoreflect.FieldDescriptor - fd_MsgSetClassCreatorAllowlist_enabled protoreflect.FieldDescriptor +var _ protoreflect.List = (*_MsgBridge_4_list)(nil) + +type _MsgBridge_4_list struct { + list *[]*Credits +} + +func (x *_MsgBridge_4_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgBridge_4_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgBridge_4_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + (*x.list)[i] = concreteValue +} + +func (x *_MsgBridge_4_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Credits) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgBridge_4_list) AppendMutable() protoreflect.Value { + v := new(Credits) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgBridge_4_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgBridge_4_list) NewElement() protoreflect.Value { + v := new(Credits) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgBridge_4_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgBridge protoreflect.MessageDescriptor + fd_MsgBridge_owner protoreflect.FieldDescriptor + fd_MsgBridge_target protoreflect.FieldDescriptor + fd_MsgBridge_recipient protoreflect.FieldDescriptor + fd_MsgBridge_credits protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSetClassCreatorAllowlist = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSetClassCreatorAllowlist") - fd_MsgSetClassCreatorAllowlist_authority = md_MsgSetClassCreatorAllowlist.Fields().ByName("authority") - fd_MsgSetClassCreatorAllowlist_enabled = md_MsgSetClassCreatorAllowlist.Fields().ByName("enabled") + md_MsgBridge = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridge") + fd_MsgBridge_owner = md_MsgBridge.Fields().ByName("owner") + fd_MsgBridge_target = md_MsgBridge.Fields().ByName("target") + fd_MsgBridge_recipient = md_MsgBridge.Fields().ByName("recipient") + fd_MsgBridge_credits = md_MsgBridge.Fields().ByName("credits") } -var _ protoreflect.Message = (*fastReflection_MsgSetClassCreatorAllowlist)(nil) +var _ protoreflect.Message = (*fastReflection_MsgBridge)(nil) -type fastReflection_MsgSetClassCreatorAllowlist MsgSetClassCreatorAllowlist +type fastReflection_MsgBridge MsgBridge -func (x *MsgSetClassCreatorAllowlist) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSetClassCreatorAllowlist)(x) +func (x *MsgBridge) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridge)(x) } -func (x *MsgSetClassCreatorAllowlist) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] +func (x *MsgBridge) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20089,43 +19659,43 @@ func (x *MsgSetClassCreatorAllowlist) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSetClassCreatorAllowlist_messageType fastReflection_MsgSetClassCreatorAllowlist_messageType -var _ protoreflect.MessageType = fastReflection_MsgSetClassCreatorAllowlist_messageType{} +var _fastReflection_MsgBridge_messageType fastReflection_MsgBridge_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridge_messageType{} -type fastReflection_MsgSetClassCreatorAllowlist_messageType struct{} +type fastReflection_MsgBridge_messageType struct{} -func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSetClassCreatorAllowlist)(nil) +func (x fastReflection_MsgBridge_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridge)(nil) } -func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSetClassCreatorAllowlist) +func (x fastReflection_MsgBridge_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridge) } -func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSetClassCreatorAllowlist +func (x fastReflection_MsgBridge_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridge } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSetClassCreatorAllowlist +func (x *fastReflection_MsgBridge) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridge } // 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_MsgSetClassCreatorAllowlist) Type() protoreflect.MessageType { - return _fastReflection_MsgSetClassCreatorAllowlist_messageType +func (x *fastReflection_MsgBridge) Type() protoreflect.MessageType { + return _fastReflection_MsgBridge_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSetClassCreatorAllowlist) New() protoreflect.Message { - return new(fastReflection_MsgSetClassCreatorAllowlist) +func (x *fastReflection_MsgBridge) New() protoreflect.Message { + return new(fastReflection_MsgBridge) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Interface() protoreflect.ProtoMessage { - return (*MsgSetClassCreatorAllowlist)(x) +func (x *fastReflection_MsgBridge) Interface() protoreflect.ProtoMessage { + return (*MsgBridge)(x) } // Range iterates over every populated field in an undefined order, @@ -20133,16 +19703,28 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgSetClassCreatorAllowlist_authority, value) { +func (x *fastReflection_MsgBridge) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_MsgBridge_owner, value) { return } } - if x.Enabled != false { - value := protoreflect.ValueOfBool(x.Enabled) - if !f(fd_MsgSetClassCreatorAllowlist_enabled, value) { + if x.Target != "" { + value := protoreflect.ValueOfString(x.Target) + if !f(fd_MsgBridge_target, value) { + return + } + } + if x.Recipient != "" { + value := protoreflect.ValueOfString(x.Recipient) + if !f(fd_MsgBridge_recipient, value) { + return + } + } + if len(x.Credits) != 0 { + value := protoreflect.ValueOfList(&_MsgBridge_4_list{list: &x.Credits}) + if !f(fd_MsgBridge_credits, value) { return } } @@ -20159,17 +19741,21 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Range(f func(protoreflect.F // 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_MsgSetClassCreatorAllowlist) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridge) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": - return x.Authority != "" - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - return x.Enabled != false + case "regen.ecocredit.v1.MsgBridge.owner": + return x.Owner != "" + case "regen.ecocredit.v1.MsgBridge.target": + return x.Target != "" + case "regen.ecocredit.v1.MsgBridge.recipient": + return x.Recipient != "" + case "regen.ecocredit.v1.MsgBridge.credits": + return len(x.Credits) != 0 default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) } } @@ -20179,17 +19765,21 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridge) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": - x.Authority = "" - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - x.Enabled = false + case "regen.ecocredit.v1.MsgBridge.owner": + x.Owner = "" + case "regen.ecocredit.v1.MsgBridge.target": + x.Target = "" + case "regen.ecocredit.v1.MsgBridge.recipient": + x.Recipient = "" + case "regen.ecocredit.v1.MsgBridge.credits": + x.Credits = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) } } @@ -20199,19 +19789,28 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Clear(fd protoreflect.Field // 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_MsgSetClassCreatorAllowlist) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridge) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": - value := x.Authority + case "regen.ecocredit.v1.MsgBridge.owner": + value := x.Owner return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - value := x.Enabled - return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1.MsgBridge.target": + value := x.Target + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridge.recipient": + value := x.Recipient + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridge.credits": + if len(x.Credits) == 0 { + return protoreflect.ValueOfList(&_MsgBridge_4_list{}) + } + listValue := &_MsgBridge_4_list{list: &x.Credits} + return protoreflect.ValueOfList(listValue) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", descriptor.FullName())) } } @@ -20225,17 +19824,23 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridge) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": - x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - x.Enabled = value.Bool() + case "regen.ecocredit.v1.MsgBridge.owner": + x.Owner = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridge.target": + x.Target = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridge.recipient": + x.Recipient = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridge.credits": + lv := value.List() + clv := lv.(*_MsgBridge_4_list) + x.Credits = *clv.list default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge does not contain field %s", fd.FullName())) } } @@ -20249,44 +19854,57 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlist) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridge) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgSetClassCreatorAllowlist is not mutable")) - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - panic(fmt.Errorf("field enabled of message regen.ecocredit.v1.MsgSetClassCreatorAllowlist is not mutable")) + case "regen.ecocredit.v1.MsgBridge.credits": + if x.Credits == nil { + x.Credits = []*Credits{} + } + value := &_MsgBridge_4_list{list: &x.Credits} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.MsgBridge.owner": + panic(fmt.Errorf("field owner of message regen.ecocredit.v1.MsgBridge is not mutable")) + case "regen.ecocredit.v1.MsgBridge.target": + panic(fmt.Errorf("field target of message regen.ecocredit.v1.MsgBridge is not mutable")) + case "regen.ecocredit.v1.MsgBridge.recipient": + panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgBridge is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge 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_MsgSetClassCreatorAllowlist) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridge) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + case "regen.ecocredit.v1.MsgBridge.owner": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": - return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1.MsgBridge.target": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridge.recipient": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridge.credits": + list := []*Credits{} + return protoreflect.ValueOfList(&_MsgBridge_4_list{list: &list}) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridge")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridge 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_MsgSetClassCreatorAllowlist) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridge) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSetClassCreatorAllowlist", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridge", d.FullName())) } panic("unreachable") } @@ -20294,7 +19912,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) WhichOneof(d protoreflect.O // 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_MsgSetClassCreatorAllowlist) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridge) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -20305,7 +19923,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlist) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridge) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -20317,7 +19935,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) SetUnknown(fields protorefl // 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_MsgSetClassCreatorAllowlist) IsValid() bool { +func (x *fastReflection_MsgBridge) IsValid() bool { return x != nil } @@ -20327,9 +19945,9 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridge) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) + x := input.Message.Interface().(*MsgBridge) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20341,12 +19959,23 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. var n int var l int _ = l - l = len(x.Authority) + l = len(x.Owner) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Enabled { - n += 2 + l = len(x.Target) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Recipient) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Credits) > 0 { + for _, e := range x.Credits { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } } if x.unknownFields != nil { n += len(x.unknownFields) @@ -20358,7 +19987,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) + x := input.Message.Interface().(*MsgBridge) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20377,20 +20006,40 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Enabled { - i-- - if x.Enabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(x.Credits) > 0 { + for iNdEx := len(x.Credits) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Credits[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] = 0x22 } + } + if len(x.Recipient) > 0 { + i -= len(x.Recipient) + copy(dAtA[i:], x.Recipient) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x1a } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + if len(x.Target) > 0 { + i -= len(x.Target) + copy(dAtA[i:], x.Target) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Target))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa } @@ -20405,7 +20054,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) + x := input.Message.Interface().(*MsgBridge) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20437,15 +20086,15 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlist: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridge: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlist: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridge: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + 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 { @@ -20473,13 +20122,13 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Authority = string(dAtA[iNdEx:postIndex]) + x.Owner = 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 Enabled", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Target", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -20489,12 +20138,90 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - x.Enabled = bool(v != 0) + 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.Target = 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 Recipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Recipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Credits", 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.Credits = append(x.Credits, &Credits{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Credits[len(x.Credits)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -20531,24 +20258,30 @@ func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface. } var ( - md_MsgSetClassCreatorAllowlistResponse protoreflect.MessageDescriptor + md_MsgUpdateBatchMetadata protoreflect.MessageDescriptor + fd_MsgUpdateBatchMetadata_issuer protoreflect.FieldDescriptor + fd_MsgUpdateBatchMetadata_batch_denom protoreflect.FieldDescriptor + fd_MsgUpdateBatchMetadata_new_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSetClassCreatorAllowlistResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSetClassCreatorAllowlistResponse") + md_MsgUpdateBatchMetadata = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateBatchMetadata") + fd_MsgUpdateBatchMetadata_issuer = md_MsgUpdateBatchMetadata.Fields().ByName("issuer") + fd_MsgUpdateBatchMetadata_batch_denom = md_MsgUpdateBatchMetadata.Fields().ByName("batch_denom") + fd_MsgUpdateBatchMetadata_new_metadata = md_MsgUpdateBatchMetadata.Fields().ByName("new_metadata") } -var _ protoreflect.Message = (*fastReflection_MsgSetClassCreatorAllowlistResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateBatchMetadata)(nil) -type fastReflection_MsgSetClassCreatorAllowlistResponse MsgSetClassCreatorAllowlistResponse +type fastReflection_MsgUpdateBatchMetadata MsgUpdateBatchMetadata -func (x *MsgSetClassCreatorAllowlistResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSetClassCreatorAllowlistResponse)(x) +func (x *MsgUpdateBatchMetadata) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateBatchMetadata)(x) } -func (x *MsgSetClassCreatorAllowlistResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] +func (x *MsgUpdateBatchMetadata) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20559,43 +20292,43 @@ func (x *MsgSetClassCreatorAllowlistResponse) slowProtoReflect() protoreflect.Me return mi.MessageOf(x) } -var _fastReflection_MsgSetClassCreatorAllowlistResponse_messageType fastReflection_MsgSetClassCreatorAllowlistResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSetClassCreatorAllowlistResponse_messageType{} +var _fastReflection_MsgUpdateBatchMetadata_messageType fastReflection_MsgUpdateBatchMetadata_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateBatchMetadata_messageType{} -type fastReflection_MsgSetClassCreatorAllowlistResponse_messageType struct{} +type fastReflection_MsgUpdateBatchMetadata_messageType struct{} -func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSetClassCreatorAllowlistResponse)(nil) +func (x fastReflection_MsgUpdateBatchMetadata_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateBatchMetadata)(nil) } -func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSetClassCreatorAllowlistResponse) +func (x fastReflection_MsgUpdateBatchMetadata_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateBatchMetadata) } -func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSetClassCreatorAllowlistResponse +func (x fastReflection_MsgUpdateBatchMetadata_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateBatchMetadata } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSetClassCreatorAllowlistResponse +func (x *fastReflection_MsgUpdateBatchMetadata) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateBatchMetadata } // 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_MsgSetClassCreatorAllowlistResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSetClassCreatorAllowlistResponse_messageType +func (x *fastReflection_MsgUpdateBatchMetadata) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateBatchMetadata_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) New() protoreflect.Message { - return new(fastReflection_MsgSetClassCreatorAllowlistResponse) +func (x *fastReflection_MsgUpdateBatchMetadata) New() protoreflect.Message { + return new(fastReflection_MsgUpdateBatchMetadata) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSetClassCreatorAllowlistResponse)(x) +func (x *fastReflection_MsgUpdateBatchMetadata) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateBatchMetadata)(x) } // Range iterates over every populated field in an undefined order, @@ -20603,7 +20336,25 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Interface() protore // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateBatchMetadata) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgUpdateBatchMetadata_issuer, value) { + return + } + } + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgUpdateBatchMetadata_batch_denom, value) { + return + } + } + if x.NewMetadata != "" { + value := protoreflect.ValueOfString(x.NewMetadata) + if !f(fd_MsgUpdateBatchMetadata_new_metadata, value) { + return + } + } } // Has reports whether a field is populated. @@ -20617,13 +20368,19 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Range(f func(protor // 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_MsgSetClassCreatorAllowlistResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateBatchMetadata) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + return x.NewMetadata != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) } } @@ -20633,13 +20390,19 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Has(fd protoreflect // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateBatchMetadata) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + x.NewMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) } } @@ -20649,13 +20412,22 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Clear(fd protorefle // 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_MsgSetClassCreatorAllowlistResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadata) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + value := x.NewMetadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", descriptor.FullName())) } } @@ -20669,13 +20441,19 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Get(descriptor prot // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateBatchMetadata) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + x.NewMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata does not contain field %s", fd.FullName())) } } @@ -20689,36 +20467,48 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Set(fd protoreflect // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadata) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + panic(fmt.Errorf("field new_metadata of message regen.ecocredit.v1.MsgUpdateBatchMetadata is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata 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_MsgSetClassCreatorAllowlistResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadata) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.batch_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateBatchMetadata.new_metadata": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadata")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadata 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_MsgSetClassCreatorAllowlistResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateBatchMetadata) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateBatchMetadata", d.FullName())) } panic("unreachable") } @@ -20726,7 +20516,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) WhichOneof(d protor // 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_MsgSetClassCreatorAllowlistResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateBatchMetadata) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -20737,7 +20527,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) GetUnknown() protor // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateBatchMetadata) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -20749,7 +20539,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) SetUnknown(fields p // 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_MsgSetClassCreatorAllowlistResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateBatchMetadata) IsValid() bool { return x != nil } @@ -20759,9 +20549,9 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateBatchMetadata) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) + x := input.Message.Interface().(*MsgUpdateBatchMetadata) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20773,6 +20563,18 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro var n int var l int _ = l + l = len(x.Issuer) + 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.NewMetadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -20783,7 +20585,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) + x := input.Message.Interface().(*MsgUpdateBatchMetadata) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20802,6 +20604,27 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.NewMetadata) > 0 { + i -= len(x.NewMetadata) + copy(dAtA[i:], x.NewMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewMetadata))) + i-- + dAtA[i] = 0x1a + } + 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] = 0x12 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -20813,7 +20636,7 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) + x := input.Message.Interface().(*MsgUpdateBatchMetadata) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -20845,12 +20668,108 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlistResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadata: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlistResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadata: 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 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 + case 2: + 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewMetadata", 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.NewMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -20887,28 +20806,24 @@ func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *pro } var ( - md_MsgRemoveClassCreator protoreflect.MessageDescriptor - fd_MsgRemoveClassCreator_authority protoreflect.FieldDescriptor - fd_MsgRemoveClassCreator_creator protoreflect.FieldDescriptor + md_MsgUpdateBatchMetadataResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRemoveClassCreator = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveClassCreator") - fd_MsgRemoveClassCreator_authority = md_MsgRemoveClassCreator.Fields().ByName("authority") - fd_MsgRemoveClassCreator_creator = md_MsgRemoveClassCreator.Fields().ByName("creator") + md_MsgUpdateBatchMetadataResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateBatchMetadataResponse") } -var _ protoreflect.Message = (*fastReflection_MsgRemoveClassCreator)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateBatchMetadataResponse)(nil) -type fastReflection_MsgRemoveClassCreator MsgRemoveClassCreator +type fastReflection_MsgUpdateBatchMetadataResponse MsgUpdateBatchMetadataResponse -func (x *MsgRemoveClassCreator) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRemoveClassCreator)(x) +func (x *MsgUpdateBatchMetadataResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateBatchMetadataResponse)(x) } -func (x *MsgRemoveClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] +func (x *MsgUpdateBatchMetadataResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20919,43 +20834,43 @@ func (x *MsgRemoveClassCreator) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRemoveClassCreator_messageType fastReflection_MsgRemoveClassCreator_messageType -var _ protoreflect.MessageType = fastReflection_MsgRemoveClassCreator_messageType{} +var _fastReflection_MsgUpdateBatchMetadataResponse_messageType fastReflection_MsgUpdateBatchMetadataResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateBatchMetadataResponse_messageType{} -type fastReflection_MsgRemoveClassCreator_messageType struct{} +type fastReflection_MsgUpdateBatchMetadataResponse_messageType struct{} -func (x fastReflection_MsgRemoveClassCreator_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRemoveClassCreator)(nil) +func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateBatchMetadataResponse)(nil) } -func (x fastReflection_MsgRemoveClassCreator_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRemoveClassCreator) +func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateBatchMetadataResponse) } -func (x fastReflection_MsgRemoveClassCreator_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveClassCreator +func (x fastReflection_MsgUpdateBatchMetadataResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateBatchMetadataResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRemoveClassCreator) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveClassCreator +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateBatchMetadataResponse } // 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_MsgRemoveClassCreator) Type() protoreflect.MessageType { - return _fastReflection_MsgRemoveClassCreator_messageType +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateBatchMetadataResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRemoveClassCreator) New() protoreflect.Message { - return new(fastReflection_MsgRemoveClassCreator) +func (x *fastReflection_MsgUpdateBatchMetadataResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateBatchMetadataResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRemoveClassCreator) Interface() protoreflect.ProtoMessage { - return (*MsgRemoveClassCreator)(x) +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateBatchMetadataResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -20963,19 +20878,7 @@ func (x *fastReflection_MsgRemoveClassCreator) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRemoveClassCreator) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgRemoveClassCreator_authority, value) { - return - } - } - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgRemoveClassCreator_creator, value) { - return - } - } +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -20989,17 +20892,13 @@ func (x *fastReflection_MsgRemoveClassCreator) Range(f func(protoreflect.FieldDe // 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_MsgRemoveClassCreator) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - return x.Authority != "" - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - return x.Creator != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) } } @@ -21009,17 +20908,13 @@ func (x *fastReflection_MsgRemoveClassCreator) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreator) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - x.Authority = "" - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - x.Creator = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) } } @@ -21029,19 +20924,13 @@ func (x *fastReflection_MsgRemoveClassCreator) Clear(fd protoreflect.FieldDescri // 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_MsgRemoveClassCreator) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - value := x.Authority - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - value := x.Creator - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", descriptor.FullName())) } } @@ -21055,17 +20944,13 @@ func (x *fastReflection_MsgRemoveClassCreator) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreator) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - x.Creator = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse does not contain field %s", fd.FullName())) } } @@ -21079,44 +20964,36 @@ func (x *fastReflection_MsgRemoveClassCreator) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreator) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgRemoveClassCreator is not mutable")) - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgRemoveClassCreator is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse 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_MsgRemoveClassCreator) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateBatchMetadataResponse 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_MsgRemoveClassCreator) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveClassCreator", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateBatchMetadataResponse", d.FullName())) } panic("unreachable") } @@ -21124,7 +21001,7 @@ func (x *fastReflection_MsgRemoveClassCreator) WhichOneof(d protoreflect.OneofDe // 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_MsgRemoveClassCreator) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -21135,7 +21012,7 @@ func (x *fastReflection_MsgRemoveClassCreator) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreator) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -21147,7 +21024,7 @@ func (x *fastReflection_MsgRemoveClassCreator) SetUnknown(fields protoreflect.Ra // 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_MsgRemoveClassCreator) IsValid() bool { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) IsValid() bool { return x != nil } @@ -21157,9 +21034,9 @@ func (x *fastReflection_MsgRemoveClassCreator) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateBatchMetadataResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRemoveClassCreator) + x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21171,14 +21048,6 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method var n int var l int _ = l - l = len(x.Authority) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -21189,7 +21058,7 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveClassCreator) + x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21208,20 +21077,6 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0x12 - } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -21233,7 +21088,7 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveClassCreator) + x := input.Message.Interface().(*MsgUpdateBatchMetadataResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21265,76 +21120,12 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreator: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadataResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreator: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateBatchMetadataResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Authority = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -21371,24 +21162,24 @@ func (x *fastReflection_MsgRemoveClassCreator) ProtoMethods() *protoiface.Method } var ( - md_MsgRemoveClassCreatorResponse protoreflect.MessageDescriptor + md_MsgBridgeResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRemoveClassCreatorResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveClassCreatorResponse") + md_MsgBridgeResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeResponse") } -var _ protoreflect.Message = (*fastReflection_MsgRemoveClassCreatorResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgBridgeResponse)(nil) -type fastReflection_MsgRemoveClassCreatorResponse MsgRemoveClassCreatorResponse +type fastReflection_MsgBridgeResponse MsgBridgeResponse -func (x *MsgRemoveClassCreatorResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRemoveClassCreatorResponse)(x) +func (x *MsgBridgeResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridgeResponse)(x) } -func (x *MsgRemoveClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] +func (x *MsgBridgeResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21399,43 +21190,43 @@ func (x *MsgRemoveClassCreatorResponse) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_MsgRemoveClassCreatorResponse_messageType fastReflection_MsgRemoveClassCreatorResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRemoveClassCreatorResponse_messageType{} +var _fastReflection_MsgBridgeResponse_messageType fastReflection_MsgBridgeResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridgeResponse_messageType{} -type fastReflection_MsgRemoveClassCreatorResponse_messageType struct{} +type fastReflection_MsgBridgeResponse_messageType struct{} -func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRemoveClassCreatorResponse)(nil) +func (x fastReflection_MsgBridgeResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridgeResponse)(nil) } -func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRemoveClassCreatorResponse) +func (x fastReflection_MsgBridgeResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridgeResponse) } -func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveClassCreatorResponse +func (x fastReflection_MsgBridgeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveClassCreatorResponse +func (x *fastReflection_MsgBridgeResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeResponse } // 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_MsgRemoveClassCreatorResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRemoveClassCreatorResponse_messageType +func (x *fastReflection_MsgBridgeResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBridgeResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRemoveClassCreatorResponse) New() protoreflect.Message { - return new(fastReflection_MsgRemoveClassCreatorResponse) +func (x *fastReflection_MsgBridgeResponse) New() protoreflect.Message { + return new(fastReflection_MsgBridgeResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRemoveClassCreatorResponse)(x) +func (x *fastReflection_MsgBridgeResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBridgeResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -21443,7 +21234,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Interface() protoreflect. // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgBridgeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -21457,13 +21248,13 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Range(f func(protoreflect // 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_MsgRemoveClassCreatorResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridgeResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) } } @@ -21473,13 +21264,13 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridgeResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) } } @@ -21489,13 +21280,13 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Clear(fd protoreflect.Fie // 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_MsgRemoveClassCreatorResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", descriptor.FullName())) } } @@ -21509,13 +21300,13 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridgeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse does not contain field %s", fd.FullName())) } } @@ -21529,36 +21320,36 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreatorResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse 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_MsgRemoveClassCreatorResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeResponse 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_MsgRemoveClassCreatorResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridgeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveClassCreatorResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeResponse", d.FullName())) } panic("unreachable") } @@ -21566,7 +21357,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) WhichOneof(d protoreflect // 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_MsgRemoveClassCreatorResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridgeResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -21577,7 +21368,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveClassCreatorResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridgeResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -21589,7 +21380,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) SetUnknown(fields protore // 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_MsgRemoveClassCreatorResponse) IsValid() bool { +func (x *fastReflection_MsgBridgeResponse) IsValid() bool { return x != nil } @@ -21599,9 +21390,9 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRemoveClassCreatorResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridgeResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + x := input.Message.Interface().(*MsgBridgeResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21623,7 +21414,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + x := input.Message.Interface().(*MsgBridgeResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21653,7 +21444,7 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + x := input.Message.Interface().(*MsgBridgeResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -21685,10 +21476,10 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreatorResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -21727,28 +21518,34 @@ func (x *fastReflection_MsgRemoveClassCreatorResponse) ProtoMethods() *protoifac } var ( - md_MsgUpdateClassFee protoreflect.MessageDescriptor - fd_MsgUpdateClassFee_authority protoreflect.FieldDescriptor - fd_MsgUpdateClassFee_fee protoreflect.FieldDescriptor + md_MsgBridgeReceive protoreflect.MessageDescriptor + fd_MsgBridgeReceive_issuer protoreflect.FieldDescriptor + fd_MsgBridgeReceive_class_id protoreflect.FieldDescriptor + fd_MsgBridgeReceive_project protoreflect.FieldDescriptor + fd_MsgBridgeReceive_batch protoreflect.FieldDescriptor + fd_MsgBridgeReceive_origin_tx protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassFee = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassFee") - fd_MsgUpdateClassFee_authority = md_MsgUpdateClassFee.Fields().ByName("authority") - fd_MsgUpdateClassFee_fee = md_MsgUpdateClassFee.Fields().ByName("fee") + md_MsgBridgeReceive = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive") + fd_MsgBridgeReceive_issuer = md_MsgBridgeReceive.Fields().ByName("issuer") + fd_MsgBridgeReceive_class_id = md_MsgBridgeReceive.Fields().ByName("class_id") + fd_MsgBridgeReceive_project = md_MsgBridgeReceive.Fields().ByName("project") + fd_MsgBridgeReceive_batch = md_MsgBridgeReceive.Fields().ByName("batch") + fd_MsgBridgeReceive_origin_tx = md_MsgBridgeReceive.Fields().ByName("origin_tx") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassFee)(nil) +var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive)(nil) -type fastReflection_MsgUpdateClassFee MsgUpdateClassFee +type fastReflection_MsgBridgeReceive MsgBridgeReceive -func (x *MsgUpdateClassFee) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassFee)(x) +func (x *MsgBridgeReceive) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive)(x) } -func (x *MsgUpdateClassFee) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] +func (x *MsgBridgeReceive) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21759,43 +21556,43 @@ func (x *MsgUpdateClassFee) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassFee_messageType fastReflection_MsgUpdateClassFee_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassFee_messageType{} +var _fastReflection_MsgBridgeReceive_messageType fastReflection_MsgBridgeReceive_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_messageType{} -type fastReflection_MsgUpdateClassFee_messageType struct{} +type fastReflection_MsgBridgeReceive_messageType struct{} -func (x fastReflection_MsgUpdateClassFee_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassFee)(nil) +func (x fastReflection_MsgBridgeReceive_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive)(nil) } -func (x fastReflection_MsgUpdateClassFee_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassFee) +func (x fastReflection_MsgBridgeReceive_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive) } -func (x fastReflection_MsgUpdateClassFee_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassFee +func (x fastReflection_MsgBridgeReceive_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassFee) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassFee +func (x *fastReflection_MsgBridgeReceive) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive } // 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_MsgUpdateClassFee) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassFee_messageType +func (x *fastReflection_MsgBridgeReceive) Type() protoreflect.MessageType { + return _fastReflection_MsgBridgeReceive_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassFee) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassFee) +func (x *fastReflection_MsgBridgeReceive) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassFee) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassFee)(x) +func (x *fastReflection_MsgBridgeReceive) Interface() protoreflect.ProtoMessage { + return (*MsgBridgeReceive)(x) } // Range iterates over every populated field in an undefined order, @@ -21803,16 +21600,34 @@ func (x *fastReflection_MsgUpdateClassFee) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassFee) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgUpdateClassFee_authority, value) { +func (x *fastReflection_MsgBridgeReceive) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgBridgeReceive_issuer, value) { return } } - if x.Fee != nil { - value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) - if !f(fd_MsgUpdateClassFee_fee, value) { + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgBridgeReceive_class_id, value) { + return + } + } + if x.Project != nil { + value := protoreflect.ValueOfMessage(x.Project.ProtoReflect()) + if !f(fd_MsgBridgeReceive_project, value) { + return + } + } + if x.Batch != nil { + value := protoreflect.ValueOfMessage(x.Batch.ProtoReflect()) + if !f(fd_MsgBridgeReceive_batch, value) { + return + } + } + if x.OriginTx != nil { + value := protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + if !f(fd_MsgBridgeReceive_origin_tx, value) { return } } @@ -21829,17 +21644,23 @@ func (x *fastReflection_MsgUpdateClassFee) Range(f func(protoreflect.FieldDescri // 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_MsgUpdateClassFee) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridgeReceive) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": - return x.Authority != "" - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - return x.Fee != nil + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.MsgBridgeReceive.project": + return x.Project != nil + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + return x.Batch != nil + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + return x.OriginTx != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) } } @@ -21849,17 +21670,23 @@ func (x *fastReflection_MsgUpdateClassFee) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFee) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridgeReceive) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": - x.Authority = "" - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - x.Fee = nil + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.MsgBridgeReceive.project": + x.Project = nil + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + x.Batch = nil + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + x.OriginTx = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) } } @@ -21869,19 +21696,28 @@ func (x *fastReflection_MsgUpdateClassFee) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgUpdateClassFee) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": - value := x.Authority + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - value := x.Fee + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridgeReceive.project": + value := x.Project + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + value := x.Batch + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + value := x.OriginTx return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", descriptor.FullName())) } } @@ -21895,17 +21731,23 @@ func (x *fastReflection_MsgUpdateClassFee) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFee) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridgeReceive) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": - x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - x.Fee = value.Message().Interface().(*v1beta1.Coin) + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.project": + x.Project = value.Message().Interface().(*MsgBridgeReceive_Project) + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + x.Batch = value.Message().Interface().(*MsgBridgeReceive_Batch) + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + x.OriginTx = value.Message().Interface().(*OriginTx) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive does not contain field %s", fd.FullName())) } } @@ -21919,48 +21761,68 @@ func (x *fastReflection_MsgUpdateClassFee) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFee) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - if x.Fee == nil { - x.Fee = new(v1beta1.Coin) - } - return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgUpdateClassFee is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + case "regen.ecocredit.v1.MsgBridgeReceive.project": + if x.Project == nil { + x.Project = new(MsgBridgeReceive_Project) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", fd.FullName())) + return protoreflect.ValueOfMessage(x.Project.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + if x.Batch == nil { + x.Batch = new(MsgBridgeReceive_Batch) + } + return protoreflect.ValueOfMessage(x.Batch.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + if x.OriginTx == nil { + x.OriginTx = new(OriginTx) + } + return protoreflect.ValueOfMessage(x.OriginTx.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgBridgeReceive is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgBridgeReceive is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive 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_MsgUpdateClassFee) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + case "regen.ecocredit.v1.MsgBridgeReceive.issuer": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassFee.fee": - m := new(v1beta1.Coin) + case "regen.ecocredit.v1.MsgBridgeReceive.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridgeReceive.project": + m := new(MsgBridgeReceive_Project) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.batch": + m := new(MsgBridgeReceive_Batch) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.origin_tx": + m := new(OriginTx) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive 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_MsgUpdateClassFee) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridgeReceive) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassFee", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive", d.FullName())) } panic("unreachable") } @@ -21968,7 +21830,7 @@ func (x *fastReflection_MsgUpdateClassFee) WhichOneof(d protoreflect.OneofDescri // 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_MsgUpdateClassFee) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridgeReceive) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -21979,7 +21841,7 @@ func (x *fastReflection_MsgUpdateClassFee) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFee) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridgeReceive) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -21991,7 +21853,7 @@ func (x *fastReflection_MsgUpdateClassFee) SetUnknown(fields protoreflect.RawFie // 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_MsgUpdateClassFee) IsValid() bool { +func (x *fastReflection_MsgBridgeReceive) IsValid() bool { return x != nil } @@ -22001,9 +21863,9 @@ func (x *fastReflection_MsgUpdateClassFee) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridgeReceive) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassFee) + x := input.Message.Interface().(*MsgBridgeReceive) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22015,12 +21877,24 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Authority) + l = len(x.Issuer) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Fee != nil { - l = options.Size(x.Fee) + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Project != nil { + l = options.Size(x.Project) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Batch != nil { + l = options.Size(x.Batch) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.OriginTx != nil { + l = options.Size(x.OriginTx) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -22033,7 +21907,7 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassFee) + x := input.Message.Interface().(*MsgBridgeReceive) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22052,8 +21926,36 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Fee != nil { - encoded, err := options.Marshal(x.Fee) + if x.OriginTx != nil { + encoded, err := options.Marshal(x.OriginTx) + 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.Batch != nil { + encoded, err := options.Marshal(x.Batch) + 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.Project != nil { + encoded, err := options.Marshal(x.Project) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22064,12 +21966,19 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- + dAtA[i] = 0x1a + } + 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] = 0x12 } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + 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] = 0xa } @@ -22084,7 +21993,7 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassFee) + x := input.Message.Interface().(*MsgBridgeReceive) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22116,15 +22025,15 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFee: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFee: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + 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 { @@ -22152,11 +22061,43 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Authority = string(dAtA[iNdEx:postIndex]) + x.Issuer = 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 Fee", wireType) + 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Project", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22183,10 +22124,82 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Fee == nil { - x.Fee = &v1beta1.Coin{} + if x.Project == nil { + x.Project = &MsgBridgeReceive_Project{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Project); 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 Batch", 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.Batch == nil { + x.Batch = &MsgBridgeReceive_Batch{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Batch); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OriginTx", 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.OriginTx == nil { + x.OriginTx = &OriginTx{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OriginTx); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -22226,24 +22239,34 @@ func (x *fastReflection_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { } var ( - md_MsgUpdateClassFeeResponse protoreflect.MessageDescriptor + md_MsgBridgeReceive_Batch protoreflect.MessageDescriptor + fd_MsgBridgeReceive_Batch_recipient protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Batch_amount protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Batch_start_date protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Batch_end_date protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Batch_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassFeeResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassFeeResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassFeeResponse)(nil) - -type fastReflection_MsgUpdateClassFeeResponse MsgUpdateClassFeeResponse + md_MsgBridgeReceive_Batch = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive").Messages().ByName("Batch") + fd_MsgBridgeReceive_Batch_recipient = md_MsgBridgeReceive_Batch.Fields().ByName("recipient") + fd_MsgBridgeReceive_Batch_amount = md_MsgBridgeReceive_Batch.Fields().ByName("amount") + fd_MsgBridgeReceive_Batch_start_date = md_MsgBridgeReceive_Batch.Fields().ByName("start_date") + fd_MsgBridgeReceive_Batch_end_date = md_MsgBridgeReceive_Batch.Fields().ByName("end_date") + fd_MsgBridgeReceive_Batch_metadata = md_MsgBridgeReceive_Batch.Fields().ByName("metadata") +} -func (x *MsgUpdateClassFeeResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassFeeResponse)(x) +var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive_Batch)(nil) + +type fastReflection_MsgBridgeReceive_Batch MsgBridgeReceive_Batch + +func (x *MsgBridgeReceive_Batch) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive_Batch)(x) } -func (x *MsgUpdateClassFeeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] +func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22254,43 +22277,43 @@ func (x *MsgUpdateClassFeeResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassFeeResponse_messageType fastReflection_MsgUpdateClassFeeResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassFeeResponse_messageType{} +var _fastReflection_MsgBridgeReceive_Batch_messageType fastReflection_MsgBridgeReceive_Batch_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_Batch_messageType{} -type fastReflection_MsgUpdateClassFeeResponse_messageType struct{} +type fastReflection_MsgBridgeReceive_Batch_messageType struct{} -func (x fastReflection_MsgUpdateClassFeeResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassFeeResponse)(nil) +func (x fastReflection_MsgBridgeReceive_Batch_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive_Batch)(nil) } -func (x fastReflection_MsgUpdateClassFeeResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassFeeResponse) +func (x fastReflection_MsgBridgeReceive_Batch_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive_Batch) } -func (x fastReflection_MsgUpdateClassFeeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassFeeResponse +func (x fastReflection_MsgBridgeReceive_Batch_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive_Batch } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassFeeResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassFeeResponse +func (x *fastReflection_MsgBridgeReceive_Batch) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive_Batch } // 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_MsgUpdateClassFeeResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassFeeResponse_messageType +func (x *fastReflection_MsgBridgeReceive_Batch) Type() protoreflect.MessageType { + return _fastReflection_MsgBridgeReceive_Batch_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassFeeResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassFeeResponse) +func (x *fastReflection_MsgBridgeReceive_Batch) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive_Batch) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassFeeResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassFeeResponse)(x) +func (x *fastReflection_MsgBridgeReceive_Batch) Interface() protoreflect.ProtoMessage { + return (*MsgBridgeReceive_Batch)(x) } // Range iterates over every populated field in an undefined order, @@ -22298,7 +22321,37 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassFeeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgBridgeReceive_Batch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Recipient != "" { + value := protoreflect.ValueOfString(x.Recipient) + if !f(fd_MsgBridgeReceive_Batch_recipient, value) { + return + } + } + if x.Amount != "" { + value := protoreflect.ValueOfString(x.Amount) + if !f(fd_MsgBridgeReceive_Batch_amount, value) { + return + } + } + if x.StartDate != nil { + value := protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + if !f(fd_MsgBridgeReceive_Batch_start_date, value) { + return + } + } + if x.EndDate != nil { + value := protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + if !f(fd_MsgBridgeReceive_Batch_end_date, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgBridgeReceive_Batch_metadata, value) { + return + } + } } // Has reports whether a field is populated. @@ -22312,13 +22365,23 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Range(f func(protoreflect.Fie // 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_MsgUpdateClassFeeResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridgeReceive_Batch) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + return x.Recipient != "" + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + return x.Amount != "" + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + return x.StartDate != nil + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + return x.EndDate != nil + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) } } @@ -22328,13 +22391,23 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFeeResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridgeReceive_Batch) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + x.Recipient = "" + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + x.Amount = "" + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + x.StartDate = nil + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + x.EndDate = nil + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) } } @@ -22344,13 +22417,28 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Clear(fd protoreflect.FieldDe // 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_MsgUpdateClassFeeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Batch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + value := x.Recipient + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + value := x.Amount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + value := x.StartDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + value := x.EndDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + value := x.Metadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", descriptor.FullName())) } } @@ -22364,13 +22452,23 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFeeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridgeReceive_Batch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + x.Recipient = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + x.Amount = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + x.StartDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + x.EndDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch does not contain field %s", fd.FullName())) } } @@ -22384,36 +22482,64 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFeeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Batch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + if x.StartDate == nil { + x.StartDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + if x.EndDate == nil { + x.EndDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + panic(fmt.Errorf("field recipient of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + panic(fmt.Errorf("field amount of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgBridgeReceive.Batch is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch 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_MsgUpdateClassFeeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Batch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.recipient": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.amount": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgBridgeReceive.Batch.metadata": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Batch")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Batch 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_MsgUpdateClassFeeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridgeReceive_Batch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassFeeResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive.Batch", d.FullName())) } panic("unreachable") } @@ -22421,7 +22547,7 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) WhichOneof(d protoreflect.One // 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_MsgUpdateClassFeeResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridgeReceive_Batch) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -22432,7 +22558,7 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassFeeResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridgeReceive_Batch) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -22444,7 +22570,7 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) SetUnknown(fields protoreflec // 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_MsgUpdateClassFeeResponse) IsValid() bool { +func (x *fastReflection_MsgBridgeReceive_Batch) IsValid() bool { return x != nil } @@ -22454,9 +22580,9 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridgeReceive_Batch) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassFeeResponse) + x := input.Message.Interface().(*MsgBridgeReceive_Batch) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22468,6 +22594,26 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me var n int var l int _ = l + l = len(x.Recipient) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Amount) + 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)) + } + l = len(x.Metadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -22478,7 +22624,7 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassFeeResponse) + x := input.Message.Interface().(*MsgBridgeReceive_Batch) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22497,27 +22643,76 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassFeeResponse) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil + 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 } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf + 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] = 0x22 + } + 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] = 0x1a + } + if len(x.Amount) > 0 { + i -= len(x.Amount) + copy(dAtA[i:], x.Amount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount))) + i-- + dAtA[i] = 0x12 + } + if len(x.Recipient) > 0 { + i -= len(x.Recipient) + copy(dAtA[i:], x.Recipient) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) + i-- + dAtA[i] = 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().(*MsgBridgeReceive_Batch) + 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 { @@ -22540,12 +22735,180 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFeeResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Batch: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFeeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Batch: 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 Recipient", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Recipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", 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.Amount = 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 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 4: + 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 + 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 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.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -22582,28 +22945,30 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me } var ( - md_MsgAddAllowedBridgeChain protoreflect.MessageDescriptor - fd_MsgAddAllowedBridgeChain_authority protoreflect.FieldDescriptor - fd_MsgAddAllowedBridgeChain_chain_name protoreflect.FieldDescriptor + md_MsgBridgeReceive_Project protoreflect.MessageDescriptor + fd_MsgBridgeReceive_Project_reference_id protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Project_jurisdiction protoreflect.FieldDescriptor + fd_MsgBridgeReceive_Project_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgAddAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChain") - fd_MsgAddAllowedBridgeChain_authority = md_MsgAddAllowedBridgeChain.Fields().ByName("authority") - fd_MsgAddAllowedBridgeChain_chain_name = md_MsgAddAllowedBridgeChain.Fields().ByName("chain_name") + md_MsgBridgeReceive_Project = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceive").Messages().ByName("Project") + fd_MsgBridgeReceive_Project_reference_id = md_MsgBridgeReceive_Project.Fields().ByName("reference_id") + fd_MsgBridgeReceive_Project_jurisdiction = md_MsgBridgeReceive_Project.Fields().ByName("jurisdiction") + fd_MsgBridgeReceive_Project_metadata = md_MsgBridgeReceive_Project.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChain)(nil) +var _ protoreflect.Message = (*fastReflection_MsgBridgeReceive_Project)(nil) -type fastReflection_MsgAddAllowedBridgeChain MsgAddAllowedBridgeChain +type fastReflection_MsgBridgeReceive_Project MsgBridgeReceive_Project -func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChain)(x) -} +func (x *MsgBridgeReceive_Project) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive_Project)(x) +} -func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] +func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22614,43 +22979,43 @@ func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgAddAllowedBridgeChain_messageType fastReflection_MsgAddAllowedBridgeChain_messageType -var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChain_messageType{} +var _fastReflection_MsgBridgeReceive_Project_messageType fastReflection_MsgBridgeReceive_Project_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridgeReceive_Project_messageType{} -type fastReflection_MsgAddAllowedBridgeChain_messageType struct{} +type fastReflection_MsgBridgeReceive_Project_messageType struct{} -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChain)(nil) +func (x fastReflection_MsgBridgeReceive_Project_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridgeReceive_Project)(nil) } -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChain) +func (x fastReflection_MsgBridgeReceive_Project_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive_Project) } -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChain +func (x fastReflection_MsgBridgeReceive_Project_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive_Project } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgAddAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChain +func (x *fastReflection_MsgBridgeReceive_Project) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceive_Project } // 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_MsgAddAllowedBridgeChain) Type() protoreflect.MessageType { - return _fastReflection_MsgAddAllowedBridgeChain_messageType +func (x *fastReflection_MsgBridgeReceive_Project) Type() protoreflect.MessageType { + return _fastReflection_MsgBridgeReceive_Project_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAddAllowedBridgeChain) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChain) +func (x *fastReflection_MsgBridgeReceive_Project) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceive_Project) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.ProtoMessage { - return (*MsgAddAllowedBridgeChain)(x) +func (x *fastReflection_MsgBridgeReceive_Project) Interface() protoreflect.ProtoMessage { + return (*MsgBridgeReceive_Project)(x) } // Range iterates over every populated field in an undefined order, @@ -22658,16 +23023,22 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgAddAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Authority != "" { - value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgAddAllowedBridgeChain_authority, value) { +func (x *fastReflection_MsgBridgeReceive_Project) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ReferenceId != "" { + value := protoreflect.ValueOfString(x.ReferenceId) + if !f(fd_MsgBridgeReceive_Project_reference_id, value) { return } } - if x.ChainName != "" { - value := protoreflect.ValueOfString(x.ChainName) - if !f(fd_MsgAddAllowedBridgeChain_chain_name, value) { + if x.Jurisdiction != "" { + value := protoreflect.ValueOfString(x.Jurisdiction) + if !f(fd_MsgBridgeReceive_Project_jurisdiction, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgBridgeReceive_Project_metadata, value) { return } } @@ -22684,17 +23055,19 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Range(f func(protoreflect.Fiel // 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_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridgeReceive_Project) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": - return x.Authority != "" - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - return x.ChainName != "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + return x.ReferenceId != "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + return x.Jurisdiction != "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) } } @@ -22704,17 +23077,19 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridgeReceive_Project) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": - x.Authority = "" - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - x.ChainName = "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + x.ReferenceId = "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + x.Jurisdiction = "" + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) } } @@ -22724,19 +23099,22 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDes // 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_MsgAddAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Project) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": - value := x.Authority + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + value := x.ReferenceId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - value := x.ChainName + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + value := x.Jurisdiction + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", descriptor.FullName())) } } @@ -22750,17 +23128,19 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChain) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridgeReceive_Project) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": - x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - x.ChainName = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + x.ReferenceId = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + x.Jurisdiction = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project does not contain field %s", fd.FullName())) } } @@ -22774,44 +23154,48 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChain) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Project) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgAddAllowedBridgeChain is not mutable")) - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - panic(fmt.Errorf("field chain_name of message regen.ecocredit.v1.MsgAddAllowedBridgeChain is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": + panic(fmt.Errorf("field reference_id of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgBridgeReceive.Project is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project 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_MsgAddAllowedBridgeChain) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceive_Project) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgBridgeReceive.Project.reference_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + case "regen.ecocredit.v1.MsgBridgeReceive.Project.jurisdiction": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridgeReceive.Project.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceive.Project")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceive.Project 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_MsgAddAllowedBridgeChain) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridgeReceive_Project) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddAllowedBridgeChain", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceive.Project", d.FullName())) } panic("unreachable") } @@ -22819,7 +23203,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) WhichOneof(d protoreflect.Oneo // 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_MsgAddAllowedBridgeChain) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridgeReceive_Project) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -22830,7 +23214,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChain) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridgeReceive_Project) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -22842,7 +23226,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) SetUnknown(fields protoreflect // 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_MsgAddAllowedBridgeChain) IsValid() bool { +func (x *fastReflection_MsgBridgeReceive_Project) IsValid() bool { return x != nil } @@ -22852,9 +23236,9 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridgeReceive_Project) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAddAllowedBridgeChain) + x := input.Message.Interface().(*MsgBridgeReceive_Project) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22866,11 +23250,15 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met var n int var l int _ = l - l = len(x.Authority) + l = len(x.ReferenceId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ChainName) + l = len(x.Jurisdiction) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Metadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -22884,7 +23272,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgAddAllowedBridgeChain) + x := input.Message.Interface().(*MsgBridgeReceive_Project) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22903,17 +23291,24 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.ChainName) > 0 { - i -= len(x.ChainName) - copy(dAtA[i:], x.ChainName) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChainName))) + 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] = 0x1a + } + if len(x.Jurisdiction) > 0 { + i -= len(x.Jurisdiction) + copy(dAtA[i:], x.Jurisdiction) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Jurisdiction))) i-- dAtA[i] = 0x12 } - if len(x.Authority) > 0 { - i -= len(x.Authority) - copy(dAtA[i:], x.Authority) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + if len(x.ReferenceId) > 0 { + i -= len(x.ReferenceId) + copy(dAtA[i:], x.ReferenceId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReferenceId))) i-- dAtA[i] = 0xa } @@ -22928,7 +23323,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgAddAllowedBridgeChain) + x := input.Message.Interface().(*MsgBridgeReceive_Project) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -22960,15 +23355,15 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChain: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Project: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChain: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceive_Project: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22996,11 +23391,11 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Authority = string(dAtA[iNdEx:postIndex]) + x.ReferenceId = 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 ChainName", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -23028,7 +23423,39 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ChainName = string(dAtA[iNdEx:postIndex]) + x.Jurisdiction = 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 Metadata", 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.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -23066,23 +23493,27 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Met } var ( - md_MsgAddAllowedBridgeChainResponse protoreflect.MessageDescriptor + md_MsgBridgeReceiveResponse protoreflect.MessageDescriptor + fd_MsgBridgeReceiveResponse_batch_denom protoreflect.FieldDescriptor + fd_MsgBridgeReceiveResponse_project_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgAddAllowedBridgeChainResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChainResponse") + md_MsgBridgeReceiveResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBridgeReceiveResponse") + fd_MsgBridgeReceiveResponse_batch_denom = md_MsgBridgeReceiveResponse.Fields().ByName("batch_denom") + fd_MsgBridgeReceiveResponse_project_id = md_MsgBridgeReceiveResponse.Fields().ByName("project_id") } -var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChainResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgBridgeReceiveResponse)(nil) -type fastReflection_MsgAddAllowedBridgeChainResponse MsgAddAllowedBridgeChainResponse +type fastReflection_MsgBridgeReceiveResponse MsgBridgeReceiveResponse -func (x *MsgAddAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChainResponse)(x) +func (x *MsgBridgeReceiveResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBridgeReceiveResponse)(x) } -func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgBridgeReceiveResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23094,43 +23525,43 @@ func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -var _fastReflection_MsgAddAllowedBridgeChainResponse_messageType fastReflection_MsgAddAllowedBridgeChainResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChainResponse_messageType{} +var _fastReflection_MsgBridgeReceiveResponse_messageType fastReflection_MsgBridgeReceiveResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBridgeReceiveResponse_messageType{} -type fastReflection_MsgAddAllowedBridgeChainResponse_messageType struct{} +type fastReflection_MsgBridgeReceiveResponse_messageType struct{} -func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChainResponse)(nil) +func (x fastReflection_MsgBridgeReceiveResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBridgeReceiveResponse)(nil) } -func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChainResponse) +func (x fastReflection_MsgBridgeReceiveResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceiveResponse) } -func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChainResponse +func (x fastReflection_MsgBridgeReceiveResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceiveResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChainResponse +func (x *fastReflection_MsgBridgeReceiveResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBridgeReceiveResponse } // 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_MsgAddAllowedBridgeChainResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgAddAllowedBridgeChainResponse_messageType +func (x *fastReflection_MsgBridgeReceiveResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBridgeReceiveResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChainResponse) +func (x *fastReflection_MsgBridgeReceiveResponse) New() protoreflect.Message { + return new(fastReflection_MsgBridgeReceiveResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Interface() protoreflect.ProtoMessage { - return (*MsgAddAllowedBridgeChainResponse)(x) +func (x *fastReflection_MsgBridgeReceiveResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBridgeReceiveResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -23138,7 +23569,19 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Interface() protorefle // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgBridgeReceiveResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_MsgBridgeReceiveResponse_batch_denom, value) { + return + } + } + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgBridgeReceiveResponse_project_id, value) { + return + } + } } // Has reports whether a field is populated. @@ -23152,13 +23595,17 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Range(f func(protorefl // 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_MsgAddAllowedBridgeChainResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgBridgeReceiveResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + return x.ProjectId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) } } @@ -23168,13 +23615,17 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Has(fd protoreflect.Fi // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgBridgeReceiveResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + x.ProjectId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) } } @@ -23184,13 +23635,19 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Clear(fd protoreflect. // 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_MsgAddAllowedBridgeChainResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceiveResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", descriptor.FullName())) } } @@ -23204,13 +23661,17 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Get(descriptor protore // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgBridgeReceiveResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + x.ProjectId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse does not contain field %s", fd.FullName())) } } @@ -23224,36 +23685,44 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Set(fd protoreflect.Fi // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceiveResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1.MsgBridgeReceiveResponse is not mutable")) + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgBridgeReceiveResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse 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_MsgAddAllowedBridgeChainResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgBridgeReceiveResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.batch_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBridgeReceiveResponse.project_id": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBridgeReceiveResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBridgeReceiveResponse 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_MsgAddAllowedBridgeChainResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgBridgeReceiveResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBridgeReceiveResponse", d.FullName())) } panic("unreachable") } @@ -23261,7 +23730,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) WhichOneof(d protorefl // 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_MsgAddAllowedBridgeChainResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgBridgeReceiveResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -23272,7 +23741,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) GetUnknown() protorefl // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgBridgeReceiveResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -23284,7 +23753,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) SetUnknown(fields prot // 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_MsgAddAllowedBridgeChainResponse) IsValid() bool { +func (x *fastReflection_MsgBridgeReceiveResponse) IsValid() bool { return x != nil } @@ -23294,9 +23763,9 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgBridgeReceiveResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgBridgeReceiveResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23308,6 +23777,14 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi var n int var l int _ = l + l = len(x.BatchDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -23318,7 +23795,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgBridgeReceiveResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23337,6 +23814,20 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + 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] = 0x12 + } + 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] = 0xa + } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -23348,7 +23839,7 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgBridgeReceiveResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23380,12 +23871,76 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChainResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceiveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChainResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBridgeReceiveResponse: 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 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 2: + 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 default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -23422,27 +23977,27 @@ func (x *fastReflection_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoi } var ( - md_MsgRemoveAllowedBridgeChain protoreflect.MessageDescriptor - fd_MsgRemoveAllowedBridgeChain_authority protoreflect.FieldDescriptor - fd_MsgRemoveAllowedBridgeChain_chain_name protoreflect.FieldDescriptor + md_MsgAddClassCreator protoreflect.MessageDescriptor + fd_MsgAddClassCreator_authority protoreflect.FieldDescriptor + fd_MsgAddClassCreator_creator protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRemoveAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveAllowedBridgeChain") - fd_MsgRemoveAllowedBridgeChain_authority = md_MsgRemoveAllowedBridgeChain.Fields().ByName("authority") - fd_MsgRemoveAllowedBridgeChain_chain_name = md_MsgRemoveAllowedBridgeChain.Fields().ByName("chain_name") + md_MsgAddClassCreator = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddClassCreator") + fd_MsgAddClassCreator_authority = md_MsgAddClassCreator.Fields().ByName("authority") + fd_MsgAddClassCreator_creator = md_MsgAddClassCreator.Fields().ByName("creator") } -var _ protoreflect.Message = (*fastReflection_MsgRemoveAllowedBridgeChain)(nil) +var _ protoreflect.Message = (*fastReflection_MsgAddClassCreator)(nil) -type fastReflection_MsgRemoveAllowedBridgeChain MsgRemoveAllowedBridgeChain +type fastReflection_MsgAddClassCreator MsgAddClassCreator -func (x *MsgRemoveAllowedBridgeChain) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRemoveAllowedBridgeChain)(x) +func (x *MsgAddClassCreator) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAddClassCreator)(x) } -func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { +func (x *MsgAddClassCreator) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23454,43 +24009,43 @@ func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgRemoveAllowedBridgeChain_messageType fastReflection_MsgRemoveAllowedBridgeChain_messageType -var _ protoreflect.MessageType = fastReflection_MsgRemoveAllowedBridgeChain_messageType{} +var _fastReflection_MsgAddClassCreator_messageType fastReflection_MsgAddClassCreator_messageType +var _ protoreflect.MessageType = fastReflection_MsgAddClassCreator_messageType{} -type fastReflection_MsgRemoveAllowedBridgeChain_messageType struct{} +type fastReflection_MsgAddClassCreator_messageType struct{} -func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRemoveAllowedBridgeChain)(nil) +func (x fastReflection_MsgAddClassCreator_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAddClassCreator)(nil) } -func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRemoveAllowedBridgeChain) +func (x fastReflection_MsgAddClassCreator_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAddClassCreator) } -func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveAllowedBridgeChain +func (x fastReflection_MsgAddClassCreator_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddClassCreator } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveAllowedBridgeChain +func (x *fastReflection_MsgAddClassCreator) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddClassCreator } // 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_MsgRemoveAllowedBridgeChain) Type() protoreflect.MessageType { - return _fastReflection_MsgRemoveAllowedBridgeChain_messageType +func (x *fastReflection_MsgAddClassCreator) Type() protoreflect.MessageType { + return _fastReflection_MsgAddClassCreator_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) New() protoreflect.Message { - return new(fastReflection_MsgRemoveAllowedBridgeChain) +func (x *fastReflection_MsgAddClassCreator) New() protoreflect.Message { + return new(fastReflection_MsgAddClassCreator) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Interface() protoreflect.ProtoMessage { - return (*MsgRemoveAllowedBridgeChain)(x) +func (x *fastReflection_MsgAddClassCreator) Interface() protoreflect.ProtoMessage { + return (*MsgAddClassCreator)(x) } // Range iterates over every populated field in an undefined order, @@ -23498,16 +24053,16 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgAddClassCreator) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Authority != "" { value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgRemoveAllowedBridgeChain_authority, value) { + if !f(fd_MsgAddClassCreator_authority, value) { return } } - if x.ChainName != "" { - value := protoreflect.ValueOfString(x.ChainName) - if !f(fd_MsgRemoveAllowedBridgeChain_chain_name, value) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgAddClassCreator_creator, value) { return } } @@ -23524,17 +24079,17 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Range(f func(protoreflect.F // 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_MsgRemoveAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgAddClassCreator) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgAddClassCreator.authority": return x.Authority != "" - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": - return x.ChainName != "" + case "regen.ecocredit.v1.MsgAddClassCreator.creator": + return x.Creator != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) } } @@ -23544,17 +24099,17 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgAddClassCreator) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgAddClassCreator.authority": x.Authority = "" - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": - x.ChainName = "" + case "regen.ecocredit.v1.MsgAddClassCreator.creator": + x.Creator = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) } } @@ -23564,19 +24119,19 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Clear(fd protoreflect.Field // 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_MsgRemoveAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreator) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgAddClassCreator.authority": value := x.Authority return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": - value := x.ChainName + case "regen.ecocredit.v1.MsgAddClassCreator.creator": + value := x.Creator return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", descriptor.FullName())) } } @@ -23590,17 +24145,17 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgAddClassCreator) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgAddClassCreator.authority": x.Authority = value.Interface().(string) - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": - x.ChainName = value.Interface().(string) + case "regen.ecocredit.v1.MsgAddClassCreator.creator": + x.Creator = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator does not contain field %s", fd.FullName())) } } @@ -23614,44 +24169,44 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreator) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": - panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain is not mutable")) - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": - panic(fmt.Errorf("field chain_name of message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain is not mutable")) + case "regen.ecocredit.v1.MsgAddClassCreator.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgAddClassCreator is not mutable")) + case "regen.ecocredit.v1.MsgAddClassCreator.creator": + panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgAddClassCreator is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator 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_MsgRemoveAllowedBridgeChain) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreator) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgAddClassCreator.authority": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + case "regen.ecocredit.v1.MsgAddClassCreator.creator": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreator")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreator 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_MsgRemoveAllowedBridgeChain) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgAddClassCreator) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveAllowedBridgeChain", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddClassCreator", d.FullName())) } panic("unreachable") } @@ -23659,7 +24214,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) WhichOneof(d protoreflect.O // 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_MsgRemoveAllowedBridgeChain) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgAddClassCreator) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -23670,7 +24225,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgAddClassCreator) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -23682,7 +24237,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) SetUnknown(fields protorefl // 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_MsgRemoveAllowedBridgeChain) IsValid() bool { +func (x *fastReflection_MsgAddClassCreator) IsValid() bool { return x != nil } @@ -23692,9 +24247,9 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgAddClassCreator) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChain) + x := input.Message.Interface().(*MsgAddClassCreator) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23710,7 +24265,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ChainName) + l = len(x.Creator) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -23724,7 +24279,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChain) + x := input.Message.Interface().(*MsgAddClassCreator) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23743,10 +24298,10 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.ChainName) > 0 { - i -= len(x.ChainName) - copy(dAtA[i:], x.ChainName) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChainName))) + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) i-- dAtA[i] = 0x12 } @@ -23768,7 +24323,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChain) + x := input.Message.Interface().(*MsgAddClassCreator) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -23800,10 +24355,10 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChain: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreator: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChain: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreator: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -23840,7 +24395,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChainName", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -23868,7 +24423,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ChainName = string(dAtA[iNdEx:postIndex]) + x.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -23906,23 +24461,23 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface. } var ( - md_MsgRemoveAllowedBridgeChainResponse protoreflect.MessageDescriptor + md_MsgAddClassCreatorResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgRemoveAllowedBridgeChainResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveAllowedBridgeChainResponse") + md_MsgAddClassCreatorResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddClassCreatorResponse") } -var _ protoreflect.Message = (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgAddClassCreatorResponse)(nil) -type fastReflection_MsgRemoveAllowedBridgeChainResponse MsgRemoveAllowedBridgeChainResponse +type fastReflection_MsgAddClassCreatorResponse MsgAddClassCreatorResponse -func (x *MsgRemoveAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(x) +func (x *MsgAddClassCreatorResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAddClassCreatorResponse)(x) } -func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgAddClassCreatorResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23934,43 +24489,43 @@ func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Me return mi.MessageOf(x) } -var _fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType{} +var _fastReflection_MsgAddClassCreatorResponse_messageType fastReflection_MsgAddClassCreatorResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgAddClassCreatorResponse_messageType{} -type fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType struct{} +type fastReflection_MsgAddClassCreatorResponse_messageType struct{} -func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(nil) +func (x fastReflection_MsgAddClassCreatorResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAddClassCreatorResponse)(nil) } -func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgRemoveAllowedBridgeChainResponse) +func (x fastReflection_MsgAddClassCreatorResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAddClassCreatorResponse) } -func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveAllowedBridgeChainResponse +func (x fastReflection_MsgAddClassCreatorResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddClassCreatorResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgRemoveAllowedBridgeChainResponse +func (x *fastReflection_MsgAddClassCreatorResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddClassCreatorResponse } // 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_MsgRemoveAllowedBridgeChainResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType +func (x *fastReflection_MsgAddClassCreatorResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgAddClassCreatorResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) New() protoreflect.Message { - return new(fastReflection_MsgRemoveAllowedBridgeChainResponse) +func (x *fastReflection_MsgAddClassCreatorResponse) New() protoreflect.Message { + return new(fastReflection_MsgAddClassCreatorResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Interface() protoreflect.ProtoMessage { - return (*MsgRemoveAllowedBridgeChainResponse)(x) +func (x *fastReflection_MsgAddClassCreatorResponse) Interface() protoreflect.ProtoMessage { + return (*MsgAddClassCreatorResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -23978,7 +24533,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Interface() protore // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgAddClassCreatorResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -23992,13 +24547,13 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Range(f func(protor // 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_MsgRemoveAllowedBridgeChainResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgAddClassCreatorResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) } } @@ -24008,13 +24563,13 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Has(fd protoreflect // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgAddClassCreatorResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) } } @@ -24024,13 +24579,13 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Clear(fd protorefle // 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_MsgRemoveAllowedBridgeChainResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreatorResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", descriptor.FullName())) } } @@ -24044,13 +24599,13 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Get(descriptor prot // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgAddClassCreatorResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse does not contain field %s", fd.FullName())) } } @@ -24064,36 +24619,36 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Set(fd protoreflect // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreatorResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse 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_MsgRemoveAllowedBridgeChainResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgAddClassCreatorResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddClassCreatorResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddClassCreatorResponse 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_MsgRemoveAllowedBridgeChainResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgAddClassCreatorResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddClassCreatorResponse", d.FullName())) } panic("unreachable") } @@ -24101,7 +24656,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) WhichOneof(d protor // 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_MsgRemoveAllowedBridgeChainResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgAddClassCreatorResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -24112,7 +24667,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) GetUnknown() protor // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgAddClassCreatorResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -24124,7 +24679,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) SetUnknown(fields p // 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_MsgRemoveAllowedBridgeChainResponse) IsValid() bool { +func (x *fastReflection_MsgAddClassCreatorResponse) IsValid() bool { return x != nil } @@ -24134,9 +24689,9 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgAddClassCreatorResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgAddClassCreatorResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24158,7 +24713,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *pro } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgAddClassCreatorResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24188,7 +24743,7 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *pro }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + x := input.Message.Interface().(*MsgAddClassCreatorResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24220,10 +24775,10 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *pro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChainResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreatorResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChainResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddClassCreatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -24262,29 +24817,27 @@ func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *pro } var ( - md_MsgBurnRegen protoreflect.MessageDescriptor - fd_MsgBurnRegen_burner protoreflect.FieldDescriptor - fd_MsgBurnRegen_amount protoreflect.FieldDescriptor - fd_MsgBurnRegen_reason protoreflect.FieldDescriptor + md_MsgSetClassCreatorAllowlist protoreflect.MessageDescriptor + fd_MsgSetClassCreatorAllowlist_authority protoreflect.FieldDescriptor + fd_MsgSetClassCreatorAllowlist_enabled protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBurnRegen = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBurnRegen") - fd_MsgBurnRegen_burner = md_MsgBurnRegen.Fields().ByName("burner") - fd_MsgBurnRegen_amount = md_MsgBurnRegen.Fields().ByName("amount") - fd_MsgBurnRegen_reason = md_MsgBurnRegen.Fields().ByName("reason") + md_MsgSetClassCreatorAllowlist = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSetClassCreatorAllowlist") + fd_MsgSetClassCreatorAllowlist_authority = md_MsgSetClassCreatorAllowlist.Fields().ByName("authority") + fd_MsgSetClassCreatorAllowlist_enabled = md_MsgSetClassCreatorAllowlist.Fields().ByName("enabled") } -var _ protoreflect.Message = (*fastReflection_MsgBurnRegen)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSetClassCreatorAllowlist)(nil) -type fastReflection_MsgBurnRegen MsgBurnRegen +type fastReflection_MsgSetClassCreatorAllowlist MsgSetClassCreatorAllowlist -func (x *MsgBurnRegen) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBurnRegen)(x) +func (x *MsgSetClassCreatorAllowlist) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetClassCreatorAllowlist)(x) } -func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { +func (x *MsgSetClassCreatorAllowlist) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24296,43 +24849,43 @@ func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBurnRegen_messageType fastReflection_MsgBurnRegen_messageType -var _ protoreflect.MessageType = fastReflection_MsgBurnRegen_messageType{} +var _fastReflection_MsgSetClassCreatorAllowlist_messageType fastReflection_MsgSetClassCreatorAllowlist_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetClassCreatorAllowlist_messageType{} -type fastReflection_MsgBurnRegen_messageType struct{} +type fastReflection_MsgSetClassCreatorAllowlist_messageType struct{} -func (x fastReflection_MsgBurnRegen_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBurnRegen)(nil) +func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetClassCreatorAllowlist)(nil) } -func (x fastReflection_MsgBurnRegen_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBurnRegen) +func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetClassCreatorAllowlist) } -func (x fastReflection_MsgBurnRegen_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBurnRegen +func (x fastReflection_MsgSetClassCreatorAllowlist_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetClassCreatorAllowlist } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBurnRegen) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBurnRegen +func (x *fastReflection_MsgSetClassCreatorAllowlist) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetClassCreatorAllowlist } // 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_MsgBurnRegen) Type() protoreflect.MessageType { - return _fastReflection_MsgBurnRegen_messageType +func (x *fastReflection_MsgSetClassCreatorAllowlist) Type() protoreflect.MessageType { + return _fastReflection_MsgSetClassCreatorAllowlist_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBurnRegen) New() protoreflect.Message { - return new(fastReflection_MsgBurnRegen) +func (x *fastReflection_MsgSetClassCreatorAllowlist) New() protoreflect.Message { + return new(fastReflection_MsgSetClassCreatorAllowlist) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBurnRegen) Interface() protoreflect.ProtoMessage { - return (*MsgBurnRegen)(x) +func (x *fastReflection_MsgSetClassCreatorAllowlist) Interface() protoreflect.ProtoMessage { + return (*MsgSetClassCreatorAllowlist)(x) } // Range iterates over every populated field in an undefined order, @@ -24340,22 +24893,16 @@ func (x *fastReflection_MsgBurnRegen) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBurnRegen) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Burner != "" { - value := protoreflect.ValueOfString(x.Burner) - if !f(fd_MsgBurnRegen_burner, value) { - return - } - } - if x.Amount != "" { - value := protoreflect.ValueOfString(x.Amount) - if !f(fd_MsgBurnRegen_amount, value) { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgSetClassCreatorAllowlist_authority, value) { return } } - if x.Reason != "" { - value := protoreflect.ValueOfString(x.Reason) - if !f(fd_MsgBurnRegen_reason, value) { + if x.Enabled != false { + value := protoreflect.ValueOfBool(x.Enabled) + if !f(fd_MsgSetClassCreatorAllowlist_enabled, value) { return } } @@ -24372,19 +24919,17 @@ func (x *fastReflection_MsgBurnRegen) Range(f func(protoreflect.FieldDescriptor, // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgBurnRegen) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - return x.Burner != "" - case "regen.ecocredit.v1.MsgBurnRegen.amount": - return x.Amount != "" - case "regen.ecocredit.v1.MsgBurnRegen.reason": - return x.Reason != "" + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + return x.Enabled != false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) } } @@ -24394,19 +24939,17 @@ func (x *fastReflection_MsgBurnRegen) Has(fd protoreflect.FieldDescriptor) bool // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegen) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - x.Burner = "" - case "regen.ecocredit.v1.MsgBurnRegen.amount": - x.Amount = "" - case "regen.ecocredit.v1.MsgBurnRegen.reason": - x.Reason = "" + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + x.Enabled = false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) } } @@ -24416,22 +24959,19 @@ func (x *fastReflection_MsgBurnRegen) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgBurnRegen) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - value := x.Burner - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBurnRegen.amount": - value := x.Amount - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgBurnRegen.reason": - value := x.Reason + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + value := x.Authority return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + value := x.Enabled + return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", descriptor.FullName())) } } @@ -24445,19 +24985,17 @@ func (x *fastReflection_MsgBurnRegen) Get(descriptor protoreflect.FieldDescripto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegen) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - x.Burner = value.Interface().(string) - case "regen.ecocredit.v1.MsgBurnRegen.amount": - x.Amount = value.Interface().(string) - case "regen.ecocredit.v1.MsgBurnRegen.reason": - x.Reason = value.Interface().(string) + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + x.Enabled = value.Bool() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist does not contain field %s", fd.FullName())) } } @@ -24471,48 +25009,44 @@ func (x *fastReflection_MsgBurnRegen) Set(fd protoreflect.FieldDescriptor, value // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegen) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlist) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - panic(fmt.Errorf("field burner of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) - case "regen.ecocredit.v1.MsgBurnRegen.amount": - panic(fmt.Errorf("field amount of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) - case "regen.ecocredit.v1.MsgBurnRegen.reason": - panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgSetClassCreatorAllowlist is not mutable")) + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + panic(fmt.Errorf("field enabled of message regen.ecocredit.v1.MsgSetClassCreatorAllowlist is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist 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_MsgBurnRegen) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlist) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgBurnRegen.burner": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBurnRegen.amount": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgBurnRegen.reason": + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.authority": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgSetClassCreatorAllowlist.enabled": + return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlist")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlist 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_MsgBurnRegen) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSetClassCreatorAllowlist) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBurnRegen", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSetClassCreatorAllowlist", d.FullName())) } panic("unreachable") } @@ -24520,7 +25054,7 @@ func (x *fastReflection_MsgBurnRegen) WhichOneof(d protoreflect.OneofDescriptor) // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgBurnRegen) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSetClassCreatorAllowlist) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -24531,7 +25065,7 @@ func (x *fastReflection_MsgBurnRegen) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegen) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSetClassCreatorAllowlist) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -24543,7 +25077,7 @@ func (x *fastReflection_MsgBurnRegen) SetUnknown(fields protoreflect.RawFields) // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgBurnRegen) IsValid() bool { +func (x *fastReflection_MsgSetClassCreatorAllowlist) IsValid() bool { return x != nil } @@ -24553,9 +25087,9 @@ func (x *fastReflection_MsgBurnRegen) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSetClassCreatorAllowlist) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBurnRegen) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24567,17 +25101,12 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Burner) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.Amount) + l = len(x.Authority) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Reason) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) + if x.Enabled { + n += 2 } if x.unknownFields != nil { n += len(x.unknownFields) @@ -24589,7 +25118,7 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBurnRegen) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24608,24 +25137,20 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.Reason) > 0 { - i -= len(x.Reason) - copy(dAtA[i:], x.Reason) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) + if x.Enabled { i-- - dAtA[i] = 0x1a - } - if len(x.Amount) > 0 { - i -= len(x.Amount) - copy(dAtA[i:], x.Amount) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount))) + if x.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(x.Burner) > 0 { - i -= len(x.Burner) - copy(dAtA[i:], x.Burner) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Burner))) + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) i-- dAtA[i] = 0xa } @@ -24640,7 +25165,7 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBurnRegen) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlist) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -24672,15 +25197,15 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegen: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlist: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegen: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlist: 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 Burner", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -24708,13 +25233,13 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Burner = string(dAtA[iNdEx:postIndex]) + x.Authority = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Enabled", wireType) } - var stringLen uint64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -24724,66 +25249,22 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + x.Enabled = 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 } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - if postIndex > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - x.Amount = 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 Reason", 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.Reason = 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 { + if (iNdEx + skippy) > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if !options.DiscardUnknown { @@ -24810,23 +25291,23 @@ func (x *fastReflection_MsgBurnRegen) ProtoMethods() *protoiface.Methods { } var ( - md_MsgBurnRegenResponse protoreflect.MessageDescriptor + md_MsgSetClassCreatorAllowlistResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgBurnRegenResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBurnRegenResponse") + md_MsgSetClassCreatorAllowlistResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSetClassCreatorAllowlistResponse") } -var _ protoreflect.Message = (*fastReflection_MsgBurnRegenResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgSetClassCreatorAllowlistResponse)(nil) -type fastReflection_MsgBurnRegenResponse MsgBurnRegenResponse +type fastReflection_MsgSetClassCreatorAllowlistResponse MsgSetClassCreatorAllowlistResponse -func (x *MsgBurnRegenResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgBurnRegenResponse)(x) +func (x *MsgSetClassCreatorAllowlistResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgSetClassCreatorAllowlistResponse)(x) } -func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgSetClassCreatorAllowlistResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -24838,43 +25319,43 @@ func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgBurnRegenResponse_messageType fastReflection_MsgBurnRegenResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgBurnRegenResponse_messageType{} +var _fastReflection_MsgSetClassCreatorAllowlistResponse_messageType fastReflection_MsgSetClassCreatorAllowlistResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgSetClassCreatorAllowlistResponse_messageType{} -type fastReflection_MsgBurnRegenResponse_messageType struct{} +type fastReflection_MsgSetClassCreatorAllowlistResponse_messageType struct{} -func (x fastReflection_MsgBurnRegenResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgBurnRegenResponse)(nil) +func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgSetClassCreatorAllowlistResponse)(nil) } -func (x fastReflection_MsgBurnRegenResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgBurnRegenResponse) +func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgSetClassCreatorAllowlistResponse) } -func (x fastReflection_MsgBurnRegenResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBurnRegenResponse +func (x fastReflection_MsgSetClassCreatorAllowlistResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetClassCreatorAllowlistResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgBurnRegenResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgBurnRegenResponse +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgSetClassCreatorAllowlistResponse } // 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_MsgBurnRegenResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgBurnRegenResponse_messageType +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgSetClassCreatorAllowlistResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgBurnRegenResponse) New() protoreflect.Message { - return new(fastReflection_MsgBurnRegenResponse) +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) New() protoreflect.Message { + return new(fastReflection_MsgSetClassCreatorAllowlistResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgBurnRegenResponse) Interface() protoreflect.ProtoMessage { - return (*MsgBurnRegenResponse)(x) +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Interface() protoreflect.ProtoMessage { + return (*MsgSetClassCreatorAllowlistResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -24882,7 +25363,7 @@ func (x *fastReflection_MsgBurnRegenResponse) Interface() protoreflect.ProtoMess // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgBurnRegenResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -24896,13 +25377,13 @@ func (x *fastReflection_MsgBurnRegenResponse) Range(f func(protoreflect.FieldDes // 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_MsgBurnRegenResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) } } @@ -24912,13 +25393,13 @@ func (x *fastReflection_MsgBurnRegenResponse) Has(fd protoreflect.FieldDescripto // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegenResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) } } @@ -24928,13 +25409,13 @@ func (x *fastReflection_MsgBurnRegenResponse) Clear(fd protoreflect.FieldDescrip // 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_MsgBurnRegenResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", descriptor.FullName())) } } @@ -24948,13 +25429,13 @@ func (x *fastReflection_MsgBurnRegenResponse) Get(descriptor protoreflect.FieldD // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegenResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse does not contain field %s", fd.FullName())) } } @@ -24968,36 +25449,36 @@ func (x *fastReflection_MsgBurnRegenResponse) Set(fd protoreflect.FieldDescripto // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegenResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse 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_MsgBurnRegenResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse 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_MsgBurnRegenResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBurnRegenResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse", d.FullName())) } panic("unreachable") } @@ -25005,7 +25486,7 @@ func (x *fastReflection_MsgBurnRegenResponse) WhichOneof(d protoreflect.OneofDes // 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_MsgBurnRegenResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -25016,7 +25497,7 @@ func (x *fastReflection_MsgBurnRegenResponse) GetUnknown() protoreflect.RawField // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgBurnRegenResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -25028,7 +25509,7 @@ func (x *fastReflection_MsgBurnRegenResponse) SetUnknown(fields protoreflect.Raw // 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_MsgBurnRegenResponse) IsValid() bool { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) IsValid() bool { return x != nil } @@ -25038,9 +25519,9 @@ func (x *fastReflection_MsgBurnRegenResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgSetClassCreatorAllowlistResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgBurnRegenResponse) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -25062,7 +25543,7 @@ func (x *fastReflection_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgBurnRegenResponse) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -25092,7 +25573,7 @@ func (x *fastReflection_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgBurnRegenResponse) + x := input.Message.Interface().(*MsgSetClassCreatorAllowlistResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -25124,10 +25605,10 @@ func (x *fastReflection_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegenResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlistResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegenResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSetClassCreatorAllowlistResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -25149,352 +25630,5110 @@ func (x *fastReflection_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods } } - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + 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_MsgRemoveClassCreator protoreflect.MessageDescriptor + fd_MsgRemoveClassCreator_authority protoreflect.FieldDescriptor + fd_MsgRemoveClassCreator_creator protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgRemoveClassCreator = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveClassCreator") + fd_MsgRemoveClassCreator_authority = md_MsgRemoveClassCreator.Fields().ByName("authority") + fd_MsgRemoveClassCreator_creator = md_MsgRemoveClassCreator.Fields().ByName("creator") +} + +var _ protoreflect.Message = (*fastReflection_MsgRemoveClassCreator)(nil) + +type fastReflection_MsgRemoveClassCreator MsgRemoveClassCreator + +func (x *MsgRemoveClassCreator) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRemoveClassCreator)(x) +} + +func (x *MsgRemoveClassCreator) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + 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_MsgRemoveClassCreator_messageType fastReflection_MsgRemoveClassCreator_messageType +var _ protoreflect.MessageType = fastReflection_MsgRemoveClassCreator_messageType{} + +type fastReflection_MsgRemoveClassCreator_messageType struct{} + +func (x fastReflection_MsgRemoveClassCreator_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRemoveClassCreator)(nil) +} +func (x fastReflection_MsgRemoveClassCreator_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRemoveClassCreator) +} +func (x fastReflection_MsgRemoveClassCreator_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveClassCreator +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRemoveClassCreator) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveClassCreator +} + +// 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_MsgRemoveClassCreator) Type() protoreflect.MessageType { + return _fastReflection_MsgRemoveClassCreator_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRemoveClassCreator) New() protoreflect.Message { + return new(fastReflection_MsgRemoveClassCreator) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRemoveClassCreator) Interface() protoreflect.ProtoMessage { + return (*MsgRemoveClassCreator)(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_MsgRemoveClassCreator) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgRemoveClassCreator_authority, value) { + return + } + } + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgRemoveClassCreator_creator, 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_MsgRemoveClassCreator) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + return x.Creator != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + x.Creator = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + x.Creator = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgRemoveClassCreator is not mutable")) + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgRemoveClassCreator is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveClassCreator.authority": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgRemoveClassCreator.creator": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreator")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreator 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_MsgRemoveClassCreator) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveClassCreator", 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_MsgRemoveClassCreator) 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_MsgRemoveClassCreator) 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_MsgRemoveClassCreator) 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_MsgRemoveClassCreator) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRemoveClassCreator) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Creator) + 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().(*MsgRemoveClassCreator) + 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.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveClassCreator) + 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: MsgRemoveClassCreator: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreator: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", 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.Creator = 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_MsgRemoveClassCreatorResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgRemoveClassCreatorResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveClassCreatorResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgRemoveClassCreatorResponse)(nil) + +type fastReflection_MsgRemoveClassCreatorResponse MsgRemoveClassCreatorResponse + +func (x *MsgRemoveClassCreatorResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRemoveClassCreatorResponse)(x) +} + +func (x *MsgRemoveClassCreatorResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + 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_MsgRemoveClassCreatorResponse_messageType fastReflection_MsgRemoveClassCreatorResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRemoveClassCreatorResponse_messageType{} + +type fastReflection_MsgRemoveClassCreatorResponse_messageType struct{} + +func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRemoveClassCreatorResponse)(nil) +} +func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRemoveClassCreatorResponse) +} +func (x fastReflection_MsgRemoveClassCreatorResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveClassCreatorResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRemoveClassCreatorResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveClassCreatorResponse +} + +// 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_MsgRemoveClassCreatorResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRemoveClassCreatorResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRemoveClassCreatorResponse) New() protoreflect.Message { + return new(fastReflection_MsgRemoveClassCreatorResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRemoveClassCreatorResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRemoveClassCreatorResponse)(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_MsgRemoveClassCreatorResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRemoveClassCreatorResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveClassCreatorResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveClassCreatorResponse 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_MsgRemoveClassCreatorResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveClassCreatorResponse", 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_MsgRemoveClassCreatorResponse) 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_MsgRemoveClassCreatorResponse) 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_MsgRemoveClassCreatorResponse) 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_MsgRemoveClassCreatorResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveClassCreatorResponse) + 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: MsgRemoveClassCreatorResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveClassCreatorResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateClassFee protoreflect.MessageDescriptor + fd_MsgUpdateClassFee_authority protoreflect.FieldDescriptor + fd_MsgUpdateClassFee_fee protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgUpdateClassFee = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassFee") + fd_MsgUpdateClassFee_authority = md_MsgUpdateClassFee.Fields().ByName("authority") + fd_MsgUpdateClassFee_fee = md_MsgUpdateClassFee.Fields().ByName("fee") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassFee)(nil) + +type fastReflection_MsgUpdateClassFee MsgUpdateClassFee + +func (x *MsgUpdateClassFee) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassFee)(x) +} + +func (x *MsgUpdateClassFee) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + 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_MsgUpdateClassFee_messageType fastReflection_MsgUpdateClassFee_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassFee_messageType{} + +type fastReflection_MsgUpdateClassFee_messageType struct{} + +func (x fastReflection_MsgUpdateClassFee_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassFee)(nil) +} +func (x fastReflection_MsgUpdateClassFee_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassFee) +} +func (x fastReflection_MsgUpdateClassFee_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassFee +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateClassFee) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassFee +} + +// 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_MsgUpdateClassFee) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassFee_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateClassFee) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassFee) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateClassFee) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassFee)(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_MsgUpdateClassFee) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgUpdateClassFee_authority, value) { + return + } + } + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_MsgUpdateClassFee_fee, 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_MsgUpdateClassFee) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + return x.Fee != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + x.Fee = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgUpdateClassFee is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateClassFee.authority": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateClassFee.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFee 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_MsgUpdateClassFee) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassFee", 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_MsgUpdateClassFee) 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_MsgUpdateClassFee) 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_MsgUpdateClassFee) 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_MsgUpdateClassFee) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateClassFee) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Fee != nil { + l = options.Size(x.Fee) + 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().(*MsgUpdateClassFee) + 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.Fee != nil { + encoded, err := options.Marshal(x.Fee) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateClassFee) + 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: MsgUpdateClassFee: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFee: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", 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.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); 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_MsgUpdateClassFeeResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgUpdateClassFeeResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassFeeResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateClassFeeResponse)(nil) + +type fastReflection_MsgUpdateClassFeeResponse MsgUpdateClassFeeResponse + +func (x *MsgUpdateClassFeeResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateClassFeeResponse)(x) +} + +func (x *MsgUpdateClassFeeResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + 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_MsgUpdateClassFeeResponse_messageType fastReflection_MsgUpdateClassFeeResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateClassFeeResponse_messageType{} + +type fastReflection_MsgUpdateClassFeeResponse_messageType struct{} + +func (x fastReflection_MsgUpdateClassFeeResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateClassFeeResponse)(nil) +} +func (x fastReflection_MsgUpdateClassFeeResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassFeeResponse) +} +func (x fastReflection_MsgUpdateClassFeeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassFeeResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateClassFeeResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateClassFeeResponse +} + +// 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_MsgUpdateClassFeeResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateClassFeeResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateClassFeeResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateClassFeeResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateClassFeeResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateClassFeeResponse)(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_MsgUpdateClassFeeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateClassFeeResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassFeeResponse 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_MsgUpdateClassFeeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassFeeResponse", 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_MsgUpdateClassFeeResponse) 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_MsgUpdateClassFeeResponse) 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_MsgUpdateClassFeeResponse) 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_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateClassFeeResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateClassFeeResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateClassFeeResponse) + 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: MsgUpdateClassFeeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassFeeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgAddAllowedBridgeChain protoreflect.MessageDescriptor + fd_MsgAddAllowedBridgeChain_authority protoreflect.FieldDescriptor + fd_MsgAddAllowedBridgeChain_chain_name protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgAddAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChain") + fd_MsgAddAllowedBridgeChain_authority = md_MsgAddAllowedBridgeChain.Fields().ByName("authority") + fd_MsgAddAllowedBridgeChain_chain_name = md_MsgAddAllowedBridgeChain.Fields().ByName("chain_name") +} + +var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChain)(nil) + +type fastReflection_MsgAddAllowedBridgeChain MsgAddAllowedBridgeChain + +func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChain)(x) +} + +func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + 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_MsgAddAllowedBridgeChain_messageType fastReflection_MsgAddAllowedBridgeChain_messageType +var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChain_messageType{} + +type fastReflection_MsgAddAllowedBridgeChain_messageType struct{} + +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChain)(nil) +} +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChain) +} +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChain +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgAddAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChain +} + +// 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_MsgAddAllowedBridgeChain) Type() protoreflect.MessageType { + return _fastReflection_MsgAddAllowedBridgeChain_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgAddAllowedBridgeChain) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChain) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.ProtoMessage { + return (*MsgAddAllowedBridgeChain)(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_MsgAddAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgAddAllowedBridgeChain_authority, value) { + return + } + } + if x.ChainName != "" { + value := protoreflect.ValueOfString(x.ChainName) + if !f(fd_MsgAddAllowedBridgeChain_chain_name, 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_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + return x.ChainName != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + x.ChainName = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + value := x.ChainName + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + x.ChainName = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgAddAllowedBridgeChain is not mutable")) + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + panic(fmt.Errorf("field chain_name of message regen.ecocredit.v1.MsgAddAllowedBridgeChain is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddAllowedBridgeChain", 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_MsgAddAllowedBridgeChain) 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_MsgAddAllowedBridgeChain) 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_MsgAddAllowedBridgeChain) 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_MsgAddAllowedBridgeChain) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgAddAllowedBridgeChain) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ChainName) + 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().(*MsgAddAllowedBridgeChain) + 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.ChainName) > 0 { + i -= len(x.ChainName) + copy(dAtA[i:], x.ChainName) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChainName))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgAddAllowedBridgeChain) + 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: MsgAddAllowedBridgeChain: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChain: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChainName", 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.ChainName = 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_MsgAddAllowedBridgeChainResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgAddAllowedBridgeChainResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChainResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChainResponse)(nil) + +type fastReflection_MsgAddAllowedBridgeChainResponse MsgAddAllowedBridgeChainResponse + +func (x *MsgAddAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChainResponse)(x) +} + +func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + 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_MsgAddAllowedBridgeChainResponse_messageType fastReflection_MsgAddAllowedBridgeChainResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChainResponse_messageType{} + +type fastReflection_MsgAddAllowedBridgeChainResponse_messageType struct{} + +func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChainResponse)(nil) +} +func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChainResponse) +} +func (x fastReflection_MsgAddAllowedBridgeChainResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChainResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChainResponse +} + +// 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_MsgAddAllowedBridgeChainResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgAddAllowedBridgeChainResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgAddAllowedBridgeChainResponse) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChainResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Interface() protoreflect.ProtoMessage { + return (*MsgAddAllowedBridgeChainResponse)(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_MsgAddAllowedBridgeChainResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgAddAllowedBridgeChainResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse 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_MsgAddAllowedBridgeChainResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse", 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_MsgAddAllowedBridgeChainResponse) 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_MsgAddAllowedBridgeChainResponse) 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_MsgAddAllowedBridgeChainResponse) 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_MsgAddAllowedBridgeChainResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgAddAllowedBridgeChainResponse) + 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: MsgAddAllowedBridgeChainResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddAllowedBridgeChainResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRemoveAllowedBridgeChain protoreflect.MessageDescriptor + fd_MsgRemoveAllowedBridgeChain_authority protoreflect.FieldDescriptor + fd_MsgRemoveAllowedBridgeChain_chain_name protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgRemoveAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveAllowedBridgeChain") + fd_MsgRemoveAllowedBridgeChain_authority = md_MsgRemoveAllowedBridgeChain.Fields().ByName("authority") + fd_MsgRemoveAllowedBridgeChain_chain_name = md_MsgRemoveAllowedBridgeChain.Fields().ByName("chain_name") +} + +var _ protoreflect.Message = (*fastReflection_MsgRemoveAllowedBridgeChain)(nil) + +type fastReflection_MsgRemoveAllowedBridgeChain MsgRemoveAllowedBridgeChain + +func (x *MsgRemoveAllowedBridgeChain) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRemoveAllowedBridgeChain)(x) +} + +func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + 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_MsgRemoveAllowedBridgeChain_messageType fastReflection_MsgRemoveAllowedBridgeChain_messageType +var _ protoreflect.MessageType = fastReflection_MsgRemoveAllowedBridgeChain_messageType{} + +type fastReflection_MsgRemoveAllowedBridgeChain_messageType struct{} + +func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRemoveAllowedBridgeChain)(nil) +} +func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRemoveAllowedBridgeChain) +} +func (x fastReflection_MsgRemoveAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveAllowedBridgeChain +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRemoveAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveAllowedBridgeChain +} + +// 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_MsgRemoveAllowedBridgeChain) Type() protoreflect.MessageType { + return _fastReflection_MsgRemoveAllowedBridgeChain_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRemoveAllowedBridgeChain) New() protoreflect.Message { + return new(fastReflection_MsgRemoveAllowedBridgeChain) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRemoveAllowedBridgeChain) Interface() protoreflect.ProtoMessage { + return (*MsgRemoveAllowedBridgeChain)(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_MsgRemoveAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgRemoveAllowedBridgeChain_authority, value) { + return + } + } + if x.ChainName != "" { + value := protoreflect.ValueOfString(x.ChainName) + if !f(fd_MsgRemoveAllowedBridgeChain_chain_name, 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_MsgRemoveAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + return x.ChainName != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + x.ChainName = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + value := x.ChainName + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + x.ChainName = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain is not mutable")) + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + panic(fmt.Errorf("field chain_name of message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.authority": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain.chain_name": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChain 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_MsgRemoveAllowedBridgeChain) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveAllowedBridgeChain", 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_MsgRemoveAllowedBridgeChain) 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_MsgRemoveAllowedBridgeChain) 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_MsgRemoveAllowedBridgeChain) 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_MsgRemoveAllowedBridgeChain) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRemoveAllowedBridgeChain) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ChainName) + 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().(*MsgRemoveAllowedBridgeChain) + 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.ChainName) > 0 { + i -= len(x.ChainName) + copy(dAtA[i:], x.ChainName) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ChainName))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveAllowedBridgeChain) + 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: MsgRemoveAllowedBridgeChain: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChain: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ChainName", 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.ChainName = 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_MsgRemoveAllowedBridgeChainResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgRemoveAllowedBridgeChainResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgRemoveAllowedBridgeChainResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(nil) + +type fastReflection_MsgRemoveAllowedBridgeChainResponse MsgRemoveAllowedBridgeChainResponse + +func (x *MsgRemoveAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(x) +} + +func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + 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_MsgRemoveAllowedBridgeChainResponse_messageType fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType{} + +type fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType struct{} + +func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRemoveAllowedBridgeChainResponse)(nil) +} +func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRemoveAllowedBridgeChainResponse) +} +func (x fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveAllowedBridgeChainResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRemoveAllowedBridgeChainResponse +} + +// 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_MsgRemoveAllowedBridgeChainResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRemoveAllowedBridgeChainResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) New() protoreflect.Message { + return new(fastReflection_MsgRemoveAllowedBridgeChainResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRemoveAllowedBridgeChainResponse)(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_MsgRemoveAllowedBridgeChainResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRemoveAllowedBridgeChainResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse 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_MsgRemoveAllowedBridgeChainResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse", 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_MsgRemoveAllowedBridgeChainResponse) 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_MsgRemoveAllowedBridgeChainResponse) 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_MsgRemoveAllowedBridgeChainResponse) 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_MsgRemoveAllowedBridgeChainResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRemoveAllowedBridgeChainResponse) + 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: MsgRemoveAllowedBridgeChainResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveAllowedBridgeChainResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgBurnRegen protoreflect.MessageDescriptor + fd_MsgBurnRegen_burner protoreflect.FieldDescriptor + fd_MsgBurnRegen_amount protoreflect.FieldDescriptor + fd_MsgBurnRegen_reason protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgBurnRegen = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBurnRegen") + fd_MsgBurnRegen_burner = md_MsgBurnRegen.Fields().ByName("burner") + fd_MsgBurnRegen_amount = md_MsgBurnRegen.Fields().ByName("amount") + fd_MsgBurnRegen_reason = md_MsgBurnRegen.Fields().ByName("reason") +} + +var _ protoreflect.Message = (*fastReflection_MsgBurnRegen)(nil) + +type fastReflection_MsgBurnRegen MsgBurnRegen + +func (x *MsgBurnRegen) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBurnRegen)(x) +} + +func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + 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_MsgBurnRegen_messageType fastReflection_MsgBurnRegen_messageType +var _ protoreflect.MessageType = fastReflection_MsgBurnRegen_messageType{} + +type fastReflection_MsgBurnRegen_messageType struct{} + +func (x fastReflection_MsgBurnRegen_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBurnRegen)(nil) +} +func (x fastReflection_MsgBurnRegen_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBurnRegen) +} +func (x fastReflection_MsgBurnRegen_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBurnRegen +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBurnRegen) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBurnRegen +} + +// 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_MsgBurnRegen) Type() protoreflect.MessageType { + return _fastReflection_MsgBurnRegen_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBurnRegen) New() protoreflect.Message { + return new(fastReflection_MsgBurnRegen) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBurnRegen) Interface() protoreflect.ProtoMessage { + return (*MsgBurnRegen)(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_MsgBurnRegen) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Burner != "" { + value := protoreflect.ValueOfString(x.Burner) + if !f(fd_MsgBurnRegen_burner, value) { + return + } + } + if x.Amount != "" { + value := protoreflect.ValueOfString(x.Amount) + if !f(fd_MsgBurnRegen_amount, value) { + return + } + } + if x.Reason != "" { + value := protoreflect.ValueOfString(x.Reason) + if !f(fd_MsgBurnRegen_reason, 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_MsgBurnRegen) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + return x.Burner != "" + case "regen.ecocredit.v1.MsgBurnRegen.amount": + return x.Amount != "" + case "regen.ecocredit.v1.MsgBurnRegen.reason": + return x.Reason != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + x.Burner = "" + case "regen.ecocredit.v1.MsgBurnRegen.amount": + x.Amount = "" + case "regen.ecocredit.v1.MsgBurnRegen.reason": + x.Reason = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + value := x.Burner + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBurnRegen.amount": + value := x.Amount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgBurnRegen.reason": + value := x.Reason + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + x.Burner = value.Interface().(string) + case "regen.ecocredit.v1.MsgBurnRegen.amount": + x.Amount = value.Interface().(string) + case "regen.ecocredit.v1.MsgBurnRegen.reason": + x.Reason = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + panic(fmt.Errorf("field burner of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) + case "regen.ecocredit.v1.MsgBurnRegen.amount": + panic(fmt.Errorf("field amount of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) + case "regen.ecocredit.v1.MsgBurnRegen.reason": + panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgBurnRegen is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgBurnRegen.burner": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBurnRegen.amount": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgBurnRegen.reason": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegen")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegen 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_MsgBurnRegen) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBurnRegen", 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_MsgBurnRegen) 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_MsgBurnRegen) 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_MsgBurnRegen) 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_MsgBurnRegen) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBurnRegen) + 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.Burner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Amount) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Reason) + 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().(*MsgBurnRegen) + 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.Reason) > 0 { + i -= len(x.Reason) + copy(dAtA[i:], x.Reason) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) + i-- + dAtA[i] = 0x1a + } + if len(x.Amount) > 0 { + i -= len(x.Amount) + copy(dAtA[i:], x.Amount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount))) + i-- + dAtA[i] = 0x12 + } + if len(x.Burner) > 0 { + i -= len(x.Burner) + copy(dAtA[i:], x.Burner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Burner))) + 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().(*MsgBurnRegen) + 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: MsgBurnRegen: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegen: 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 Burner", 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.Burner = 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 Amount", 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.Amount = 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 Reason", 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.Reason = 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_MsgBurnRegenResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgBurnRegenResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgBurnRegenResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgBurnRegenResponse)(nil) + +type fastReflection_MsgBurnRegenResponse MsgBurnRegenResponse + +func (x *MsgBurnRegenResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgBurnRegenResponse)(x) +} + +func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] + 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_MsgBurnRegenResponse_messageType fastReflection_MsgBurnRegenResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgBurnRegenResponse_messageType{} + +type fastReflection_MsgBurnRegenResponse_messageType struct{} + +func (x fastReflection_MsgBurnRegenResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgBurnRegenResponse)(nil) +} +func (x fastReflection_MsgBurnRegenResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgBurnRegenResponse) +} +func (x fastReflection_MsgBurnRegenResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBurnRegenResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgBurnRegenResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgBurnRegenResponse +} + +// 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_MsgBurnRegenResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgBurnRegenResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgBurnRegenResponse) New() protoreflect.Message { + return new(fastReflection_MsgBurnRegenResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgBurnRegenResponse) Interface() protoreflect.ProtoMessage { + return (*MsgBurnRegenResponse)(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_MsgBurnRegenResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgBurnRegenResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgBurnRegenResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgBurnRegenResponse 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_MsgBurnRegenResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgBurnRegenResponse", 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_MsgBurnRegenResponse) 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_MsgBurnRegenResponse) 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_MsgBurnRegenResponse) 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_MsgBurnRegenResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgBurnRegenResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgBurnRegenResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgBurnRegenResponse) + 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: MsgBurnRegenResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgBurnRegenResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: regen/ecocredit/v1/tx.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) +) + +// MsgAddCreditType is the Msg/AddCreditType request type. +// +// Since Revision 2 +type MsgAddCreditType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // credit_type defines a credit type to add to the credit types parameter. + CreditType *CreditType `protobuf:"bytes,2,opt,name=credit_type,json=creditType,proto3" json:"credit_type,omitempty"` +} + +func (x *MsgAddCreditType) Reset() { + *x = MsgAddCreditType{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAddCreditType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAddCreditType) ProtoMessage() {} + +// Deprecated: Use MsgAddCreditType.ProtoReflect.Descriptor instead. +func (*MsgAddCreditType) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{0} +} + +func (x *MsgAddCreditType) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgAddCreditType) GetCreditType() *CreditType { + if x != nil { + return x.CreditType + } + return nil +} + +// MsgAddCreditTypeResponse is the Msg/AddCreditType response type. +// +// Since Revision 2 +type MsgAddCreditTypeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgAddCreditTypeResponse) Reset() { + *x = MsgAddCreditTypeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgAddCreditTypeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgAddCreditTypeResponse) ProtoMessage() {} + +// Deprecated: Use MsgAddCreditTypeResponse.ProtoReflect.Descriptor instead. +func (*MsgAddCreditTypeResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{1} +} + +// MsgCreateClass is the Msg/CreateClass request type. +type MsgCreateClass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // admin is the address of the account creating the credit class that will + // become the admin of the credit class upon creation. The admin will have + // permissions within the credit class to update the credit class including + // the list of approved issuers. If Params.allowlist_enabled is set to true, + // this address must be included in Params.allowed_class_creators. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // issuers are the addresses of the accounts that will have permissions within + // the credit class to create projects and issue credits. + Issuers []string `protobuf:"bytes,2,rep,name=issuers,proto3" json:"issuers,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata to attach to the credit class. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // credit_type_abbrev is the abbreviation of the credit type under which the + // credit class will be created (e.g. "C", "BIO"). + CreditTypeAbbrev string `protobuf:"bytes,4,opt,name=credit_type_abbrev,json=creditTypeAbbrev,proto3" json:"credit_type_abbrev,omitempty"` + // fee is the credit class creation fee. An equal fee is required if the class + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + Fee *v1beta1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (x *MsgCreateClass) Reset() { + *x = MsgCreateClass{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateClass) ProtoMessage() {} + +// Deprecated: Use MsgCreateClass.ProtoReflect.Descriptor instead. +func (*MsgCreateClass) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{2} +} + +func (x *MsgCreateClass) GetAdmin() string { + if x != nil { + return x.Admin + } + return "" +} + +func (x *MsgCreateClass) GetIssuers() []string { + if x != nil { + return x.Issuers + } + return nil +} + +func (x *MsgCreateClass) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *MsgCreateClass) GetCreditTypeAbbrev() string { + if x != nil { + return x.CreditTypeAbbrev + } + return "" +} + +func (x *MsgCreateClass) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + +// MsgCreateClassResponse is the Msg/CreateClass response type. +type MsgCreateClassResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // class_id is the unique identifier of the credit class. + ClassId string `protobuf:"bytes,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` +} + +func (x *MsgCreateClassResponse) Reset() { + *x = MsgCreateClassResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateClassResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateClassResponse) ProtoMessage() {} + +// Deprecated: Use MsgCreateClassResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateClassResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{3} +} + +func (x *MsgCreateClassResponse) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +// MsgCreateProjectResponse is the Msg/CreateProject request type. +type MsgCreateProject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // admin is the address of the account creating the project that will become + // the admin of the project upon creation. The creator of the project must be + // an approved issuer within the credit class under which the project is being + // created. The admin will have permissions to update the project including + // the ability to reassign the admin role to another account. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // class_id is the unique identifier of the credit class under which the + // project will be created. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata to attach to the project. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // jurisdiction is the jurisdiction of the project. A jurisdiction has with + // the format: [-[ ]] + // The country-code must be 2 alphabetic characters, the sub-national-code + // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 + // alphanumeric characters. Only the country-code is required, while the + // sub-national-code and postal-code are optional and can be added for + // increased precision. + Jurisdiction string `protobuf:"bytes,4,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` + // reference_id is any arbitrary string used to reference the project with a + // maximum length of 32 characters. + ReferenceId string `protobuf:"bytes,5,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` +} + +func (x *MsgCreateProject) Reset() { + *x = MsgCreateProject{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateProject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateProject) ProtoMessage() {} + +// Deprecated: Use MsgCreateProject.ProtoReflect.Descriptor instead. +func (*MsgCreateProject) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{4} +} + +func (x *MsgCreateProject) GetAdmin() string { + if x != nil { + return x.Admin + } + return "" +} + +func (x *MsgCreateProject) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *MsgCreateProject) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +func (x *MsgCreateProject) GetJurisdiction() string { + if x != nil { + return x.Jurisdiction + } + return "" +} + +func (x *MsgCreateProject) GetReferenceId() string { + if x != nil { + return x.ReferenceId + } + return "" +} + +// MsgCreateProjectResponse is the Msg/CreateProject response type. +type MsgCreateProjectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` +} + +func (x *MsgCreateProjectResponse) Reset() { + *x = MsgCreateProjectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCreateProjectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateProjectResponse) ProtoMessage() {} + +// Deprecated: Use MsgCreateProjectResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateProjectResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{5} +} + +func (x *MsgCreateProjectResponse) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +// MsgCreateUnregisteredProject is the Msg/CreateUnregisteredProject request type. +type MsgCreateUnregisteredProject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // creator is the address of the account creating the project that will become + // the admin of the project upon creation. + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata to attach to the project. + Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + // jurisdiction is the jurisdiction of the project. A jurisdiction has with + // the format: [-[ ]] + // The country-code must be 2 alphabetic characters, the sub-national-code + // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 + // alphanumeric characters. Only the country-code is required, while the + // sub-national-code and postal-code are optional and can be added for + // increased precision. + Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` + // reference_id is any arbitrary string used to reference the project with a + // maximum length of 32 characters. + ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` +} + +func (x *MsgCreateUnregisteredProject) Reset() { + *x = MsgCreateUnregisteredProject{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, +} + +func (x *MsgCreateUnregisteredProject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCreateUnregisteredProject) ProtoMessage() {} + +// Deprecated: Use MsgCreateUnregisteredProject.ProtoReflect.Descriptor instead. +func (*MsgCreateUnregisteredProject) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{6} +} + +func (x *MsgCreateUnregisteredProject) GetCreator() string { + if x != nil { + return x.Creator } + return "" } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: regen/ecocredit/v1/tx.proto +func (x *MsgCreateUnregisteredProject) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} -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) -) +func (x *MsgCreateUnregisteredProject) GetJurisdiction() string { + if x != nil { + return x.Jurisdiction + } + return "" +} -// MsgAddCreditType is the Msg/AddCreditType request type. -// -// Since Revision 2 -type MsgAddCreditType struct { +func (x *MsgCreateUnregisteredProject) GetReferenceId() string { + if x != nil { + return x.ReferenceId + } + return "" +} + +// MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. +type MsgCreateUnregisteredProjectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // credit_type defines a credit type to add to the credit types parameter. - CreditType *CreditType `protobuf:"bytes,2,opt,name=credit_type,json=creditType,proto3" json:"credit_type,omitempty"` + // project_id is the unique identifier of the project. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` } -func (x *MsgAddCreditType) Reset() { - *x = MsgAddCreditType{} +func (x *MsgCreateUnregisteredProjectResponse) Reset() { + *x = MsgCreateUnregisteredProjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[0] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgAddCreditType) String() string { +func (x *MsgCreateUnregisteredProjectResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgAddCreditType) ProtoMessage() {} +func (*MsgCreateUnregisteredProjectResponse) ProtoMessage() {} -// Deprecated: Use MsgAddCreditType.ProtoReflect.Descriptor instead. -func (*MsgAddCreditType) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{0} +// Deprecated: Use MsgCreateUnregisteredProjectResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateUnregisteredProjectResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{7} } -func (x *MsgAddCreditType) GetAuthority() string { +func (x *MsgCreateUnregisteredProjectResponse) GetProjectId() string { if x != nil { - return x.Authority + return x.ProjectId } return "" } -func (x *MsgAddCreditType) GetCreditType() *CreditType { +// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. +type MsgSubmitClassApplication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_admin is the address of the account that is the admin of the + // project which is applying to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // project_id is the identifier of the project which is applying to + // the credit class. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the identifier of the credit class which the project is + // applying to. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // issuer is the address of the account that is an issuer of the credit class + // to whom the project is applying to for approval. + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the application. + // This could be used as a digital reference to the actual contents of the application. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *MsgSubmitClassApplication) Reset() { + *x = MsgSubmitClassApplication{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgSubmitClassApplication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgSubmitClassApplication) ProtoMessage() {} + +// Deprecated: Use MsgSubmitClassApplication.ProtoReflect.Descriptor instead. +func (*MsgSubmitClassApplication) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{8} +} + +func (x *MsgSubmitClassApplication) GetProjectAdmin() string { if x != nil { - return x.CreditType + return x.ProjectAdmin } - return nil + return "" } -// MsgAddCreditTypeResponse is the Msg/AddCreditType response type. -// -// Since Revision 2 -type MsgAddCreditTypeResponse struct { +func (x *MsgSubmitClassApplication) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *MsgSubmitClassApplication) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *MsgSubmitClassApplication) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *MsgSubmitClassApplication) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + +// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. +type MsgSubmitClassApplicationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // application_id is the identifier assigned to the application. + ApplicationId uint64 `protobuf:"varint,1,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` } -func (x *MsgAddCreditTypeResponse) Reset() { - *x = MsgAddCreditTypeResponse{} +func (x *MsgSubmitClassApplicationResponse) Reset() { + *x = MsgSubmitClassApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[1] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgAddCreditTypeResponse) String() string { +func (x *MsgSubmitClassApplicationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgAddCreditTypeResponse) ProtoMessage() {} +func (*MsgSubmitClassApplicationResponse) ProtoMessage() {} -// Deprecated: Use MsgAddCreditTypeResponse.ProtoReflect.Descriptor instead. -func (*MsgAddCreditTypeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{1} +// Deprecated: Use MsgSubmitClassApplicationResponse.ProtoReflect.Descriptor instead. +func (*MsgSubmitClassApplicationResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{9} } -// MsgCreateClass is the Msg/CreateClass request type. -type MsgCreateClass struct { +func (x *MsgSubmitClassApplicationResponse) GetApplicationId() uint64 { + if x != nil { + return x.ApplicationId + } + return 0 +} + +// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. +type MsgUpdateClassApplication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // admin is the address of the account creating the credit class that will - // become the admin of the credit class upon creation. The admin will have - // permissions within the credit class to update the credit class including - // the list of approved issuers. If Params.allowlist_enabled is set to true, - // this address must be included in Params.allowed_class_creators. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // issuers are the addresses of the accounts that will have permissions within - // the credit class to create projects and issue credits. - Issuers []string `protobuf:"bytes,2,rep,name=issuers,proto3" json:"issuers,omitempty"` + // project_admin is the address of the account that is the admin of the + // project which is updating its application to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // application_id is the identifier of the application to update. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata to attach to the credit class. + // that includes or references metadata relevant to the application. If it + // is left empty, the existing metadata will be deleted. Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - // credit_type_abbrev is the abbreviation of the credit type under which the - // credit class will be created (e.g. "C", "BIO"). - CreditTypeAbbrev string `protobuf:"bytes,4,opt,name=credit_type_abbrev,json=creditTypeAbbrev,proto3" json:"credit_type_abbrev,omitempty"` - // fee is the credit class creation fee. An equal fee is required if the class - // creation fee parameter is set. The provided fee can be greater than the - // parameter, but only the amount in the parameter will be charged. - Fee *v1beta1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` } -func (x *MsgCreateClass) Reset() { - *x = MsgCreateClass{} +func (x *MsgUpdateClassApplication) Reset() { + *x = MsgUpdateClassApplication{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[2] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCreateClass) String() string { +func (x *MsgUpdateClassApplication) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCreateClass) ProtoMessage() {} +func (*MsgUpdateClassApplication) ProtoMessage() {} -// Deprecated: Use MsgCreateClass.ProtoReflect.Descriptor instead. -func (*MsgCreateClass) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{2} +// Deprecated: Use MsgUpdateClassApplication.ProtoReflect.Descriptor instead. +func (*MsgUpdateClassApplication) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{10} } -func (x *MsgCreateClass) GetAdmin() string { +func (x *MsgUpdateClassApplication) GetProjectAdmin() string { if x != nil { - return x.Admin + return x.ProjectAdmin } return "" } -func (x *MsgCreateClass) GetIssuers() []string { +func (x *MsgUpdateClassApplication) GetApplicationId() uint64 { if x != nil { - return x.Issuers + return x.ApplicationId } - return nil + return 0 } -func (x *MsgCreateClass) GetMetadata() string { +func (x *MsgUpdateClassApplication) GetMetadata() string { if x != nil { return x.Metadata } return "" } -func (x *MsgCreateClass) GetCreditTypeAbbrev() string { +// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. +type MsgUpdateClassApplicationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateClassApplicationResponse) Reset() { + *x = MsgUpdateClassApplicationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateClassApplicationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateClassApplicationResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateClassApplicationResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateClassApplicationResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} +} + +// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. +type MsgWithdrawClassApplication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_admin is the address of the account that is the admin of the + // project which is withdrawing its application to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // application_id is the identifier of the application to withdraw. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` +} + +func (x *MsgWithdrawClassApplication) Reset() { + *x = MsgWithdrawClassApplication{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgWithdrawClassApplication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgWithdrawClassApplication) ProtoMessage() {} + +// Deprecated: Use MsgWithdrawClassApplication.ProtoReflect.Descriptor instead. +func (*MsgWithdrawClassApplication) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} +} + +func (x *MsgWithdrawClassApplication) GetProjectAdmin() string { if x != nil { - return x.CreditTypeAbbrev + return x.ProjectAdmin } return "" } -func (x *MsgCreateClass) GetFee() *v1beta1.Coin { +func (x *MsgWithdrawClassApplication) GetApplicationId() uint64 { if x != nil { - return x.Fee + return x.ApplicationId } - return nil + return 0 } -// MsgCreateClassResponse is the Msg/CreateClass response type. -type MsgCreateClassResponse struct { +// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. +type MsgWithdrawClassApplicationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // class_id is the unique identifier of the credit class. - ClassId string `protobuf:"bytes,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + unknownFields protoimpl.UnknownFields } -func (x *MsgCreateClassResponse) Reset() { - *x = MsgCreateClassResponse{} +func (x *MsgWithdrawClassApplicationResponse) Reset() { + *x = MsgWithdrawClassApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[3] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCreateClassResponse) String() string { +func (x *MsgWithdrawClassApplicationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCreateClassResponse) ProtoMessage() {} - -// Deprecated: Use MsgCreateClassResponse.ProtoReflect.Descriptor instead. -func (*MsgCreateClassResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{3} -} +func (*MsgWithdrawClassApplicationResponse) ProtoMessage() {} -func (x *MsgCreateClassResponse) GetClassId() string { - if x != nil { - return x.ClassId - } - return "" +// Deprecated: Use MsgWithdrawClassApplicationResponse.ProtoReflect.Descriptor instead. +func (*MsgWithdrawClassApplicationResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} } -// MsgCreateProjectResponse is the Msg/CreateProject request type. -type MsgCreateProject struct { +// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. +type MsgEvaluateClassApplication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // admin is the address of the account creating the project that will become - // the admin of the project upon creation. The creator of the project must be - // an approved issuer within the credit class under which the project is being - // created. The admin will have permissions to update the project including - // the ability to reassign the admin role to another account. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class under which the - // project will be created. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata to attach to the project. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - // jurisdiction is the jurisdiction of the project. A jurisdiction has with - // the format: [-[ ]] - // The country-code must be 2 alphabetic characters, the sub-national-code - // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 - // alphanumeric characters. Only the country-code is required, while the - // sub-national-code and postal-code are optional and can be added for - // increased precision. - Jurisdiction string `protobuf:"bytes,4,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` - // reference_id is any arbitrary string used to reference the project with a - // maximum length of 32 characters. - ReferenceId string `protobuf:"bytes,5,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // issuer is the address of the account that is the issuer of the credit class + // which is evaluating the application. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // application_id is the identifier of the application to evaluate. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` + // evaluation is the evaluation of the application. + Evaluation ApplicationStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"evaluation,omitempty"` + // reason is any arbitrary string with a maximum length of 256 characters + // that includes or references the reason for the approving, requesting changes + // to, or rejecting the application. + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` } -func (x *MsgCreateProject) Reset() { - *x = MsgCreateProject{} +func (x *MsgEvaluateClassApplication) Reset() { + *x = MsgEvaluateClassApplication{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[4] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCreateProject) String() string { +func (x *MsgEvaluateClassApplication) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCreateProject) ProtoMessage() {} - -// Deprecated: Use MsgCreateProject.ProtoReflect.Descriptor instead. -func (*MsgCreateProject) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{4} -} +func (*MsgEvaluateClassApplication) ProtoMessage() {} -func (x *MsgCreateProject) GetAdmin() string { - if x != nil { - return x.Admin - } - return "" +// Deprecated: Use MsgEvaluateClassApplication.ProtoReflect.Descriptor instead. +func (*MsgEvaluateClassApplication) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} } -func (x *MsgCreateProject) GetClassId() string { +func (x *MsgEvaluateClassApplication) GetIssuer() string { if x != nil { - return x.ClassId + return x.Issuer } return "" } -func (x *MsgCreateProject) GetMetadata() string { +func (x *MsgEvaluateClassApplication) GetApplicationId() uint64 { if x != nil { - return x.Metadata + return x.ApplicationId } - return "" + return 0 } -func (x *MsgCreateProject) GetJurisdiction() string { +func (x *MsgEvaluateClassApplication) GetEvaluation() ApplicationStatus { if x != nil { - return x.Jurisdiction + return x.Evaluation } - return "" + return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED } -func (x *MsgCreateProject) GetReferenceId() string { +func (x *MsgEvaluateClassApplication) GetReason() string { if x != nil { - return x.ReferenceId + return x.Reason } return "" } -// MsgCreateProjectResponse is the Msg/CreateProject response type. -type MsgCreateProjectResponse struct { +// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. +type MsgEvaluateClassApplicationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // project_id is the unique identifier of the project. - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` } -func (x *MsgCreateProjectResponse) Reset() { - *x = MsgCreateProjectResponse{} +func (x *MsgEvaluateClassApplicationResponse) Reset() { + *x = MsgEvaluateClassApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[5] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgCreateProjectResponse) String() string { +func (x *MsgEvaluateClassApplicationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgCreateProjectResponse) ProtoMessage() {} - -// Deprecated: Use MsgCreateProjectResponse.ProtoReflect.Descriptor instead. -func (*MsgCreateProjectResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{5} -} +func (*MsgEvaluateClassApplicationResponse) ProtoMessage() {} -func (x *MsgCreateProjectResponse) GetProjectId() string { - if x != nil { - return x.ProjectId - } - return "" +// Deprecated: Use MsgEvaluateClassApplicationResponse.ProtoReflect.Descriptor instead. +func (*MsgEvaluateClassApplicationResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} } // MsgCreateBatch is the Msg/CreateBatch request type. @@ -25537,7 +30776,7 @@ type MsgCreateBatch struct { func (x *MsgCreateBatch) Reset() { *x = MsgCreateBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[6] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25551,7 +30790,7 @@ func (*MsgCreateBatch) ProtoMessage() {} // Deprecated: Use MsgCreateBatch.ProtoReflect.Descriptor instead. func (*MsgCreateBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{6} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} } func (x *MsgCreateBatch) GetIssuer() string { @@ -25623,7 +30862,7 @@ type MsgCreateBatchResponse struct { func (x *MsgCreateBatchResponse) Reset() { *x = MsgCreateBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[7] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25637,7 +30876,7 @@ func (*MsgCreateBatchResponse) ProtoMessage() {} // Deprecated: Use MsgCreateBatchResponse.ProtoReflect.Descriptor instead. func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{7} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} } func (x *MsgCreateBatchResponse) GetBatchDenom() string { @@ -25670,7 +30909,7 @@ type MsgMintBatchCredits struct { func (x *MsgMintBatchCredits) Reset() { *x = MsgMintBatchCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25684,7 +30923,7 @@ func (*MsgMintBatchCredits) ProtoMessage() {} // Deprecated: Use MsgMintBatchCredits.ProtoReflect.Descriptor instead. func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{8} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} } func (x *MsgMintBatchCredits) GetIssuer() string { @@ -25725,7 +30964,7 @@ type MsgMintBatchCreditsResponse struct { func (x *MsgMintBatchCreditsResponse) Reset() { *x = MsgMintBatchCreditsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25739,7 +30978,7 @@ func (*MsgMintBatchCreditsResponse) ProtoMessage() {} // Deprecated: Use MsgMintBatchCreditsResponse.ProtoReflect.Descriptor instead. func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{9} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} } // MsgSealBatch is the Msg/MintBatchCredits request type. @@ -25758,7 +30997,7 @@ type MsgSealBatch struct { func (x *MsgSealBatch) Reset() { *x = MsgSealBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25772,7 +31011,7 @@ func (*MsgSealBatch) ProtoMessage() {} // Deprecated: Use MsgSealBatch.ProtoReflect.Descriptor instead. func (*MsgSealBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{10} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} } func (x *MsgSealBatch) GetIssuer() string { @@ -25799,7 +31038,7 @@ type MsgSealBatchResponse struct { func (x *MsgSealBatchResponse) Reset() { *x = MsgSealBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25813,7 +31052,7 @@ func (*MsgSealBatchResponse) ProtoMessage() {} // Deprecated: Use MsgSealBatchResponse.ProtoReflect.Descriptor instead. func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} } // MsgSend is the Msg/Send request type. @@ -25833,7 +31072,7 @@ type MsgSend struct { func (x *MsgSend) Reset() { *x = MsgSend{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25847,7 +31086,7 @@ func (*MsgSend) ProtoMessage() {} // Deprecated: Use MsgSend.ProtoReflect.Descriptor instead. func (*MsgSend) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} } func (x *MsgSend) GetSender() string { @@ -25881,7 +31120,7 @@ type MsgSendResponse struct { func (x *MsgSendResponse) Reset() { *x = MsgSendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25895,7 +31134,7 @@ func (*MsgSendResponse) ProtoMessage() {} // Deprecated: Use MsgSendResponse.ProtoReflect.Descriptor instead. func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} } // MsgRetire is the Msg/Retire request type. @@ -25926,7 +31165,7 @@ type MsgRetire struct { func (x *MsgRetire) Reset() { *x = MsgRetire{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25940,7 +31179,7 @@ func (*MsgRetire) ProtoMessage() {} // Deprecated: Use MsgRetire.ProtoReflect.Descriptor instead. func (*MsgRetire) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} } func (x *MsgRetire) GetOwner() string { @@ -25981,7 +31220,7 @@ type MsgRetireResponse struct { func (x *MsgRetireResponse) Reset() { *x = MsgRetireResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25995,7 +31234,7 @@ func (*MsgRetireResponse) ProtoMessage() {} // Deprecated: Use MsgRetireResponse.ProtoReflect.Descriptor instead. func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} } // MsgCancel is the Msg/Cancel request type. @@ -26016,7 +31255,7 @@ type MsgCancel struct { func (x *MsgCancel) Reset() { *x = MsgCancel{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26030,7 +31269,7 @@ func (*MsgCancel) ProtoMessage() {} // Deprecated: Use MsgCancel.ProtoReflect.Descriptor instead. func (*MsgCancel) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} } func (x *MsgCancel) GetOwner() string { @@ -26064,7 +31303,7 @@ type MsgCancelResponse struct { func (x *MsgCancelResponse) Reset() { *x = MsgCancelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26078,7 +31317,7 @@ func (*MsgCancelResponse) ProtoMessage() {} // Deprecated: Use MsgCancelResponse.ProtoReflect.Descriptor instead. func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} } // MsgUpdateClassAdmin is the Msg/UpdateClassAdmin request type. @@ -26100,7 +31339,7 @@ type MsgUpdateClassAdmin struct { func (x *MsgUpdateClassAdmin) Reset() { *x = MsgUpdateClassAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26114,7 +31353,7 @@ func (*MsgUpdateClassAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} } func (x *MsgUpdateClassAdmin) GetAdmin() string { @@ -26148,7 +31387,7 @@ type MsgUpdateClassAdminResponse struct { func (x *MsgUpdateClassAdminResponse) Reset() { *x = MsgUpdateClassAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26162,7 +31401,7 @@ func (*MsgUpdateClassAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} } // MsgUpdateClassIssuers is the Msg/UpdateClassIssuers request type. @@ -26186,7 +31425,7 @@ type MsgUpdateClassIssuers struct { func (x *MsgUpdateClassIssuers) Reset() { *x = MsgUpdateClassIssuers{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26200,7 +31439,7 @@ func (*MsgUpdateClassIssuers) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuers.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} } func (x *MsgUpdateClassIssuers) GetAdmin() string { @@ -26241,7 +31480,7 @@ type MsgUpdateClassIssuersResponse struct { func (x *MsgUpdateClassIssuersResponse) Reset() { *x = MsgUpdateClassIssuersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26255,7 +31494,7 @@ func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuersResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} } // MsgUpdateClassMetadata is the Msg/UpdateClassMetadata request type. @@ -26277,7 +31516,7 @@ type MsgUpdateClassMetadata struct { func (x *MsgUpdateClassMetadata) Reset() { *x = MsgUpdateClassMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26291,7 +31530,7 @@ func (*MsgUpdateClassMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} } func (x *MsgUpdateClassMetadata) GetAdmin() string { @@ -26325,7 +31564,7 @@ type MsgUpdateClassMetadataResponse struct { func (x *MsgUpdateClassMetadataResponse) Reset() { *x = MsgUpdateClassMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26339,7 +31578,7 @@ func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} } // MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin request type. @@ -26361,7 +31600,7 @@ type MsgUpdateProjectAdmin struct { func (x *MsgUpdateProjectAdmin) Reset() { *x = MsgUpdateProjectAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26375,7 +31614,7 @@ func (*MsgUpdateProjectAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} } func (x *MsgUpdateProjectAdmin) GetAdmin() string { @@ -26409,7 +31648,7 @@ type MsgUpdateProjectAdminResponse struct { func (x *MsgUpdateProjectAdminResponse) Reset() { *x = MsgUpdateProjectAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26423,7 +31662,7 @@ func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} } // MsgUpdateProjectMetadata is the Msg/UpdateProjectMetadata request type. @@ -26445,7 +31684,7 @@ type MsgUpdateProjectMetadata struct { func (x *MsgUpdateProjectMetadata) Reset() { *x = MsgUpdateProjectMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26459,7 +31698,7 @@ func (*MsgUpdateProjectMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} } func (x *MsgUpdateProjectMetadata) GetAdmin() string { @@ -26494,7 +31733,7 @@ type MsgUpdateProjectMetadataResponse struct { func (x *MsgUpdateProjectMetadataResponse) Reset() { *x = MsgUpdateProjectMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26508,7 +31747,7 @@ func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} } // MsgBridge is the Msg/Bridge request type. @@ -26530,7 +31769,7 @@ type MsgBridge struct { func (x *MsgBridge) Reset() { *x = MsgBridge{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26544,7 +31783,7 @@ func (*MsgBridge) ProtoMessage() {} // Deprecated: Use MsgBridge.ProtoReflect.Descriptor instead. func (*MsgBridge) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} } func (x *MsgBridge) GetOwner() string { @@ -26596,7 +31835,7 @@ type MsgUpdateBatchMetadata struct { func (x *MsgUpdateBatchMetadata) Reset() { *x = MsgUpdateBatchMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26610,7 +31849,7 @@ func (*MsgUpdateBatchMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} } func (x *MsgUpdateBatchMetadata) GetIssuer() string { @@ -26647,7 +31886,7 @@ type MsgUpdateBatchMetadataResponse struct { func (x *MsgUpdateBatchMetadataResponse) Reset() { *x = MsgUpdateBatchMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26661,7 +31900,7 @@ func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} } // MsgBridgeResponse is the Msg/Bridge response type. @@ -26674,7 +31913,7 @@ type MsgBridgeResponse struct { func (x *MsgBridgeResponse) Reset() { *x = MsgBridgeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26688,7 +31927,7 @@ func (*MsgBridgeResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} } // MsgBridgeReceive is the Msg/BridgeReceive request type. @@ -26714,7 +31953,7 @@ type MsgBridgeReceive struct { func (x *MsgBridgeReceive) Reset() { *x = MsgBridgeReceive{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26728,7 +31967,7 @@ func (*MsgBridgeReceive) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} } func (x *MsgBridgeReceive) GetIssuer() string { @@ -26783,7 +32022,7 @@ type MsgBridgeReceiveResponse struct { func (x *MsgBridgeReceiveResponse) Reset() { *x = MsgBridgeReceiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26797,7 +32036,7 @@ func (*MsgBridgeReceiveResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeReceiveResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} } func (x *MsgBridgeReceiveResponse) GetBatchDenom() string { @@ -26831,7 +32070,7 @@ type MsgAddClassCreator struct { func (x *MsgAddClassCreator) Reset() { *x = MsgAddClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26845,7 +32084,7 @@ func (*MsgAddClassCreator) ProtoMessage() {} // Deprecated: Use MsgAddClassCreator.ProtoReflect.Descriptor instead. func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} } func (x *MsgAddClassCreator) GetAuthority() string { @@ -26874,7 +32113,7 @@ type MsgAddClassCreatorResponse struct { func (x *MsgAddClassCreatorResponse) Reset() { *x = MsgAddClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26888,7 +32127,7 @@ func (*MsgAddClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgAddClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} } // MsgSetClassCreatorAllowlist is the Msg/SetClassCreatorAllowlist request @@ -26909,7 +32148,7 @@ type MsgSetClassCreatorAllowlist struct { func (x *MsgSetClassCreatorAllowlist) Reset() { *x = MsgSetClassCreatorAllowlist{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26923,7 +32162,7 @@ func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlist.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} } func (x *MsgSetClassCreatorAllowlist) GetAuthority() string { @@ -26953,7 +32192,7 @@ type MsgSetClassCreatorAllowlistResponse struct { func (x *MsgSetClassCreatorAllowlistResponse) Reset() { *x = MsgSetClassCreatorAllowlistResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26967,7 +32206,7 @@ func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlistResponse.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} } // MsgRemoveClassCreator is the Msg/RemoveClassCreator request type. @@ -26987,7 +32226,7 @@ type MsgRemoveClassCreator struct { func (x *MsgRemoveClassCreator) Reset() { *x = MsgRemoveClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27001,7 +32240,7 @@ func (*MsgRemoveClassCreator) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreator.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} } func (x *MsgRemoveClassCreator) GetAuthority() string { @@ -27030,7 +32269,7 @@ type MsgRemoveClassCreatorResponse struct { func (x *MsgRemoveClassCreatorResponse) Reset() { *x = MsgRemoveClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27044,7 +32283,7 @@ func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} } // MsgUpdateClassFee is the Msg/UpdateClassFee request type. @@ -27065,7 +32304,7 @@ type MsgUpdateClassFee struct { func (x *MsgUpdateClassFee) Reset() { *x = MsgUpdateClassFee{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27079,7 +32318,7 @@ func (*MsgUpdateClassFee) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFee.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} } func (x *MsgUpdateClassFee) GetAuthority() string { @@ -27108,7 +32347,7 @@ type MsgUpdateClassFeeResponse struct { func (x *MsgUpdateClassFeeResponse) Reset() { *x = MsgUpdateClassFeeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27122,7 +32361,7 @@ func (*MsgUpdateClassFeeResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFeeResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} } // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. @@ -27143,7 +32382,7 @@ type MsgAddAllowedBridgeChain struct { func (x *MsgAddAllowedBridgeChain) Reset() { *x = MsgAddAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27157,7 +32396,7 @@ func (*MsgAddAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} } func (x *MsgAddAllowedBridgeChain) GetAuthority() string { @@ -27187,7 +32426,7 @@ type MsgAddAllowedBridgeChainResponse struct { func (x *MsgAddAllowedBridgeChainResponse) Reset() { *x = MsgAddAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27201,7 +32440,7 @@ func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} } // MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. @@ -27222,7 +32461,7 @@ type MsgRemoveAllowedBridgeChain struct { func (x *MsgRemoveAllowedBridgeChain) Reset() { *x = MsgRemoveAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27236,7 +32475,7 @@ func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{54} } func (x *MsgRemoveAllowedBridgeChain) GetAuthority() string { @@ -27266,7 +32505,7 @@ type MsgRemoveAllowedBridgeChainResponse struct { func (x *MsgRemoveAllowedBridgeChainResponse) Reset() { *x = MsgRemoveAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27280,7 +32519,7 @@ func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{55} } // MsgBurnRegen is the Msg/BurnRegen request type. @@ -27303,7 +32542,7 @@ type MsgBurnRegen struct { func (x *MsgBurnRegen) Reset() { *x = MsgBurnRegen{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27317,7 +32556,7 @@ func (*MsgBurnRegen) ProtoMessage() {} // Deprecated: Use MsgBurnRegen.ProtoReflect.Descriptor instead. func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{56} } func (x *MsgBurnRegen) GetBurner() string { @@ -27353,7 +32592,7 @@ type MsgBurnRegenResponse struct { func (x *MsgBurnRegenResponse) Reset() { *x = MsgBurnRegenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27367,7 +32606,7 @@ func (*MsgBurnRegenResponse) ProtoMessage() {} // Deprecated: Use MsgBurnRegenResponse.ProtoReflect.Descriptor instead. func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{57} } // SendCredits specifies the amount of tradable and retired credits of a @@ -27407,7 +32646,7 @@ type MsgSend_SendCredits struct { func (x *MsgSend_SendCredits) Reset() { *x = MsgSend_SendCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27421,7 +32660,7 @@ func (*MsgSend_SendCredits) ProtoMessage() {} // Deprecated: Use MsgSend_SendCredits.ProtoReflect.Descriptor instead. func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22, 0} } func (x *MsgSend_SendCredits) GetBatchDenom() string { @@ -27484,7 +32723,7 @@ type MsgBridgeReceive_Batch struct { func (x *MsgBridgeReceive_Batch) Reset() { *x = MsgBridgeReceive_Batch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27498,7 +32737,7 @@ func (*MsgBridgeReceive_Batch) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Batch.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42, 0} } func (x *MsgBridgeReceive_Batch) GetRecipient() string { @@ -27555,7 +32794,7 @@ type MsgBridgeReceive_Project struct { func (x *MsgBridgeReceive_Project) Reset() { *x = MsgBridgeReceive_Project{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27569,7 +32808,7 @@ func (*MsgBridgeReceive_Project) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Project.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32, 1} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42, 1} } func (x *MsgBridgeReceive_Project) GetReferenceId() string { @@ -27648,452 +32887,563 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x39, 0x0a, 0x18, 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, 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, 0x22, 0xfc, 0x02, 0x0a, - 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, - 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, - 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, - 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, - 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, - 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, - 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, 0xa9, 0x01, 0x0a, + 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x45, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, + 0xc2, 0x01, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 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, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x4a, 0x0a, 0x21, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x97, 0x01, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x23, 0x0a, 0x21, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x7d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, + 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x25, + 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, + 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, + 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, + 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, + 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, + 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, - 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, - 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, - 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, - 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, - 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 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, 0x1f, 0x0a, - 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 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, 0x21, 0x0a, - 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, - 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, - 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, - 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, - 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, - 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, - 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, - 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, - 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, - 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, - 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, - 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x6d, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, + 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, + 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, - 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, - 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, - 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, - 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, - 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, - 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, - 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdf, 0x13, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, - 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, - 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, - 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, + 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, + 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, + 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, + 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, - 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, + 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, + 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, + 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, + 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, 0x22, 0x78, 0x0a, + 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, + 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, + 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, + 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, + 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, + 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, + 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, + 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, + 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, + 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, + 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, + 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, + 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, + 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, + 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0xf7, 0x18, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, + 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, + 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, - 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x57, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, + 0x01, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, - 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, + 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, + 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, + 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, + 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, - 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, - 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, + 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, 0x72, + 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, + 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, - 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, - 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, + 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, - 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, - 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, + 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, + 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, + 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, + 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -28108,138 +33458,160 @@ func file_regen_ecocredit_v1_tx_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_tx_proto_rawDescData } -var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 51) +var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ - (*MsgAddCreditType)(nil), // 0: regen.ecocredit.v1.MsgAddCreditType - (*MsgAddCreditTypeResponse)(nil), // 1: regen.ecocredit.v1.MsgAddCreditTypeResponse - (*MsgCreateClass)(nil), // 2: regen.ecocredit.v1.MsgCreateClass - (*MsgCreateClassResponse)(nil), // 3: regen.ecocredit.v1.MsgCreateClassResponse - (*MsgCreateProject)(nil), // 4: regen.ecocredit.v1.MsgCreateProject - (*MsgCreateProjectResponse)(nil), // 5: regen.ecocredit.v1.MsgCreateProjectResponse - (*MsgCreateBatch)(nil), // 6: regen.ecocredit.v1.MsgCreateBatch - (*MsgCreateBatchResponse)(nil), // 7: regen.ecocredit.v1.MsgCreateBatchResponse - (*MsgMintBatchCredits)(nil), // 8: regen.ecocredit.v1.MsgMintBatchCredits - (*MsgMintBatchCreditsResponse)(nil), // 9: regen.ecocredit.v1.MsgMintBatchCreditsResponse - (*MsgSealBatch)(nil), // 10: regen.ecocredit.v1.MsgSealBatch - (*MsgSealBatchResponse)(nil), // 11: regen.ecocredit.v1.MsgSealBatchResponse - (*MsgSend)(nil), // 12: regen.ecocredit.v1.MsgSend - (*MsgSendResponse)(nil), // 13: regen.ecocredit.v1.MsgSendResponse - (*MsgRetire)(nil), // 14: regen.ecocredit.v1.MsgRetire - (*MsgRetireResponse)(nil), // 15: regen.ecocredit.v1.MsgRetireResponse - (*MsgCancel)(nil), // 16: regen.ecocredit.v1.MsgCancel - (*MsgCancelResponse)(nil), // 17: regen.ecocredit.v1.MsgCancelResponse - (*MsgUpdateClassAdmin)(nil), // 18: regen.ecocredit.v1.MsgUpdateClassAdmin - (*MsgUpdateClassAdminResponse)(nil), // 19: regen.ecocredit.v1.MsgUpdateClassAdminResponse - (*MsgUpdateClassIssuers)(nil), // 20: regen.ecocredit.v1.MsgUpdateClassIssuers - (*MsgUpdateClassIssuersResponse)(nil), // 21: regen.ecocredit.v1.MsgUpdateClassIssuersResponse - (*MsgUpdateClassMetadata)(nil), // 22: regen.ecocredit.v1.MsgUpdateClassMetadata - (*MsgUpdateClassMetadataResponse)(nil), // 23: regen.ecocredit.v1.MsgUpdateClassMetadataResponse - (*MsgUpdateProjectAdmin)(nil), // 24: regen.ecocredit.v1.MsgUpdateProjectAdmin - (*MsgUpdateProjectAdminResponse)(nil), // 25: regen.ecocredit.v1.MsgUpdateProjectAdminResponse - (*MsgUpdateProjectMetadata)(nil), // 26: regen.ecocredit.v1.MsgUpdateProjectMetadata - (*MsgUpdateProjectMetadataResponse)(nil), // 27: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - (*MsgBridge)(nil), // 28: regen.ecocredit.v1.MsgBridge - (*MsgUpdateBatchMetadata)(nil), // 29: regen.ecocredit.v1.MsgUpdateBatchMetadata - (*MsgUpdateBatchMetadataResponse)(nil), // 30: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - (*MsgBridgeResponse)(nil), // 31: regen.ecocredit.v1.MsgBridgeResponse - (*MsgBridgeReceive)(nil), // 32: regen.ecocredit.v1.MsgBridgeReceive - (*MsgBridgeReceiveResponse)(nil), // 33: regen.ecocredit.v1.MsgBridgeReceiveResponse - (*MsgAddClassCreator)(nil), // 34: regen.ecocredit.v1.MsgAddClassCreator - (*MsgAddClassCreatorResponse)(nil), // 35: regen.ecocredit.v1.MsgAddClassCreatorResponse - (*MsgSetClassCreatorAllowlist)(nil), // 36: regen.ecocredit.v1.MsgSetClassCreatorAllowlist - (*MsgSetClassCreatorAllowlistResponse)(nil), // 37: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - (*MsgRemoveClassCreator)(nil), // 38: regen.ecocredit.v1.MsgRemoveClassCreator - (*MsgRemoveClassCreatorResponse)(nil), // 39: regen.ecocredit.v1.MsgRemoveClassCreatorResponse - (*MsgUpdateClassFee)(nil), // 40: regen.ecocredit.v1.MsgUpdateClassFee - (*MsgUpdateClassFeeResponse)(nil), // 41: regen.ecocredit.v1.MsgUpdateClassFeeResponse - (*MsgAddAllowedBridgeChain)(nil), // 42: regen.ecocredit.v1.MsgAddAllowedBridgeChain - (*MsgAddAllowedBridgeChainResponse)(nil), // 43: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - (*MsgRemoveAllowedBridgeChain)(nil), // 44: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - (*MsgRemoveAllowedBridgeChainResponse)(nil), // 45: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - (*MsgBurnRegen)(nil), // 46: regen.ecocredit.v1.MsgBurnRegen - (*MsgBurnRegenResponse)(nil), // 47: regen.ecocredit.v1.MsgBurnRegenResponse - (*MsgSend_SendCredits)(nil), // 48: regen.ecocredit.v1.MsgSend.SendCredits - (*MsgBridgeReceive_Batch)(nil), // 49: regen.ecocredit.v1.MsgBridgeReceive.Batch - (*MsgBridgeReceive_Project)(nil), // 50: regen.ecocredit.v1.MsgBridgeReceive.Project - (*CreditType)(nil), // 51: regen.ecocredit.v1.CreditType - (*v1beta1.Coin)(nil), // 52: cosmos.base.v1beta1.Coin - (*BatchIssuance)(nil), // 53: regen.ecocredit.v1.BatchIssuance - (*timestamppb.Timestamp)(nil), // 54: google.protobuf.Timestamp - (*OriginTx)(nil), // 55: regen.ecocredit.v1.OriginTx - (*Credits)(nil), // 56: regen.ecocredit.v1.Credits + (*MsgAddCreditType)(nil), // 0: regen.ecocredit.v1.MsgAddCreditType + (*MsgAddCreditTypeResponse)(nil), // 1: regen.ecocredit.v1.MsgAddCreditTypeResponse + (*MsgCreateClass)(nil), // 2: regen.ecocredit.v1.MsgCreateClass + (*MsgCreateClassResponse)(nil), // 3: regen.ecocredit.v1.MsgCreateClassResponse + (*MsgCreateProject)(nil), // 4: regen.ecocredit.v1.MsgCreateProject + (*MsgCreateProjectResponse)(nil), // 5: regen.ecocredit.v1.MsgCreateProjectResponse + (*MsgCreateUnregisteredProject)(nil), // 6: regen.ecocredit.v1.MsgCreateUnregisteredProject + (*MsgCreateUnregisteredProjectResponse)(nil), // 7: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse + (*MsgSubmitClassApplication)(nil), // 8: regen.ecocredit.v1.MsgSubmitClassApplication + (*MsgSubmitClassApplicationResponse)(nil), // 9: regen.ecocredit.v1.MsgSubmitClassApplicationResponse + (*MsgUpdateClassApplication)(nil), // 10: regen.ecocredit.v1.MsgUpdateClassApplication + (*MsgUpdateClassApplicationResponse)(nil), // 11: regen.ecocredit.v1.MsgUpdateClassApplicationResponse + (*MsgWithdrawClassApplication)(nil), // 12: regen.ecocredit.v1.MsgWithdrawClassApplication + (*MsgWithdrawClassApplicationResponse)(nil), // 13: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse + (*MsgEvaluateClassApplication)(nil), // 14: regen.ecocredit.v1.MsgEvaluateClassApplication + (*MsgEvaluateClassApplicationResponse)(nil), // 15: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse + (*MsgCreateBatch)(nil), // 16: regen.ecocredit.v1.MsgCreateBatch + (*MsgCreateBatchResponse)(nil), // 17: regen.ecocredit.v1.MsgCreateBatchResponse + (*MsgMintBatchCredits)(nil), // 18: regen.ecocredit.v1.MsgMintBatchCredits + (*MsgMintBatchCreditsResponse)(nil), // 19: regen.ecocredit.v1.MsgMintBatchCreditsResponse + (*MsgSealBatch)(nil), // 20: regen.ecocredit.v1.MsgSealBatch + (*MsgSealBatchResponse)(nil), // 21: regen.ecocredit.v1.MsgSealBatchResponse + (*MsgSend)(nil), // 22: regen.ecocredit.v1.MsgSend + (*MsgSendResponse)(nil), // 23: regen.ecocredit.v1.MsgSendResponse + (*MsgRetire)(nil), // 24: regen.ecocredit.v1.MsgRetire + (*MsgRetireResponse)(nil), // 25: regen.ecocredit.v1.MsgRetireResponse + (*MsgCancel)(nil), // 26: regen.ecocredit.v1.MsgCancel + (*MsgCancelResponse)(nil), // 27: regen.ecocredit.v1.MsgCancelResponse + (*MsgUpdateClassAdmin)(nil), // 28: regen.ecocredit.v1.MsgUpdateClassAdmin + (*MsgUpdateClassAdminResponse)(nil), // 29: regen.ecocredit.v1.MsgUpdateClassAdminResponse + (*MsgUpdateClassIssuers)(nil), // 30: regen.ecocredit.v1.MsgUpdateClassIssuers + (*MsgUpdateClassIssuersResponse)(nil), // 31: regen.ecocredit.v1.MsgUpdateClassIssuersResponse + (*MsgUpdateClassMetadata)(nil), // 32: regen.ecocredit.v1.MsgUpdateClassMetadata + (*MsgUpdateClassMetadataResponse)(nil), // 33: regen.ecocredit.v1.MsgUpdateClassMetadataResponse + (*MsgUpdateProjectAdmin)(nil), // 34: regen.ecocredit.v1.MsgUpdateProjectAdmin + (*MsgUpdateProjectAdminResponse)(nil), // 35: regen.ecocredit.v1.MsgUpdateProjectAdminResponse + (*MsgUpdateProjectMetadata)(nil), // 36: regen.ecocredit.v1.MsgUpdateProjectMetadata + (*MsgUpdateProjectMetadataResponse)(nil), // 37: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + (*MsgBridge)(nil), // 38: regen.ecocredit.v1.MsgBridge + (*MsgUpdateBatchMetadata)(nil), // 39: regen.ecocredit.v1.MsgUpdateBatchMetadata + (*MsgUpdateBatchMetadataResponse)(nil), // 40: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + (*MsgBridgeResponse)(nil), // 41: regen.ecocredit.v1.MsgBridgeResponse + (*MsgBridgeReceive)(nil), // 42: regen.ecocredit.v1.MsgBridgeReceive + (*MsgBridgeReceiveResponse)(nil), // 43: regen.ecocredit.v1.MsgBridgeReceiveResponse + (*MsgAddClassCreator)(nil), // 44: regen.ecocredit.v1.MsgAddClassCreator + (*MsgAddClassCreatorResponse)(nil), // 45: regen.ecocredit.v1.MsgAddClassCreatorResponse + (*MsgSetClassCreatorAllowlist)(nil), // 46: regen.ecocredit.v1.MsgSetClassCreatorAllowlist + (*MsgSetClassCreatorAllowlistResponse)(nil), // 47: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + (*MsgRemoveClassCreator)(nil), // 48: regen.ecocredit.v1.MsgRemoveClassCreator + (*MsgRemoveClassCreatorResponse)(nil), // 49: regen.ecocredit.v1.MsgRemoveClassCreatorResponse + (*MsgUpdateClassFee)(nil), // 50: regen.ecocredit.v1.MsgUpdateClassFee + (*MsgUpdateClassFeeResponse)(nil), // 51: regen.ecocredit.v1.MsgUpdateClassFeeResponse + (*MsgAddAllowedBridgeChain)(nil), // 52: regen.ecocredit.v1.MsgAddAllowedBridgeChain + (*MsgAddAllowedBridgeChainResponse)(nil), // 53: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + (*MsgRemoveAllowedBridgeChain)(nil), // 54: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + (*MsgRemoveAllowedBridgeChainResponse)(nil), // 55: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + (*MsgBurnRegen)(nil), // 56: regen.ecocredit.v1.MsgBurnRegen + (*MsgBurnRegenResponse)(nil), // 57: regen.ecocredit.v1.MsgBurnRegenResponse + (*MsgSend_SendCredits)(nil), // 58: regen.ecocredit.v1.MsgSend.SendCredits + (*MsgBridgeReceive_Batch)(nil), // 59: regen.ecocredit.v1.MsgBridgeReceive.Batch + (*MsgBridgeReceive_Project)(nil), // 60: regen.ecocredit.v1.MsgBridgeReceive.Project + (*CreditType)(nil), // 61: regen.ecocredit.v1.CreditType + (*v1beta1.Coin)(nil), // 62: cosmos.base.v1beta1.Coin + (ApplicationStatus)(0), // 63: regen.ecocredit.v1.ApplicationStatus + (*BatchIssuance)(nil), // 64: regen.ecocredit.v1.BatchIssuance + (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp + (*OriginTx)(nil), // 66: regen.ecocredit.v1.OriginTx + (*Credits)(nil), // 67: regen.ecocredit.v1.Credits } var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ - 51, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType - 52, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin - 53, // 2: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 54, // 3: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp - 54, // 4: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp - 55, // 5: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 53, // 6: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 55, // 7: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 48, // 8: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits - 56, // 9: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits - 56, // 10: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits - 56, // 11: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits - 50, // 12: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project - 49, // 13: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch - 55, // 14: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 52, // 15: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 54, // 16: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp - 54, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp - 2, // 18: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass - 4, // 19: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject - 6, // 20: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch - 8, // 21: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits - 10, // 22: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch - 12, // 23: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend - 14, // 24: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire - 16, // 25: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel - 18, // 26: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin - 20, // 27: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers - 22, // 28: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata - 24, // 29: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin - 26, // 30: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata - 29, // 31: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata - 28, // 32: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge - 32, // 33: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive - 0, // 34: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType - 36, // 35: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist - 34, // 36: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator - 38, // 37: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator - 40, // 38: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee - 42, // 39: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain - 44, // 40: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - 46, // 41: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen - 3, // 42: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse - 5, // 43: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse - 7, // 44: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse - 9, // 45: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse - 11, // 46: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse - 13, // 47: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse - 15, // 48: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse - 17, // 49: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse - 19, // 50: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse - 21, // 51: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse - 23, // 52: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse - 25, // 53: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse - 27, // 54: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - 30, // 55: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - 31, // 56: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse - 33, // 57: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse - 1, // 58: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse - 37, // 59: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - 35, // 60: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse - 39, // 61: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse - 41, // 62: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse - 43, // 63: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - 45, // 64: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - 47, // 65: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse - 42, // [42:66] is the sub-list for method output_type - 18, // [18:42] 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 + 61, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType + 62, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin + 63, // 2: regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation:type_name -> regen.ecocredit.v1.ApplicationStatus + 64, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 65, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp + 65, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp + 66, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 64, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 66, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 58, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits + 67, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits + 67, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits + 67, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits + 60, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project + 59, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch + 66, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 62, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 65, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp + 65, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp + 2, // 19: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass + 4, // 20: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject + 6, // 21: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject + 8, // 22: regen.ecocredit.v1.Msg.SubmitClassApplication:input_type -> regen.ecocredit.v1.MsgSubmitClassApplication + 10, // 23: regen.ecocredit.v1.Msg.UpdateClassApplication:input_type -> regen.ecocredit.v1.MsgUpdateClassApplication + 12, // 24: regen.ecocredit.v1.Msg.WithdrawClassApplication:input_type -> regen.ecocredit.v1.MsgWithdrawClassApplication + 14, // 25: regen.ecocredit.v1.Msg.EvaluateClassApplication:input_type -> regen.ecocredit.v1.MsgEvaluateClassApplication + 16, // 26: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch + 18, // 27: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits + 20, // 28: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch + 22, // 29: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend + 24, // 30: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire + 26, // 31: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel + 28, // 32: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin + 30, // 33: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers + 32, // 34: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata + 34, // 35: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin + 36, // 36: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata + 39, // 37: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata + 38, // 38: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge + 42, // 39: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive + 0, // 40: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType + 46, // 41: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist + 44, // 42: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator + 48, // 43: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator + 50, // 44: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee + 52, // 45: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain + 54, // 46: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + 56, // 47: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen + 3, // 48: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse + 5, // 49: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse + 7, // 50: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse + 9, // 51: regen.ecocredit.v1.Msg.SubmitClassApplication:output_type -> regen.ecocredit.v1.MsgSubmitClassApplicationResponse + 11, // 52: regen.ecocredit.v1.Msg.UpdateClassApplication:output_type -> regen.ecocredit.v1.MsgUpdateClassApplicationResponse + 13, // 53: regen.ecocredit.v1.Msg.WithdrawClassApplication:output_type -> regen.ecocredit.v1.MsgWithdrawClassApplicationResponse + 15, // 54: regen.ecocredit.v1.Msg.EvaluateClassApplication:output_type -> regen.ecocredit.v1.MsgEvaluateClassApplicationResponse + 17, // 55: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse + 19, // 56: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse + 21, // 57: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse + 23, // 58: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse + 25, // 59: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse + 27, // 60: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse + 29, // 61: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse + 31, // 62: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse + 33, // 63: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse + 35, // 64: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse + 37, // 65: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + 40, // 66: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + 41, // 67: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse + 43, // 68: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse + 1, // 69: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse + 47, // 70: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + 45, // 71: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse + 49, // 72: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse + 51, // 73: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse + 53, // 74: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + 55, // 75: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + 57, // 76: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse + 48, // [48:77] is the sub-list for method output_type + 19, // [19:48] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1_tx_proto_init() } @@ -28323,7 +33695,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCreateBatch); i { + switch v := v.(*MsgCreateUnregisteredProject); i { case 0: return &v.state case 1: @@ -28335,7 +33707,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCreateBatchResponse); i { + switch v := v.(*MsgCreateUnregisteredProjectResponse); i { case 0: return &v.state case 1: @@ -28347,7 +33719,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgMintBatchCredits); i { + switch v := v.(*MsgSubmitClassApplication); i { case 0: return &v.state case 1: @@ -28359,7 +33731,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgMintBatchCreditsResponse); i { + switch v := v.(*MsgSubmitClassApplicationResponse); i { case 0: return &v.state case 1: @@ -28371,7 +33743,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSealBatch); i { + switch v := v.(*MsgUpdateClassApplication); i { case 0: return &v.state case 1: @@ -28383,7 +33755,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSealBatchResponse); i { + switch v := v.(*MsgUpdateClassApplicationResponse); i { case 0: return &v.state case 1: @@ -28395,7 +33767,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSend); i { + switch v := v.(*MsgWithdrawClassApplication); i { case 0: return &v.state case 1: @@ -28407,7 +33779,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSendResponse); i { + switch v := v.(*MsgWithdrawClassApplicationResponse); i { case 0: return &v.state case 1: @@ -28419,7 +33791,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRetire); i { + switch v := v.(*MsgEvaluateClassApplication); i { case 0: return &v.state case 1: @@ -28431,7 +33803,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRetireResponse); i { + switch v := v.(*MsgEvaluateClassApplicationResponse); i { case 0: return &v.state case 1: @@ -28443,7 +33815,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCancel); i { + switch v := v.(*MsgCreateBatch); i { case 0: return &v.state case 1: @@ -28455,7 +33827,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgCancelResponse); i { + switch v := v.(*MsgCreateBatchResponse); i { case 0: return &v.state case 1: @@ -28467,7 +33839,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassAdmin); i { + switch v := v.(*MsgMintBatchCredits); i { case 0: return &v.state case 1: @@ -28479,7 +33851,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassAdminResponse); i { + switch v := v.(*MsgMintBatchCreditsResponse); i { case 0: return &v.state case 1: @@ -28491,7 +33863,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassIssuers); i { + switch v := v.(*MsgSealBatch); i { case 0: return &v.state case 1: @@ -28503,7 +33875,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassIssuersResponse); i { + switch v := v.(*MsgSealBatchResponse); i { case 0: return &v.state case 1: @@ -28515,7 +33887,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassMetadata); i { + switch v := v.(*MsgSend); i { case 0: return &v.state case 1: @@ -28527,7 +33899,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassMetadataResponse); i { + switch v := v.(*MsgSendResponse); i { case 0: return &v.state case 1: @@ -28539,7 +33911,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectAdmin); i { + switch v := v.(*MsgRetire); i { case 0: return &v.state case 1: @@ -28551,7 +33923,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectAdminResponse); i { + switch v := v.(*MsgRetireResponse); i { case 0: return &v.state case 1: @@ -28563,7 +33935,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectMetadata); i { + switch v := v.(*MsgCancel); i { case 0: return &v.state case 1: @@ -28575,7 +33947,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectMetadataResponse); i { + switch v := v.(*MsgCancelResponse); i { case 0: return &v.state case 1: @@ -28587,7 +33959,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridge); i { + switch v := v.(*MsgUpdateClassAdmin); i { case 0: return &v.state case 1: @@ -28599,7 +33971,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateBatchMetadata); i { + switch v := v.(*MsgUpdateClassAdminResponse); i { case 0: return &v.state case 1: @@ -28611,7 +33983,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateBatchMetadataResponse); i { + switch v := v.(*MsgUpdateClassIssuers); i { case 0: return &v.state case 1: @@ -28623,7 +33995,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridgeResponse); i { + switch v := v.(*MsgUpdateClassIssuersResponse); i { case 0: return &v.state case 1: @@ -28635,7 +34007,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridgeReceive); i { + switch v := v.(*MsgUpdateClassMetadata); i { case 0: return &v.state case 1: @@ -28647,7 +34019,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridgeReceiveResponse); i { + switch v := v.(*MsgUpdateClassMetadataResponse); i { case 0: return &v.state case 1: @@ -28659,7 +34031,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddClassCreator); i { + switch v := v.(*MsgUpdateProjectAdmin); i { case 0: return &v.state case 1: @@ -28671,7 +34043,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddClassCreatorResponse); i { + switch v := v.(*MsgUpdateProjectAdminResponse); i { case 0: return &v.state case 1: @@ -28683,7 +34055,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSetClassCreatorAllowlist); i { + switch v := v.(*MsgUpdateProjectMetadata); i { case 0: return &v.state case 1: @@ -28695,7 +34067,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSetClassCreatorAllowlistResponse); i { + switch v := v.(*MsgUpdateProjectMetadataResponse); i { case 0: return &v.state case 1: @@ -28707,7 +34079,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveClassCreator); i { + switch v := v.(*MsgBridge); i { case 0: return &v.state case 1: @@ -28719,7 +34091,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveClassCreatorResponse); i { + switch v := v.(*MsgUpdateBatchMetadata); i { case 0: return &v.state case 1: @@ -28731,7 +34103,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassFee); i { + switch v := v.(*MsgUpdateBatchMetadataResponse); i { case 0: return &v.state case 1: @@ -28743,7 +34115,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassFeeResponse); i { + switch v := v.(*MsgBridgeResponse); i { case 0: return &v.state case 1: @@ -28755,7 +34127,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddAllowedBridgeChain); i { + switch v := v.(*MsgBridgeReceive); i { case 0: return &v.state case 1: @@ -28767,7 +34139,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddAllowedBridgeChainResponse); i { + switch v := v.(*MsgBridgeReceiveResponse); i { case 0: return &v.state case 1: @@ -28779,7 +34151,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveAllowedBridgeChain); i { + switch v := v.(*MsgAddClassCreator); i { case 0: return &v.state case 1: @@ -28791,7 +34163,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { + switch v := v.(*MsgAddClassCreatorResponse); i { case 0: return &v.state case 1: @@ -28803,7 +34175,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBurnRegen); i { + switch v := v.(*MsgSetClassCreatorAllowlist); i { case 0: return &v.state case 1: @@ -28815,7 +34187,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBurnRegenResponse); i { + switch v := v.(*MsgSetClassCreatorAllowlistResponse); i { case 0: return &v.state case 1: @@ -28827,7 +34199,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSend_SendCredits); i { + switch v := v.(*MsgRemoveClassCreator); i { case 0: return &v.state case 1: @@ -28839,7 +34211,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridgeReceive_Batch); i { + switch v := v.(*MsgRemoveClassCreatorResponse); i { case 0: return &v.state case 1: @@ -28851,6 +34223,126 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateClassFee); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateClassFeeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgAddAllowedBridgeChain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgAddAllowedBridgeChainResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRemoveAllowedBridgeChain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBurnRegen); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBurnRegenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSend_SendCredits); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBridgeReceive_Batch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Project); i { case 0: return &v.state @@ -28869,7 +34361,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 51, + NumMessages: 61, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index 3aed770e7c..2382e6c0d6 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -19,30 +19,35 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" - Msg_CreateProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateProject" - Msg_CreateBatch_FullMethodName = "/regen.ecocredit.v1.Msg/CreateBatch" - Msg_MintBatchCredits_FullMethodName = "/regen.ecocredit.v1.Msg/MintBatchCredits" - Msg_SealBatch_FullMethodName = "/regen.ecocredit.v1.Msg/SealBatch" - Msg_Send_FullMethodName = "/regen.ecocredit.v1.Msg/Send" - Msg_Retire_FullMethodName = "/regen.ecocredit.v1.Msg/Retire" - Msg_Cancel_FullMethodName = "/regen.ecocredit.v1.Msg/Cancel" - Msg_UpdateClassAdmin_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassAdmin" - Msg_UpdateClassIssuers_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassIssuers" - Msg_UpdateClassMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassMetadata" - Msg_UpdateProjectAdmin_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectAdmin" - Msg_UpdateProjectMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectMetadata" - Msg_UpdateBatchMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateBatchMetadata" - Msg_Bridge_FullMethodName = "/regen.ecocredit.v1.Msg/Bridge" - Msg_BridgeReceive_FullMethodName = "/regen.ecocredit.v1.Msg/BridgeReceive" - Msg_AddCreditType_FullMethodName = "/regen.ecocredit.v1.Msg/AddCreditType" - Msg_SetClassCreatorAllowlist_FullMethodName = "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist" - Msg_AddClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/AddClassCreator" - Msg_RemoveClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveClassCreator" - Msg_UpdateClassFee_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassFee" - Msg_AddAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain" - Msg_RemoveAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain" - Msg_BurnRegen_FullMethodName = "/regen.ecocredit.v1.Msg/BurnRegen" + Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" + Msg_CreateProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateProject" + Msg_CreateUnregisteredProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateUnregisteredProject" + Msg_SubmitClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/SubmitClassApplication" + Msg_UpdateClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassApplication" + Msg_WithdrawClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawClassApplication" + Msg_EvaluateClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateClassApplication" + Msg_CreateBatch_FullMethodName = "/regen.ecocredit.v1.Msg/CreateBatch" + Msg_MintBatchCredits_FullMethodName = "/regen.ecocredit.v1.Msg/MintBatchCredits" + Msg_SealBatch_FullMethodName = "/regen.ecocredit.v1.Msg/SealBatch" + Msg_Send_FullMethodName = "/regen.ecocredit.v1.Msg/Send" + Msg_Retire_FullMethodName = "/regen.ecocredit.v1.Msg/Retire" + Msg_Cancel_FullMethodName = "/regen.ecocredit.v1.Msg/Cancel" + Msg_UpdateClassAdmin_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassAdmin" + Msg_UpdateClassIssuers_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassIssuers" + Msg_UpdateClassMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassMetadata" + Msg_UpdateProjectAdmin_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectAdmin" + Msg_UpdateProjectMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectMetadata" + Msg_UpdateBatchMetadata_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateBatchMetadata" + Msg_Bridge_FullMethodName = "/regen.ecocredit.v1.Msg/Bridge" + Msg_BridgeReceive_FullMethodName = "/regen.ecocredit.v1.Msg/BridgeReceive" + Msg_AddCreditType_FullMethodName = "/regen.ecocredit.v1.Msg/AddCreditType" + Msg_SetClassCreatorAllowlist_FullMethodName = "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist" + Msg_AddClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/AddClassCreator" + Msg_RemoveClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveClassCreator" + Msg_UpdateClassFee_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassFee" + Msg_AddAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain" + Msg_RemoveAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain" + Msg_BurnRegen_FullMethodName = "/regen.ecocredit.v1.Msg/BurnRegen" ) // MsgClient is the client API for Msg service. @@ -61,6 +66,33 @@ type MsgClient interface { // of the project must be an approved credit class issuer for the given credit // class. The creator becomes the admin of the project upon creation. CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) + // CreateUnregisteredProject creates a new project without registering it + // under a credit class. This method is intended to be used by project proponents + // who are not yet ready to register their project under a credit class, but who + // want to create a project and receive a project ID. + CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) + // SubmitClassApplication submits an application for a project to be added to + // a credit class. The project admin must submit an application to a specific + // issuer of a specific credit class for it to be considered. Currently, + // a project can only apply to one credit class at a time via a single + // issuer. + // + // Since Revision 3 + SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) + // UpdateClassApplication updates the metadata of a submitted application. + // + // Since Revision 3 + UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) + // WithdrawClassApplication withdraws a submitted application. + // + // Since Revision 3 + WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) + // EvaluateClassApplication evaluates a submitted application. Only the issuer + // of the credit class can evaluate an application. The issuer can either + // approve, request changes to, or reject the application. + // + // Since Revision 3 + EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -205,6 +237,51 @@ func (c *msgClient) CreateProject(ctx context.Context, in *MsgCreateProject, opt return out, nil } +func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) { + out := new(MsgCreateUnregisteredProjectResponse) + err := c.cc.Invoke(ctx, Msg_CreateUnregisteredProject_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) { + out := new(MsgSubmitClassApplicationResponse) + err := c.cc.Invoke(ctx, Msg_SubmitClassApplication_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) { + out := new(MsgUpdateClassApplicationResponse) + err := c.cc.Invoke(ctx, Msg_UpdateClassApplication_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) { + out := new(MsgWithdrawClassApplicationResponse) + err := c.cc.Invoke(ctx, Msg_WithdrawClassApplication_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) { + out := new(MsgEvaluateClassApplicationResponse) + err := c.cc.Invoke(ctx, Msg_EvaluateClassApplication_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) { out := new(MsgCreateBatchResponse) err := c.cc.Invoke(ctx, Msg_CreateBatch_FullMethodName, in, out, opts...) @@ -419,6 +496,33 @@ type MsgServer interface { // of the project must be an approved credit class issuer for the given credit // class. The creator becomes the admin of the project upon creation. CreateProject(context.Context, *MsgCreateProject) (*MsgCreateProjectResponse, error) + // CreateUnregisteredProject creates a new project without registering it + // under a credit class. This method is intended to be used by project proponents + // who are not yet ready to register their project under a credit class, but who + // want to create a project and receive a project ID. + CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) + // SubmitClassApplication submits an application for a project to be added to + // a credit class. The project admin must submit an application to a specific + // issuer of a specific credit class for it to be considered. Currently, + // a project can only apply to one credit class at a time via a single + // issuer. + // + // Since Revision 3 + SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) + // UpdateClassApplication updates the metadata of a submitted application. + // + // Since Revision 3 + UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) + // WithdrawClassApplication withdraws a submitted application. + // + // Since Revision 3 + WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) + // EvaluateClassApplication evaluates a submitted application. Only the issuer + // of the credit class can evaluate an application. The issuer can either + // approve, request changes to, or reject the application. + // + // Since Revision 3 + EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -548,6 +652,21 @@ func (UnimplementedMsgServer) CreateClass(context.Context, *MsgCreateClass) (*Ms func (UnimplementedMsgServer) CreateProject(context.Context, *MsgCreateProject) (*MsgCreateProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented") } +func (UnimplementedMsgServer) CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") +} +func (UnimplementedMsgServer) SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubmitClassApplication not implemented") +} +func (UnimplementedMsgServer) UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassApplication not implemented") +} +func (UnimplementedMsgServer) WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawClassApplication not implemented") +} +func (UnimplementedMsgServer) EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateClassApplication not implemented") +} func (UnimplementedMsgServer) CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") } @@ -663,6 +782,96 @@ func _Msg_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateUnregisteredProject) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CreateUnregisteredProject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_CreateUnregisteredProject_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateUnregisteredProject(ctx, req.(*MsgCreateUnregisteredProject)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SubmitClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSubmitClassApplication) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SubmitClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_SubmitClassApplication_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SubmitClassApplication(ctx, req.(*MsgSubmitClassApplication)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_UpdateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassApplication) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateClassApplication_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassApplication(ctx, req.(*MsgUpdateClassApplication)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_WithdrawClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawClassApplication) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).WithdrawClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_WithdrawClassApplication_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).WithdrawClassApplication(ctx, req.(*MsgWithdrawClassApplication)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_EvaluateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateClassApplication) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).EvaluateClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_EvaluateClassApplication_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EvaluateClassApplication(ctx, req.(*MsgEvaluateClassApplication)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_CreateBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgCreateBatch) if err := dec(in); err != nil { @@ -1074,6 +1283,26 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateProject", Handler: _Msg_CreateProject_Handler, }, + { + MethodName: "CreateUnregisteredProject", + Handler: _Msg_CreateUnregisteredProject_Handler, + }, + { + MethodName: "SubmitClassApplication", + Handler: _Msg_SubmitClassApplication_Handler, + }, + { + MethodName: "UpdateClassApplication", + Handler: _Msg_UpdateClassApplication_Handler, + }, + { + MethodName: "WithdrawClassApplication", + Handler: _Msg_WithdrawClassApplication_Handler, + }, + { + MethodName: "EvaluateClassApplication", + Handler: _Msg_EvaluateClassApplication_Handler, + }, { MethodName: "CreateBatch", Handler: _Msg_CreateBatch_Handler, diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 9773c7f6dd..2eb7dcbfa0 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -386,7 +386,7 @@ message AllowedBridgeChain { message ClassApplication { option (cosmos.orm.v1.table) = { id : 17 - primary_key : {fields : "key", auto_increment : true} + primary_key : {fields : "id", auto_increment : true} index : {id : 1, fields : "project_key", unique : true} }; diff --git a/x/data/go.mod b/x/data/go.mod index bc1c8bcda6..98406a57ff 100644 --- a/x/data/go.mod +++ b/x/data/go.mod @@ -1,6 +1,8 @@ module github.com/regen-network/regen-ledger/x/data/v3 -go 1.19 +go 1.21 + +toolchain go1.21.4 require ( cosmossdk.io/errors v1.0.0 diff --git a/x/data/types.pb.go b/x/data/types.pb.go index 0a48f7393a..16e16b6352 100644 --- a/x/data/types.pb.go +++ b/x/data/types.pb.go @@ -125,8 +125,7 @@ type ContentHash struct { // which is preserved bit by bit. All other content encodings specify a // deterministic, canonical encoding allowing implementations to choose from a // variety of alternative formats for transport and encoding while maintaining - // the guarantee that the canonical hash will not change. The media type for - // "raw" data is defined by the MediaType enum. + // the guarantee that the canonical hash will not change. Raw *ContentHash_Raw `protobuf:"bytes,1,opt,name=raw,proto3" json:"raw,omitempty"` // graph specifies graph data that conforms to the RDF data model. // The canonicalization algorithm used for an RDF graph is specified by diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index b7bbca8f5f..92d062a498 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -25,6 +25,48 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// Application represents the evaluation status that a credit class issuer +// assigns to a credit class application. +type ApplicationStatus int32 + +const ( + // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is + // unspecified and hasn't been evaluated yet. + ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED ApplicationStatus = 0 + // APPLICATION_STATUS_ACCEPTED indicates that the application has been + // accepted and that the project has been admitted into the credit class. + ApplicationStatus_APPLICATION_STATUS_ACCEPTED ApplicationStatus = 1 + // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has + // been reviewed and that changes are required before the application can be + // accepted. + ApplicationStatus_APPLICATION_STATUS_CHANGES_REQUESTED ApplicationStatus = 2 + // APPLICATION_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be admitted into the credit class. + ApplicationStatus_APPLICATION_STATUS_REJECTED ApplicationStatus = 3 +) + +var ApplicationStatus_name = map[int32]string{ + 0: "APPLICATION_STATUS_UNSPECIFIED", + 1: "APPLICATION_STATUS_ACCEPTED", + 2: "APPLICATION_STATUS_CHANGES_REQUESTED", + 3: "APPLICATION_STATUS_REJECTED", +} + +var ApplicationStatus_value = map[string]int32{ + "APPLICATION_STATUS_UNSPECIFIED": 0, + "APPLICATION_STATUS_ACCEPTED": 1, + "APPLICATION_STATUS_CHANGES_REQUESTED": 2, + "APPLICATION_STATUS_REJECTED": 3, +} + +func (x ApplicationStatus) String() string { + return proto.EnumName(ApplicationStatus_name, int32(x)) +} + +func (ApplicationStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_6cfdca0a4aaabb36, []int{0} +} + // CreditType defines the measurement unit/precision of a certain credit type // (e.g. carbon, biodiversity...) type CreditType struct { @@ -1162,7 +1204,103 @@ func (m *AllowedBridgeChain) GetChainName() string { return "" } +// ClassApplication stores the data for a credit class application. +type ClassApplication struct { + // id is the unique identifier of the application. + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // project_key is the table row identifier of the project used internally for + // efficient lookups. This links an application to a project. + ProjectKey uint64 `protobuf:"varint,2,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a project to a credit class. + ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` + // issuer is the issuer of the credit class which the application has been + // submitted to. + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + // metadata is any arbitrary metadata attached to the application. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + // status is the status of the application. Note that accepted and rejected + // applications are removed from the table. + Status ApplicationStatus `protobuf:"varint,6,opt,name=status,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"status,omitempty"` +} + +func (m *ClassApplication) Reset() { *m = ClassApplication{} } +func (m *ClassApplication) String() string { return proto.CompactTextString(m) } +func (*ClassApplication) ProtoMessage() {} +func (*ClassApplication) Descriptor() ([]byte, []int) { + return fileDescriptor_6cfdca0a4aaabb36, []int{16} +} +func (m *ClassApplication) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ClassApplication.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ClassApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClassApplication.Merge(m, src) +} +func (m *ClassApplication) XXX_Size() int { + return m.Size() +} +func (m *ClassApplication) XXX_DiscardUnknown() { + xxx_messageInfo_ClassApplication.DiscardUnknown(m) +} + +var xxx_messageInfo_ClassApplication proto.InternalMessageInfo + +func (m *ClassApplication) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *ClassApplication) GetProjectKey() uint64 { + if m != nil { + return m.ProjectKey + } + return 0 +} + +func (m *ClassApplication) GetClassKey() uint64 { + if m != nil { + return m.ClassKey + } + return 0 +} + +func (m *ClassApplication) GetIssuer() string { + if m != nil { + return m.Issuer + } + return "" +} + +func (m *ClassApplication) GetMetadata() string { + if m != nil { + return m.Metadata + } + return "" +} + +func (m *ClassApplication) GetStatus() ApplicationStatus { + if m != nil { + return m.Status + } + return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED +} + func init() { + proto.RegisterEnum("regen.ecocredit.v1.ApplicationStatus", ApplicationStatus_name, ApplicationStatus_value) proto.RegisterType((*CreditType)(nil), "regen.ecocredit.v1.CreditType") proto.RegisterType((*Class)(nil), "regen.ecocredit.v1.Class") proto.RegisterType((*ClassIssuer)(nil), "regen.ecocredit.v1.ClassIssuer") @@ -1179,86 +1317,98 @@ func init() { proto.RegisterType((*AllowedClassCreator)(nil), "regen.ecocredit.v1.AllowedClassCreator") proto.RegisterType((*ClassFee)(nil), "regen.ecocredit.v1.ClassFee") proto.RegisterType((*AllowedBridgeChain)(nil), "regen.ecocredit.v1.AllowedBridgeChain") + proto.RegisterType((*ClassApplication)(nil), "regen.ecocredit.v1.ClassApplication") } func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1179 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x8e, 0xdc, 0xc4, - 0x13, 0x8f, 0xe7, 0x63, 0xc7, 0x53, 0xf3, 0xe5, 0xf4, 0x66, 0x37, 0xce, 0xfe, 0xf3, 0x9f, 0x04, - 0x03, 0x4a, 0x22, 0x16, 0x8f, 0x36, 0x80, 0x04, 0x46, 0x22, 0xda, 0xdd, 0x80, 0x14, 0x45, 0x02, - 0x34, 0xe4, 0x02, 0x97, 0xa1, 0xc7, 0xae, 0xcc, 0x3a, 0x19, 0xdb, 0x43, 0xbb, 0x67, 0xb3, 0x7b, - 0xe5, 0x01, 0x10, 0x27, 0xc4, 0x01, 0xf1, 0x02, 0xbc, 0x02, 0x0f, 0x00, 0xb7, 0x48, 0x5c, 0x38, - 0xa2, 0xe4, 0x0d, 0x10, 0x27, 0x4e, 0xa8, 0xcb, 0x6d, 0xcf, 0x78, 0x98, 0x6c, 0x56, 0xdc, 0x5c, - 0xd5, 0xf5, 0xf1, 0xab, 0x5f, 0x57, 0xb5, 0x0b, 0xfa, 0x02, 0x27, 0x18, 0x0f, 0xd0, 0x4f, 0x7c, - 0x81, 0x41, 0x28, 0x07, 0xc7, 0x7b, 0x83, 0x54, 0x72, 0x89, 0xee, 0x4c, 0x24, 0x32, 0x61, 0x8c, - 0xce, 0xdd, 0xe2, 0xdc, 0x3d, 0xde, 0xdb, 0xe9, 0xfb, 0x49, 0x1a, 0x25, 0xe9, 0x60, 0xcc, 0x53, - 0x1c, 0x1c, 0xef, 0x8d, 0x51, 0xf2, 0xbd, 0x81, 0x9f, 0x84, 0x71, 0xe6, 0xb3, 0x73, 0x59, 0x9f, - 0x27, 0x22, 0x52, 0xe1, 0x12, 0x11, 0xe9, 0x83, 0x6b, 0x93, 0x24, 0x99, 0x4c, 0x71, 0x40, 0xd2, - 0x78, 0xfe, 0x70, 0x20, 0xc3, 0x08, 0x53, 0xc9, 0xa3, 0x59, 0x66, 0xe0, 0xfc, 0x60, 0x00, 0x1c, - 0x52, 0x9e, 0x07, 0xa7, 0x33, 0x64, 0x0e, 0xb4, 0xf9, 0x78, 0x2c, 0xf0, 0x38, 0xe4, 0x32, 0x4c, - 0x62, 0xdb, 0xb8, 0x6e, 0xdc, 0x6c, 0x0e, 0x4b, 0x3a, 0xc6, 0xa0, 0x16, 0xf3, 0x08, 0xed, 0x0a, - 0x9d, 0xd1, 0xb7, 0xd2, 0xcd, 0xe3, 0x50, 0xda, 0xd5, 0x4c, 0xa7, 0xbe, 0xd9, 0x55, 0x68, 0xce, - 0x04, 0xfa, 0x61, 0xaa, 0x02, 0xd5, 0xae, 0x1b, 0x37, 0x3b, 0xc3, 0x85, 0xc2, 0x7b, 0xed, 0xcf, - 0x1f, 0x7f, 0xfb, 0xa6, 0xda, 0x87, 0x6e, 0x39, 0x23, 0x83, 0x2c, 0xba, 0x65, 0xd8, 0x86, 0x6d, - 0x38, 0xbf, 0x1a, 0x50, 0x3f, 0x9c, 0xf2, 0x34, 0x65, 0x16, 0x54, 0x1f, 0xe3, 0x29, 0x01, 0xaa, - 0x0d, 0xd5, 0x27, 0xeb, 0x42, 0x25, 0x0c, 0x34, 0x8a, 0x4a, 0x18, 0xb0, 0x4b, 0x50, 0xe7, 0x41, - 0x14, 0xc6, 0x04, 0xa2, 0x3d, 0xcc, 0x04, 0xb6, 0x03, 0x66, 0x84, 0x92, 0x07, 0x5c, 0x72, 0x02, - 0xd1, 0x1c, 0x16, 0x32, 0xdb, 0x05, 0x96, 0x71, 0x3c, 0x92, 0xa7, 0x33, 0x1c, 0x65, 0x38, 0xec, - 0x3a, 0x59, 0x59, 0x7e, 0xc1, 0xca, 0x3e, 0xe9, 0xbd, 0x0f, 0x08, 0xf1, 0xbb, 0xd0, 0x20, 0x24, - 0x96, 0xc1, 0x4c, 0x05, 0x40, 0x01, 0x65, 0x4d, 0x9d, 0xda, 0xaa, 0xb0, 0xed, 0x75, 0x31, 0xad, - 0xaa, 0x5d, 0x71, 0xbe, 0x84, 0x16, 0x95, 0x72, 0x2f, 0x4d, 0xe7, 0x28, 0xd8, 0xff, 0xa0, 0xe9, - 0x2b, 0x71, 0xb4, 0x28, 0xcb, 0x24, 0xc5, 0x7d, 0x3c, 0x65, 0xdb, 0xb0, 0x11, 0x92, 0x19, 0xd5, - 0xd7, 0x1e, 0x6a, 0xc9, 0xbb, 0x4a, 0x18, 0xb6, 0x81, 0x81, 0x55, 0x38, 0xef, 0x6a, 0xcb, 0xaa, - 0xf3, 0x53, 0x05, 0x1a, 0x9f, 0x8a, 0xe4, 0x11, 0xfa, 0xf2, 0x3f, 0xf3, 0x55, 0x82, 0x55, 0x5b, - 0x81, 0xe5, 0x40, 0xfb, 0xd1, 0x5c, 0x84, 0x69, 0x10, 0xfa, 0xd4, 0x1e, 0x19, 0x55, 0x25, 0x5d, - 0x89, 0xf0, 0x8d, 0x15, 0xc2, 0x5f, 0x81, 0xb6, 0xc0, 0x87, 0x28, 0x30, 0xf6, 0x71, 0x14, 0x06, - 0x76, 0x83, 0xce, 0x5b, 0x85, 0xee, 0x5e, 0xe0, 0x1d, 0x51, 0x85, 0xe3, 0x75, 0x2c, 0x33, 0x68, - 0x2f, 0x15, 0x1d, 0x58, 0x95, 0x65, 0xe6, 0xab, 0xcc, 0x2a, 0x07, 0xb7, 0x6a, 0x6c, 0x07, 0xb6, - 0x17, 0x0e, 0xa5, 0xb3, 0xba, 0x5d, 0x73, 0xbe, 0xaf, 0x42, 0xfd, 0x80, 0x4b, 0xff, 0x68, 0x0d, - 0x57, 0x2f, 0xe0, 0x9f, 0x5d, 0x83, 0xd6, 0x2c, 0x23, 0x98, 0xf8, 0xa9, 0x92, 0x07, 0x68, 0x95, - 0x62, 0xe8, 0x12, 0xd4, 0x03, 0x8c, 0x93, 0x48, 0xf7, 0x5a, 0x26, 0x94, 0x38, 0xa9, 0xaf, 0x70, - 0xf2, 0x1e, 0x40, 0x2a, 0xb9, 0x90, 0xa3, 0x80, 0x4b, 0x24, 0xc6, 0x5a, 0xb7, 0x77, 0xdc, 0x6c, - 0x6e, 0xdd, 0x7c, 0x6e, 0xdd, 0x07, 0xf9, 0xdc, 0x0e, 0x9b, 0x64, 0x7d, 0x97, 0x4b, 0x64, 0xef, - 0x80, 0x89, 0x71, 0x90, 0x39, 0x36, 0x5e, 0xea, 0xd8, 0xc0, 0x38, 0x20, 0xb7, 0x3b, 0xd0, 0x51, - 0xe5, 0x70, 0xc5, 0x05, 0xf9, 0x9a, 0x2f, 0xf5, 0x6d, 0xe7, 0x0e, 0x14, 0x80, 0x41, 0x2d, 0x99, - 0x61, 0x6c, 0x37, 0xaf, 0x1b, 0x37, 0xcd, 0x21, 0x7d, 0x7b, 0xf7, 0xe9, 0xde, 0x3e, 0x5c, 0xdc, - 0x5b, 0x4b, 0x33, 0x41, 0x57, 0xd7, 0x2b, 0xf1, 0x66, 0x55, 0x58, 0x77, 0xb9, 0x6a, 0xab, 0xca, - 0x20, 0x27, 0xdc, 0xaa, 0xd9, 0x75, 0xe7, 0x6b, 0x03, 0x3a, 0x34, 0x2b, 0x9f, 0xe1, 0x57, 0x73, - 0x75, 0x67, 0x2f, 0x18, 0x55, 0x63, 0xfd, 0xa8, 0xb2, 0x57, 0xa1, 0x13, 0xe3, 0x89, 0x1c, 0xa5, - 0xda, 0x9d, 0x6e, 0xb1, 0x36, 0x6c, 0x2b, 0x65, 0x1e, 0xd2, 0xeb, 0x13, 0x62, 0x1b, 0x2e, 0xad, - 0x0d, 0xbd, 0xe1, 0x3c, 0x82, 0x9e, 0x1e, 0xa6, 0x02, 0xc5, 0x99, 0x33, 0x7b, 0xae, 0xa4, 0x5b, - 0x94, 0xb4, 0x07, 0xad, 0xe5, 0x48, 0x0d, 0x27, 0x86, 0x0e, 0xb5, 0x62, 0x91, 0x69, 0xa5, 0xd1, - 0x8c, 0x7f, 0x35, 0xda, 0xb9, 0xb2, 0x5d, 0xa6, 0x6c, 0x17, 0xa1, 0x53, 0x8e, 0x66, 0x3a, 0x7f, - 0x19, 0xd0, 0xa6, 0x84, 0x07, 0x7c, 0xca, 0x75, 0x65, 0x63, 0x25, 0x2f, 0x57, 0x46, 0x0a, 0x95, - 0xcb, 0x86, 0x06, 0x0f, 0x02, 0x81, 0x69, 0xaa, 0xc7, 0x21, 0x17, 0xd9, 0x0d, 0xe8, 0x49, 0xc1, - 0x03, 0x3e, 0x9e, 0xe2, 0x88, 0x47, 0xc9, 0x3c, 0xce, 0x7f, 0x01, 0xdd, 0x5c, 0xbd, 0x4f, 0x5a, - 0xf6, 0x3a, 0x74, 0x05, 0xca, 0x50, 0x60, 0x90, 0xdb, 0x65, 0x03, 0xd2, 0xd1, 0x5a, 0x6d, 0x76, - 0x03, 0x7a, 0x98, 0xfa, 0x22, 0x79, 0xb2, 0xb0, 0xcb, 0xe6, 0xa5, 0x9b, 0xab, 0x33, 0x43, 0xef, - 0x6d, 0xaa, 0xcc, 0x85, 0x4d, 0xb8, 0xa8, 0xb1, 0xec, 0x16, 0xf8, 0xd9, 0x16, 0x5c, 0x2c, 0x84, - 0x5d, 0x7d, 0x6c, 0x19, 0x76, 0xd3, 0xf9, 0xd9, 0x80, 0x56, 0xc6, 0xf3, 0x7c, 0x36, 0x9b, 0x9e, - 0x9e, 0x5d, 0xf5, 0x9a, 0xda, 0x2a, 0xe7, 0xac, 0xad, 0xba, 0xae, 0xb6, 0x5b, 0x60, 0xf9, 0x8a, - 0xeb, 0xe9, 0x74, 0x95, 0x84, 0x5e, 0xa1, 0xd7, 0xd5, 0x2d, 0x75, 0xc9, 0x02, 0x1f, 0x38, 0x73, - 0xe8, 0x7c, 0x22, 0xc2, 0x49, 0x18, 0x3f, 0x38, 0xb9, 0x17, 0x07, 0x78, 0x72, 0x76, 0x3f, 0xae, - 0xbe, 0xf7, 0xdb, 0xb0, 0x91, 0x26, 0x73, 0xe1, 0xa3, 0x86, 0xa7, 0x25, 0xef, 0x1a, 0x25, 0xbb, - 0x02, 0x5b, 0xb0, 0xb9, 0xfc, 0xbc, 0xee, 0x6a, 0xe3, 0x96, 0xf3, 0x9d, 0xa1, 0xbb, 0xf3, 0x30, - 0x89, 0xa5, 0xe0, 0xbe, 0x3c, 0x9b, 0xb7, 0x12, 0xa8, 0xca, 0x0a, 0xa8, 0x1d, 0x30, 0x7d, 0x1d, - 0x45, 0xc3, 0x28, 0x64, 0x6f, 0x40, 0x40, 0x6e, 0x95, 0xaa, 0x66, 0x36, 0xb0, 0x05, 0xaa, 0xdc, - 0x94, 0xb6, 0x83, 0xb6, 0xf3, 0x3e, 0x6c, 0xd1, 0x2b, 0x71, 0x28, 0x90, 0xcb, 0x44, 0xec, 0x4f, - 0xa7, 0xc9, 0x93, 0x69, 0x98, 0x4a, 0xd5, 0xb0, 0x18, 0xab, 0x1b, 0x0a, 0x08, 0x9d, 0x39, 0xcc, - 0x45, 0xcf, 0xfc, 0x5b, 0xe5, 0xa8, 0x98, 0x1d, 0xe7, 0x2e, 0x6c, 0x92, 0x03, 0x06, 0xcb, 0x31, - 0x96, 0x7b, 0xdd, 0x28, 0xf5, 0xba, 0xb7, 0x49, 0xf0, 0x3a, 0xd0, 0x5c, 0x58, 0x74, 0x9d, 0x7d, - 0x30, 0xc9, 0xfd, 0x23, 0x44, 0xf6, 0x06, 0x54, 0x1f, 0x22, 0x92, 0x5b, 0xeb, 0xf6, 0x15, 0x37, - 0xdb, 0xc9, 0x5c, 0xb5, 0xb3, 0xb9, 0x7a, 0x67, 0x73, 0x0f, 0x93, 0x30, 0x1e, 0x2a, 0xab, 0x02, - 0x48, 0xcf, 0xb9, 0x0f, 0x4c, 0x03, 0x39, 0x10, 0x61, 0x30, 0xc1, 0xc3, 0x23, 0x1e, 0xc6, 0xec, - 0xff, 0x00, 0xbe, 0xfa, 0x18, 0xd1, 0xae, 0x95, 0x3d, 0x74, 0x4d, 0xd2, 0x7c, 0xcc, 0x23, 0xf4, - 0xb6, 0x09, 0x8c, 0x05, 0xed, 0x92, 0x99, 0x75, 0xf0, 0xf9, 0x2f, 0xcf, 0xfa, 0xc6, 0xd3, 0x67, - 0x7d, 0xe3, 0x8f, 0x67, 0x7d, 0xe3, 0xdb, 0xe7, 0xfd, 0x0b, 0x4f, 0x9f, 0xf7, 0x2f, 0xfc, 0xfe, - 0xbc, 0x7f, 0xe1, 0x8b, 0x3b, 0x93, 0x50, 0x1e, 0xcd, 0xc7, 0xae, 0x9f, 0x44, 0x03, 0x5a, 0x31, - 0xdf, 0x8c, 0x51, 0x3e, 0x49, 0xc4, 0x63, 0x2d, 0x4d, 0x31, 0x98, 0xa0, 0x18, 0x9c, 0x2c, 0x6d, - 0xa6, 0xb4, 0x6e, 0xaa, 0x47, 0x31, 0x55, 0x4b, 0xe7, 0x06, 0xfd, 0x17, 0xde, 0xfa, 0x27, 0x00, - 0x00, 0xff, 0xff, 0x04, 0xa3, 0xef, 0x4e, 0xc1, 0x0a, 0x00, 0x00, + // 1354 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x44, + 0x14, 0x8f, 0xfc, 0x27, 0xb6, 0x9f, 0xff, 0x29, 0x9b, 0x26, 0x55, 0xd3, 0xd6, 0x29, 0x6a, 0x3b, + 0x4d, 0x21, 0xc8, 0x93, 0x02, 0x33, 0x60, 0x06, 0x3a, 0x8e, 0xe3, 0x82, 0x29, 0x93, 0x06, 0xd9, + 0x3d, 0xc0, 0xc5, 0xac, 0xa5, 0xad, 0xa3, 0xd6, 0x96, 0x8c, 0xb4, 0x4e, 0x93, 0x2b, 0x1f, 0x80, + 0xe1, 0xc4, 0x70, 0x60, 0xb8, 0x70, 0xe4, 0x2b, 0xf0, 0x01, 0xe0, 0xd6, 0x19, 0x2e, 0x1c, 0x99, + 0xf6, 0x1b, 0x30, 0x1c, 0x18, 0x4e, 0xcc, 0x3e, 0xad, 0x6c, 0xcb, 0x71, 0xd2, 0x0e, 0x37, 0xbd, + 0xb7, 0xef, 0xcf, 0xef, 0xfd, 0xf6, 0xbd, 0xdd, 0x15, 0x54, 0x7c, 0xd6, 0x67, 0x6e, 0x95, 0x59, + 0x9e, 0xe5, 0x33, 0xdb, 0xe1, 0xd5, 0xa3, 0x9d, 0x6a, 0xc0, 0x29, 0x67, 0xc6, 0xc8, 0xf7, 0xb8, + 0x47, 0x08, 0xae, 0x1b, 0x93, 0x75, 0xe3, 0x68, 0x67, 0xa3, 0x62, 0x79, 0xc1, 0xd0, 0x0b, 0xaa, + 0x3d, 0x1a, 0xb0, 0xea, 0xd1, 0x4e, 0x8f, 0x71, 0xba, 0x53, 0xb5, 0x3c, 0xc7, 0x0d, 0x7d, 0x36, + 0x2e, 0xca, 0x75, 0xcf, 0x1f, 0x8a, 0x70, 0x9e, 0x3f, 0x94, 0x0b, 0x9b, 0x7d, 0xcf, 0xeb, 0x0f, + 0x58, 0x15, 0xa5, 0xde, 0xf8, 0x51, 0x95, 0x3b, 0x43, 0x16, 0x70, 0x3a, 0x1c, 0x85, 0x06, 0xfa, + 0x0f, 0x0a, 0x40, 0x03, 0xf3, 0x74, 0x4e, 0x46, 0x8c, 0xe8, 0x50, 0xa0, 0xbd, 0x9e, 0xcf, 0x8e, + 0x1c, 0xca, 0x1d, 0xcf, 0xd5, 0x94, 0x6b, 0xca, 0x56, 0xce, 0x8c, 0xe9, 0x08, 0x81, 0x94, 0x4b, + 0x87, 0x4c, 0x4b, 0xe0, 0x1a, 0x7e, 0x0b, 0xdd, 0xd8, 0x75, 0xb8, 0x96, 0x0c, 0x75, 0xe2, 0x9b, + 0x5c, 0x81, 0xdc, 0xc8, 0x67, 0x96, 0x13, 0x88, 0x40, 0xa9, 0x6b, 0xca, 0x56, 0xd1, 0x9c, 0x2a, + 0x6a, 0x37, 0xfe, 0xfa, 0xf1, 0xf7, 0x6f, 0x92, 0x15, 0x28, 0xc5, 0x33, 0x12, 0x08, 0xa3, 0xab, + 0x8a, 0xa6, 0x68, 0x8a, 0xfe, 0x9b, 0x02, 0xe9, 0xc6, 0x80, 0x06, 0x01, 0x51, 0x21, 0xf9, 0x84, + 0x9d, 0x20, 0xa0, 0x94, 0x29, 0x3e, 0x49, 0x09, 0x12, 0x8e, 0x2d, 0x51, 0x24, 0x1c, 0x9b, 0x5c, + 0x80, 0x34, 0xb5, 0x87, 0x8e, 0x8b, 0x20, 0x0a, 0x66, 0x28, 0x90, 0x0d, 0xc8, 0x0e, 0x19, 0xa7, + 0x36, 0xe5, 0x14, 0x41, 0xe4, 0xcc, 0x89, 0x4c, 0xb6, 0x81, 0x84, 0x1c, 0x77, 0xf9, 0xc9, 0x88, + 0x75, 0x43, 0x1c, 0x5a, 0x1a, 0xad, 0x54, 0x6b, 0xc2, 0x4a, 0x1d, 0xf5, 0xb5, 0x0f, 0x11, 0xf1, + 0xbb, 0x90, 0x41, 0x24, 0xaa, 0x42, 0xb2, 0x02, 0x80, 0x00, 0x4a, 0x72, 0x32, 0xb5, 0x9a, 0x20, + 0xeb, 0x8b, 0x62, 0xaa, 0x49, 0x2d, 0xa1, 0x7f, 0x09, 0x79, 0x2c, 0xa5, 0x15, 0x04, 0x63, 0xe6, + 0x93, 0xcb, 0x90, 0xb3, 0x84, 0xd8, 0x9d, 0x96, 0x95, 0x45, 0xc5, 0x7d, 0x76, 0x42, 0xd6, 0x61, + 0xd9, 0x41, 0x33, 0xac, 0xaf, 0x60, 0x4a, 0xa9, 0x76, 0x05, 0x31, 0xac, 0x03, 0x01, 0x75, 0xe2, + 0xbc, 0x2d, 0x2d, 0x93, 0xfa, 0xcf, 0x09, 0xc8, 0x1c, 0xf8, 0xde, 0x63, 0x66, 0xf1, 0xff, 0xcd, + 0x57, 0x0c, 0x56, 0x6a, 0x0e, 0x96, 0x0e, 0x85, 0xc7, 0x63, 0xdf, 0x09, 0x6c, 0xc7, 0xc2, 0xf6, + 0x08, 0xa9, 0x8a, 0xe9, 0x62, 0x84, 0x2f, 0xcf, 0x11, 0xfe, 0x1a, 0x14, 0x7c, 0xf6, 0x88, 0xf9, + 0xcc, 0xb5, 0x58, 0xd7, 0xb1, 0xb5, 0x0c, 0xae, 0xe7, 0x27, 0xba, 0x96, 0x5d, 0x3b, 0xc4, 0x0a, + 0x7b, 0x8b, 0x58, 0x26, 0x50, 0x98, 0x29, 0xda, 0x56, 0x13, 0xb3, 0xcc, 0x27, 0x89, 0x1a, 0x0f, + 0xae, 0xa6, 0xc8, 0x06, 0xac, 0x4f, 0x1d, 0x62, 0x6b, 0x69, 0x2d, 0xa5, 0x7f, 0x9f, 0x84, 0xf4, + 0x2e, 0xe5, 0xd6, 0xe1, 0x02, 0xae, 0xce, 0xe0, 0x9f, 0x6c, 0x42, 0x7e, 0x14, 0x12, 0x8c, 0xfc, + 0x24, 0xd1, 0x03, 0xa4, 0x4a, 0x30, 0x74, 0x01, 0xd2, 0x36, 0x73, 0xbd, 0xa1, 0xec, 0xb5, 0x50, + 0x88, 0x71, 0x92, 0x9e, 0xe3, 0xe4, 0x3d, 0x80, 0x80, 0x53, 0x9f, 0x77, 0x6d, 0xca, 0x19, 0x32, + 0x96, 0xbf, 0xb3, 0x61, 0x84, 0x73, 0x6b, 0x44, 0x73, 0x6b, 0x74, 0xa2, 0xb9, 0x35, 0x73, 0x68, + 0xbd, 0x47, 0x39, 0x23, 0xef, 0x40, 0x96, 0xb9, 0x76, 0xe8, 0x98, 0x79, 0xa9, 0x63, 0x86, 0xb9, + 0x36, 0xba, 0xdd, 0x85, 0xa2, 0x28, 0x87, 0x0a, 0x2e, 0xd0, 0x37, 0xfb, 0x52, 0xdf, 0x42, 0xe4, + 0x80, 0x01, 0x08, 0xa4, 0xbc, 0x11, 0x73, 0xb5, 0xdc, 0x35, 0x65, 0x2b, 0x6b, 0xe2, 0x77, 0xed, + 0x3e, 0xee, 0x5b, 0x73, 0xba, 0x6f, 0x79, 0xc9, 0x04, 0x6e, 0x5d, 0x39, 0xc6, 0x9b, 0x9a, 0x20, + 0xa5, 0xd9, 0xaa, 0xd5, 0x24, 0x81, 0x88, 0x70, 0x35, 0xa5, 0xa5, 0xf5, 0xaf, 0x15, 0x28, 0xe2, + 0xac, 0xb4, 0xd9, 0x57, 0x63, 0xb1, 0x67, 0x67, 0x8c, 0xaa, 0xb2, 0x78, 0x54, 0xc9, 0x75, 0x28, + 0xba, 0xec, 0x98, 0x77, 0x03, 0xe9, 0x8e, 0xbb, 0x98, 0x32, 0x0b, 0x42, 0x19, 0x85, 0xac, 0x55, + 0x10, 0xb1, 0x06, 0x17, 0x16, 0x86, 0x5e, 0xd6, 0x1f, 0x43, 0x59, 0x0e, 0xd3, 0x04, 0xc5, 0xb9, + 0x33, 0xfb, 0x4a, 0x49, 0xd7, 0x30, 0x69, 0x19, 0xf2, 0xb3, 0x91, 0x32, 0xba, 0x0b, 0x45, 0x6c, + 0xc5, 0x49, 0xa6, 0xb9, 0x46, 0x53, 0x4e, 0x35, 0xda, 0x2b, 0x65, 0xbb, 0x88, 0xd9, 0x56, 0xa0, + 0x18, 0x8f, 0x96, 0xd5, 0xff, 0x56, 0xa0, 0x80, 0x09, 0x77, 0xe9, 0x80, 0xca, 0xca, 0x7a, 0x42, + 0x9e, 0xad, 0x0c, 0x15, 0x22, 0x97, 0x06, 0x19, 0x6a, 0xdb, 0x3e, 0x0b, 0x02, 0x39, 0x0e, 0x91, + 0x48, 0x6e, 0x41, 0x99, 0xfb, 0xd4, 0xa6, 0xbd, 0x01, 0xeb, 0xd2, 0xa1, 0x37, 0x76, 0xa3, 0x2b, + 0xa0, 0x14, 0xa9, 0xeb, 0xa8, 0x25, 0x37, 0xa1, 0xe4, 0x33, 0xee, 0xf8, 0xcc, 0x8e, 0xec, 0xc2, + 0x01, 0x29, 0x4a, 0xad, 0x34, 0xbb, 0x05, 0x65, 0x16, 0x58, 0xbe, 0xf7, 0x74, 0x6a, 0x17, 0xce, + 0x4b, 0x29, 0x52, 0x87, 0x86, 0xb5, 0xb7, 0xb1, 0x32, 0x03, 0x56, 0x61, 0x45, 0x62, 0xd9, 0x9e, + 0xe0, 0x27, 0x6b, 0xb0, 0x32, 0x11, 0xb6, 0xe5, 0xb2, 0xaa, 0x68, 0x39, 0xfd, 0x17, 0x05, 0xf2, + 0x21, 0xcf, 0xe3, 0xd1, 0x68, 0x70, 0x72, 0x7e, 0xd5, 0x0b, 0x6a, 0x4b, 0xbc, 0x62, 0x6d, 0xc9, + 0x45, 0xb5, 0xdd, 0x06, 0xd5, 0x12, 0x5c, 0x0f, 0x06, 0xf3, 0x24, 0x94, 0x27, 0x7a, 0x59, 0xdd, + 0x4c, 0x97, 0x4c, 0xf1, 0x81, 0x3e, 0x86, 0xe2, 0x03, 0xdf, 0xe9, 0x3b, 0x6e, 0xe7, 0xb8, 0xe5, + 0xda, 0xec, 0xf8, 0xfc, 0x7e, 0x9c, 0x3f, 0xef, 0xd7, 0x61, 0x39, 0xf0, 0xc6, 0xbe, 0xc5, 0x24, + 0x3c, 0x29, 0xd5, 0x36, 0x31, 0xd9, 0x25, 0x58, 0x83, 0xd5, 0xd9, 0xe3, 0x75, 0x5b, 0x1a, 0xe7, + 0xf5, 0xef, 0x14, 0xd9, 0x9d, 0x0d, 0xcf, 0xe5, 0x3e, 0xb5, 0xf8, 0xf9, 0xbc, 0xc5, 0x40, 0x25, + 0xe6, 0x40, 0x6d, 0x40, 0xd6, 0x92, 0x51, 0x24, 0x8c, 0x89, 0x5c, 0xab, 0x22, 0x90, 0xdb, 0xb1, + 0xaa, 0x89, 0x06, 0x64, 0x8a, 0x2a, 0x32, 0xc5, 0xd7, 0x41, 0x41, 0x7f, 0x1f, 0xd6, 0xf0, 0x94, + 0x68, 0xf8, 0x8c, 0x72, 0xcf, 0xaf, 0x0f, 0x06, 0xde, 0xd3, 0x81, 0x13, 0x70, 0xd1, 0xb0, 0xcc, + 0x15, 0x3b, 0x64, 0x23, 0xba, 0xac, 0x19, 0x89, 0xb5, 0xec, 0xbf, 0x22, 0x47, 0x22, 0x5b, 0xd4, + 0xf7, 0x60, 0x15, 0x1d, 0x98, 0x3d, 0x1b, 0x63, 0xb6, 0xd7, 0x95, 0x58, 0xaf, 0xd7, 0x56, 0x11, + 0x5e, 0x11, 0x72, 0x53, 0x8b, 0x92, 0x5e, 0x87, 0x2c, 0xba, 0xdf, 0x63, 0x8c, 0xbc, 0x01, 0xc9, + 0x47, 0x8c, 0xa1, 0x5b, 0xfe, 0xce, 0x25, 0x23, 0x7c, 0x93, 0x19, 0xe2, 0xcd, 0x66, 0xc8, 0x37, + 0x9b, 0xd1, 0xf0, 0x1c, 0xd7, 0x14, 0x56, 0x13, 0x20, 0x65, 0xfd, 0x3e, 0x10, 0x09, 0x64, 0xd7, + 0x77, 0xec, 0x3e, 0x6b, 0x1c, 0x52, 0xc7, 0x25, 0x57, 0x01, 0x2c, 0xf1, 0xd1, 0xc5, 0xb7, 0x56, + 0x78, 0xd0, 0xe5, 0x50, 0xb3, 0x4f, 0x87, 0xac, 0xb6, 0x8e, 0x60, 0x54, 0x28, 0xc4, 0xcc, 0x54, + 0xfd, 0x1f, 0x05, 0x54, 0x04, 0x54, 0x1f, 0x8d, 0x06, 0x8e, 0x15, 0xbe, 0xa9, 0xc2, 0x4e, 0x08, + 0xf7, 0x49, 0x74, 0xc2, 0xdc, 0xe1, 0x92, 0x38, 0x75, 0xb8, 0xc4, 0xb6, 0x30, 0x79, 0xe6, 0xdb, + 0x24, 0xec, 0xde, 0xe8, 0x6e, 0x3c, 0xef, 0x92, 0xfb, 0x00, 0x96, 0xc5, 0x1b, 0x77, 0x1c, 0xe0, + 0x05, 0x57, 0xba, 0x73, 0xd3, 0x38, 0xfd, 0xca, 0x35, 0x66, 0x20, 0xb7, 0xd1, 0xd8, 0x94, 0x4e, + 0xb5, 0xeb, 0x58, 0xed, 0x55, 0x58, 0x0e, 0xdf, 0x02, 0x64, 0x25, 0x7e, 0x9d, 0x88, 0x6e, 0x58, + 0x79, 0xfd, 0x27, 0x05, 0x56, 0x4e, 0x85, 0x20, 0x3a, 0x54, 0xea, 0x07, 0x07, 0x9f, 0xb6, 0x1a, + 0xf5, 0x4e, 0xeb, 0xc1, 0x7e, 0xb7, 0xdd, 0xa9, 0x77, 0x1e, 0xb6, 0xbb, 0x0f, 0xf7, 0xdb, 0x07, + 0xcd, 0x46, 0xeb, 0x5e, 0xab, 0xb9, 0xa7, 0x2e, 0x91, 0x4d, 0xb8, 0xbc, 0xc0, 0xa6, 0xde, 0x68, + 0x34, 0x0f, 0x3a, 0xcd, 0x3d, 0x55, 0x21, 0x5b, 0x70, 0x63, 0x81, 0x41, 0xe3, 0xe3, 0xfa, 0xfe, + 0x47, 0xcd, 0x76, 0xd7, 0x6c, 0x7e, 0xf6, 0xb0, 0xd9, 0x16, 0x96, 0x89, 0x33, 0x42, 0x99, 0xcd, + 0x4f, 0x9a, 0x0d, 0x61, 0x90, 0xdc, 0xfd, 0xfc, 0xd7, 0xe7, 0x15, 0xe5, 0xd9, 0xf3, 0x8a, 0xf2, + 0xe7, 0xf3, 0x8a, 0xf2, 0xed, 0x8b, 0xca, 0xd2, 0xb3, 0x17, 0x95, 0xa5, 0x3f, 0x5e, 0x54, 0x96, + 0xbe, 0xb8, 0xdb, 0x77, 0xf8, 0xe1, 0xb8, 0x67, 0x58, 0xde, 0xb0, 0x8a, 0xec, 0xbc, 0xe9, 0x32, + 0xfe, 0xd4, 0xf3, 0x9f, 0x48, 0x69, 0xc0, 0xec, 0x3e, 0xf3, 0xab, 0xc7, 0x33, 0xbf, 0x0e, 0xf8, + 0x3f, 0x20, 0x6e, 0xad, 0x40, 0xfc, 0x15, 0x2c, 0xe3, 0xc5, 0xfd, 0xd6, 0x7f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x97, 0x5d, 0x8a, 0x98, 0x62, 0x0c, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -1985,6 +2135,63 @@ func (m *AllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ClassApplication) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClassApplication) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Status != 0 { + i = encodeVarintState(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x30 + } + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintState(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x2a + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintState(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0x22 + } + if m.ClassKey != 0 { + i = encodeVarintState(dAtA, i, uint64(m.ClassKey)) + i-- + dAtA[i] = 0x18 + } + if m.ProjectKey != 0 { + i = encodeVarintState(dAtA, i, uint64(m.ProjectKey)) + i-- + dAtA[i] = 0x10 + } + if m.Id != 0 { + i = encodeVarintState(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintState(dAtA []byte, offset int, v uint64) int { offset -= sovState(v) base := offset @@ -2329,6 +2536,35 @@ func (m *AllowedBridgeChain) Size() (n int) { return n } +func (m *ClassApplication) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + sovState(uint64(m.Id)) + } + if m.ProjectKey != 0 { + n += 1 + sovState(uint64(m.ProjectKey)) + } + if m.ClassKey != 0 { + n += 1 + sovState(uint64(m.ClassKey)) + } + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovState(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovState(uint64(l)) + } + if m.Status != 0 { + n += 1 + sovState(uint64(m.Status)) + } + return n +} + func sovState(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4582,6 +4818,196 @@ func (m *AllowedBridgeChain) Unmarshal(dAtA []byte) error { } return nil } +func (m *ClassApplication) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ClassApplication: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectKey", wireType) + } + m.ProjectKey = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ProjectKey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) + } + m.ClassKey = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ClassKey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthState + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthState + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Issuer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthState + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthState + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= ApplicationStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipState(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthState + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipState(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index e09ad1c151..3acfa64fe7 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -408,51 +408,39 @@ func (m *MsgCreateProjectResponse) GetProjectId() string { return "" } -// MsgCreateBatch is the Msg/CreateBatch request type. -type MsgCreateBatch struct { - // issuer is the address of the account issuing the credits and must be an - // approved issuer within the credit class of the project. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // project_id is the unique identifier of the project under which the credit - // batch will be created. - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // issuance specifies the amount of tradable and retired credits that will be - // issued to each recipient and the jurisdiction in which the credits will be - // retired if credits are to be retired upon receipt. - Issuance []*BatchIssuance `protobuf:"bytes,3,rep,name=issuance,proto3" json:"issuance,omitempty"` +// MsgCreateUnregisteredProject is the Msg/CreateUnregisteredProject request type. +type MsgCreateUnregisteredProject struct { + // creator is the address of the account creating the project that will become + // the admin of the project upon creation. + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata to attach to the credit batch. - Metadata string `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 *time.Time `protobuf:"bytes,5,opt,name=start_date,json=startDate,proto3,stdtime" json:"start_date,omitempty"` - // end_date is the end of the period during which this credit batch was - // quantified and verified. - EndDate *time.Time `protobuf:"bytes,6,opt,name=end_date,json=endDate,proto3,stdtime" json:"end_date,omitempty"` - // open determines whether or not the credits can be dynamically minted to the - // credit batch following the creation of the credit batch. This field should - // only be set to true when bridging credits from another chain or registry as - // a result of a bridge operation and is not intended for native issuance. - Open bool `protobuf:"varint,7,opt,name=open,proto3" json:"open,omitempty"` - // origin_tx is the transaction from another chain or registry that triggered - // the creation of the credit batch. This field can be ignored when natively - // issuing credits and should only be set when bridging assets from another - // chain or registry as a result of a bridge operation. - OriginTx *OriginTx `protobuf:"bytes,8,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` + // that includes or references metadata to attach to the project. + Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + // jurisdiction is the jurisdiction of the project. A jurisdiction has with + // the format: [-[ ]] + // The country-code must be 2 alphabetic characters, the sub-national-code + // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 + // alphanumeric characters. Only the country-code is required, while the + // sub-national-code and postal-code are optional and can be added for + // increased precision. + Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` + // reference_id is any arbitrary string used to reference the project with a + // maximum length of 32 characters. + ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` } -func (m *MsgCreateBatch) Reset() { *m = MsgCreateBatch{} } -func (m *MsgCreateBatch) String() string { return proto.CompactTextString(m) } -func (*MsgCreateBatch) ProtoMessage() {} -func (*MsgCreateBatch) Descriptor() ([]byte, []int) { +func (m *MsgCreateUnregisteredProject) Reset() { *m = MsgCreateUnregisteredProject{} } +func (m *MsgCreateUnregisteredProject) String() string { return proto.CompactTextString(m) } +func (*MsgCreateUnregisteredProject) ProtoMessage() {} +func (*MsgCreateUnregisteredProject) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{6} } -func (m *MsgCreateBatch) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateUnregisteredProject) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreateBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateUnregisteredProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreateBatch.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateUnregisteredProject.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -462,92 +450,64 @@ func (m *MsgCreateBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (m *MsgCreateBatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateBatch.Merge(m, src) +func (m *MsgCreateUnregisteredProject) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateUnregisteredProject.Merge(m, src) } -func (m *MsgCreateBatch) XXX_Size() int { +func (m *MsgCreateUnregisteredProject) XXX_Size() int { return m.Size() } -func (m *MsgCreateBatch) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateBatch.DiscardUnknown(m) +func (m *MsgCreateUnregisteredProject) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateUnregisteredProject.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreateBatch proto.InternalMessageInfo - -func (m *MsgCreateBatch) GetIssuer() string { - if m != nil { - return m.Issuer - } - return "" -} +var xxx_messageInfo_MsgCreateUnregisteredProject proto.InternalMessageInfo -func (m *MsgCreateBatch) GetProjectId() string { +func (m *MsgCreateUnregisteredProject) GetCreator() string { if m != nil { - return m.ProjectId + return m.Creator } return "" } -func (m *MsgCreateBatch) GetIssuance() []*BatchIssuance { - if m != nil { - return m.Issuance - } - return nil -} - -func (m *MsgCreateBatch) GetMetadata() string { +func (m *MsgCreateUnregisteredProject) GetMetadata() string { if m != nil { return m.Metadata } return "" } -func (m *MsgCreateBatch) GetStartDate() *time.Time { - if m != nil { - return m.StartDate - } - return nil -} - -func (m *MsgCreateBatch) GetEndDate() *time.Time { - if m != nil { - return m.EndDate - } - return nil -} - -func (m *MsgCreateBatch) GetOpen() bool { +func (m *MsgCreateUnregisteredProject) GetJurisdiction() string { if m != nil { - return m.Open + return m.Jurisdiction } - return false + return "" } -func (m *MsgCreateBatch) GetOriginTx() *OriginTx { +func (m *MsgCreateUnregisteredProject) GetReferenceId() string { if m != nil { - return m.OriginTx + return m.ReferenceId } - return nil + return "" } -// MsgCreateBatchResponse is the Msg/CreateBatch response type. -type MsgCreateBatchResponse struct { - // batch_denom is the unique identifier of the credit batch. - BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` +// MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. +type MsgCreateUnregisteredProjectResponse struct { + // project_id is the unique identifier of the project. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` } -func (m *MsgCreateBatchResponse) Reset() { *m = MsgCreateBatchResponse{} } -func (m *MsgCreateBatchResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreateBatchResponse) ProtoMessage() {} -func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { +func (m *MsgCreateUnregisteredProjectResponse) Reset() { *m = MsgCreateUnregisteredProjectResponse{} } +func (m *MsgCreateUnregisteredProjectResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateUnregisteredProjectResponse) ProtoMessage() {} +func (*MsgCreateUnregisteredProjectResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{7} } -func (m *MsgCreateBatchResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateUnregisteredProjectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreateBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateUnregisteredProjectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreateBatchResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateUnregisteredProjectResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -557,53 +517,57 @@ func (m *MsgCreateBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgCreateBatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateBatchResponse.Merge(m, src) +func (m *MsgCreateUnregisteredProjectResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateUnregisteredProjectResponse.Merge(m, src) } -func (m *MsgCreateBatchResponse) XXX_Size() int { +func (m *MsgCreateUnregisteredProjectResponse) XXX_Size() int { return m.Size() } -func (m *MsgCreateBatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateBatchResponse.DiscardUnknown(m) +func (m *MsgCreateUnregisteredProjectResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateUnregisteredProjectResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreateBatchResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateUnregisteredProjectResponse proto.InternalMessageInfo -func (m *MsgCreateBatchResponse) GetBatchDenom() string { +func (m *MsgCreateUnregisteredProjectResponse) GetProjectId() string { if m != nil { - return m.BatchDenom + return m.ProjectId } return "" } -// MsgMintBatchCredits is the Msg/MintBatchCredits request type. -type MsgMintBatchCredits struct { - // issuer is the address of the account minting the credits and must be the - // same issuer who created the credit batch. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // batch_denom is the unique identifier of the credit batch. - BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` - // issuance specifies the amount of tradable and retired credits that will be - // issued to each recipient and the jurisdiction in which the credits will be - // retired if credits are to be retired upon receipt. - Issuance []*BatchIssuance `protobuf:"bytes,3,rep,name=issuance,proto3" json:"issuance,omitempty"` - // origin_tx is the transaction from another chain or registry that triggered - // the minting of credits. - OriginTx *OriginTx `protobuf:"bytes,4,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` +// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. +type MsgSubmitClassApplication struct { + // project_admin is the address of the account that is the admin of the + // project which is applying to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // project_id is the identifier of the project which is applying to + // the credit class. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the identifier of the credit class which the project is + // applying to. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // issuer is the address of the account that is an issuer of the credit class + // to whom the project is applying to for approval. + Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the application. + // This could be used as a digital reference to the actual contents of the application. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgMintBatchCredits) Reset() { *m = MsgMintBatchCredits{} } -func (m *MsgMintBatchCredits) String() string { return proto.CompactTextString(m) } -func (*MsgMintBatchCredits) ProtoMessage() {} -func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { +func (m *MsgSubmitClassApplication) Reset() { *m = MsgSubmitClassApplication{} } +func (m *MsgSubmitClassApplication) String() string { return proto.CompactTextString(m) } +func (*MsgSubmitClassApplication) ProtoMessage() {} +func (*MsgSubmitClassApplication) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{8} } -func (m *MsgMintBatchCredits) XXX_Unmarshal(b []byte) error { +func (m *MsgSubmitClassApplication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgMintBatchCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSubmitClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgMintBatchCredits.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSubmitClassApplication.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -613,62 +577,71 @@ func (m *MsgMintBatchCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgMintBatchCredits) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgMintBatchCredits.Merge(m, src) +func (m *MsgSubmitClassApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSubmitClassApplication.Merge(m, src) } -func (m *MsgMintBatchCredits) XXX_Size() int { +func (m *MsgSubmitClassApplication) XXX_Size() int { return m.Size() } -func (m *MsgMintBatchCredits) XXX_DiscardUnknown() { - xxx_messageInfo_MsgMintBatchCredits.DiscardUnknown(m) +func (m *MsgSubmitClassApplication) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSubmitClassApplication.DiscardUnknown(m) } -var xxx_messageInfo_MsgMintBatchCredits proto.InternalMessageInfo +var xxx_messageInfo_MsgSubmitClassApplication proto.InternalMessageInfo -func (m *MsgMintBatchCredits) GetIssuer() string { +func (m *MsgSubmitClassApplication) GetProjectAdmin() string { if m != nil { - return m.Issuer + return m.ProjectAdmin } return "" } -func (m *MsgMintBatchCredits) GetBatchDenom() string { +func (m *MsgSubmitClassApplication) GetProjectId() string { if m != nil { - return m.BatchDenom + return m.ProjectId } return "" } -func (m *MsgMintBatchCredits) GetIssuance() []*BatchIssuance { +func (m *MsgSubmitClassApplication) GetClassId() string { if m != nil { - return m.Issuance + return m.ClassId } - return nil + return "" } -func (m *MsgMintBatchCredits) GetOriginTx() *OriginTx { +func (m *MsgSubmitClassApplication) GetIssuer() string { if m != nil { - return m.OriginTx + return m.Issuer } - return nil + return "" } -// MsgMintBatchCreditsResponse is the Msg/MintBatchCredits response type. -type MsgMintBatchCreditsResponse struct { +func (m *MsgSubmitClassApplication) GetMetadata() string { + if m != nil { + return m.Metadata + } + return "" } -func (m *MsgMintBatchCreditsResponse) Reset() { *m = MsgMintBatchCreditsResponse{} } -func (m *MsgMintBatchCreditsResponse) String() string { return proto.CompactTextString(m) } -func (*MsgMintBatchCreditsResponse) ProtoMessage() {} -func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { +// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. +type MsgSubmitClassApplicationResponse struct { + // application_id is the identifier assigned to the application. + ApplicationId uint64 `protobuf:"varint,1,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` +} + +func (m *MsgSubmitClassApplicationResponse) Reset() { *m = MsgSubmitClassApplicationResponse{} } +func (m *MsgSubmitClassApplicationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSubmitClassApplicationResponse) ProtoMessage() {} +func (*MsgSubmitClassApplicationResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{9} } -func (m *MsgMintBatchCreditsResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSubmitClassApplicationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgMintBatchCreditsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSubmitClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgMintBatchCreditsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSubmitClassApplicationResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -678,39 +651,50 @@ func (m *MsgMintBatchCreditsResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgMintBatchCreditsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgMintBatchCreditsResponse.Merge(m, src) +func (m *MsgSubmitClassApplicationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSubmitClassApplicationResponse.Merge(m, src) } -func (m *MsgMintBatchCreditsResponse) XXX_Size() int { +func (m *MsgSubmitClassApplicationResponse) XXX_Size() int { return m.Size() } -func (m *MsgMintBatchCreditsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgMintBatchCreditsResponse.DiscardUnknown(m) +func (m *MsgSubmitClassApplicationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSubmitClassApplicationResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgMintBatchCreditsResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSubmitClassApplicationResponse proto.InternalMessageInfo -// MsgSealBatch is the Msg/MintBatchCredits request type. -type MsgSealBatch struct { - // issuer is the address of the account that created the credit batch and the - // only account with permissions to seal the credit batch. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // batch_denom is the unique identifier of the credit batch. - BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` +func (m *MsgSubmitClassApplicationResponse) GetApplicationId() uint64 { + if m != nil { + return m.ApplicationId + } + return 0 } -func (m *MsgSealBatch) Reset() { *m = MsgSealBatch{} } -func (m *MsgSealBatch) String() string { return proto.CompactTextString(m) } -func (*MsgSealBatch) ProtoMessage() {} -func (*MsgSealBatch) Descriptor() ([]byte, []int) { +// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. +type MsgUpdateClassApplication struct { + // project_admin is the address of the account that is the admin of the + // project which is updating its application to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // application_id is the identifier of the application to update. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata relevant to the application. If it + // is left empty, the existing metadata will be deleted. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (m *MsgUpdateClassApplication) Reset() { *m = MsgUpdateClassApplication{} } +func (m *MsgUpdateClassApplication) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassApplication) ProtoMessage() {} +func (*MsgUpdateClassApplication) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{10} } -func (m *MsgSealBatch) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassApplication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSealBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSealBatch.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassApplication.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -720,48 +704,55 @@ func (m *MsgSealBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (m *MsgSealBatch) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSealBatch.Merge(m, src) +func (m *MsgUpdateClassApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassApplication.Merge(m, src) } -func (m *MsgSealBatch) XXX_Size() int { +func (m *MsgUpdateClassApplication) XXX_Size() int { return m.Size() } -func (m *MsgSealBatch) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSealBatch.DiscardUnknown(m) +func (m *MsgUpdateClassApplication) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassApplication.DiscardUnknown(m) } -var xxx_messageInfo_MsgSealBatch proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassApplication proto.InternalMessageInfo -func (m *MsgSealBatch) GetIssuer() string { +func (m *MsgUpdateClassApplication) GetProjectAdmin() string { if m != nil { - return m.Issuer + return m.ProjectAdmin } return "" } -func (m *MsgSealBatch) GetBatchDenom() string { +func (m *MsgUpdateClassApplication) GetApplicationId() uint64 { if m != nil { - return m.BatchDenom + return m.ApplicationId + } + return 0 +} + +func (m *MsgUpdateClassApplication) GetMetadata() string { + if m != nil { + return m.Metadata } return "" } -// MsgSealBatchResponse is the Msg/SealBatch response type. -type MsgSealBatchResponse struct { +// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. +type MsgUpdateClassApplicationResponse struct { } -func (m *MsgSealBatchResponse) Reset() { *m = MsgSealBatchResponse{} } -func (m *MsgSealBatchResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSealBatchResponse) ProtoMessage() {} -func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { +func (m *MsgUpdateClassApplicationResponse) Reset() { *m = MsgUpdateClassApplicationResponse{} } +func (m *MsgUpdateClassApplicationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassApplicationResponse) ProtoMessage() {} +func (*MsgUpdateClassApplicationResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{11} } -func (m *MsgSealBatchResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassApplicationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSealBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSealBatchResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassApplicationResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -771,40 +762,39 @@ func (m *MsgSealBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *MsgSealBatchResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSealBatchResponse.Merge(m, src) +func (m *MsgUpdateClassApplicationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassApplicationResponse.Merge(m, src) } -func (m *MsgSealBatchResponse) XXX_Size() int { +func (m *MsgUpdateClassApplicationResponse) XXX_Size() int { return m.Size() } -func (m *MsgSealBatchResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSealBatchResponse.DiscardUnknown(m) +func (m *MsgUpdateClassApplicationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassApplicationResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSealBatchResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassApplicationResponse proto.InternalMessageInfo -// MsgSend is the Msg/Send request type. -type MsgSend struct { - // sender is the address of the account sending credits. - Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` - // recipient is the address of the account receiving credits. - Recipient string `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` - // credits are the credits being sent to the recipient. - Credits []*MsgSend_SendCredits `protobuf:"bytes,3,rep,name=credits,proto3" json:"credits,omitempty"` +// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. +type MsgWithdrawClassApplication struct { + // project_admin is the address of the account that is the admin of the + // project which is withdrawing its application to the credit class. + ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` + // application_id is the identifier of the application to withdraw. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` } -func (m *MsgSend) Reset() { *m = MsgSend{} } -func (m *MsgSend) String() string { return proto.CompactTextString(m) } -func (*MsgSend) ProtoMessage() {} -func (*MsgSend) Descriptor() ([]byte, []int) { +func (m *MsgWithdrawClassApplication) Reset() { *m = MsgWithdrawClassApplication{} } +func (m *MsgWithdrawClassApplication) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawClassApplication) ProtoMessage() {} +func (*MsgWithdrawClassApplication) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{12} } -func (m *MsgSend) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawClassApplication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSend.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawClassApplication.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -814,81 +804,48 @@ func (m *MsgSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *MsgSend) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSend.Merge(m, src) +func (m *MsgWithdrawClassApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawClassApplication.Merge(m, src) } -func (m *MsgSend) XXX_Size() int { +func (m *MsgWithdrawClassApplication) XXX_Size() int { return m.Size() } -func (m *MsgSend) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSend.DiscardUnknown(m) +func (m *MsgWithdrawClassApplication) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawClassApplication.DiscardUnknown(m) } -var xxx_messageInfo_MsgSend proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawClassApplication proto.InternalMessageInfo -func (m *MsgSend) GetSender() string { - if m != nil { - return m.Sender - } - return "" -} - -func (m *MsgSend) GetRecipient() string { +func (m *MsgWithdrawClassApplication) GetProjectAdmin() string { if m != nil { - return m.Recipient + return m.ProjectAdmin } return "" } -func (m *MsgSend) GetCredits() []*MsgSend_SendCredits { +func (m *MsgWithdrawClassApplication) GetApplicationId() uint64 { if m != nil { - return m.Credits + return m.ApplicationId } - return nil + return 0 } -// SendCredits specifies the amount of tradable and retired credits of a -// credit batch that will be sent to the recipient and the jurisdiction in -// which the credits will be retired upon receipt. -type MsgSend_SendCredits struct { - // batch_denom is the unique identifier of the credit batch. - BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` - // tradable_amount is the amount of credits in this transfer that can be - // traded by the recipient. The number of decimal places must be less than - // or equal to the credit type precision. - TradableAmount string `protobuf:"bytes,2,opt,name=tradable_amount,json=tradableAmount,proto3" json:"tradable_amount,omitempty"` - // retired_amount is the amount of credits in this transfer that are retired - // upon receipt. The number of decimal places must be less than or equal to - // the credit type precision. - RetiredAmount string `protobuf:"bytes,3,opt,name=retired_amount,json=retiredAmount,proto3" json:"retired_amount,omitempty"` - // retirement_jurisdiction is the jurisdiction of the recipient and is only - // required if retired_amount is positive. A jurisdiction has the format: - // [-[ ]] - // The country-code and sub-national-code must conform to ISO 3166-2 and the - // postal-code can be up to 64 alphanumeric characters. Only the - // country-code is required, while the sub-national-code and postal-code are - // optional and can be added for increased precision. - RetirementJurisdiction string `protobuf:"bytes,4,opt,name=retirement_jurisdiction,json=retirementJurisdiction,proto3" json:"retirement_jurisdiction,omitempty"` - // retirement_reason is any arbitrary string that specifies the reason for - // retiring credits. This field is only required if retired_amount is - // positive. - // - // Since Revision 2 - RetirementReason string `protobuf:"bytes,5,opt,name=retirement_reason,json=retirementReason,proto3" json:"retirement_reason,omitempty"` +// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. +type MsgWithdrawClassApplicationResponse struct { } -func (m *MsgSend_SendCredits) Reset() { *m = MsgSend_SendCredits{} } -func (m *MsgSend_SendCredits) String() string { return proto.CompactTextString(m) } -func (*MsgSend_SendCredits) ProtoMessage() {} -func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{12, 0} +func (m *MsgWithdrawClassApplicationResponse) Reset() { *m = MsgWithdrawClassApplicationResponse{} } +func (m *MsgWithdrawClassApplicationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawClassApplicationResponse) ProtoMessage() {} +func (*MsgWithdrawClassApplicationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{13} } -func (m *MsgSend_SendCredits) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawClassApplicationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSend_SendCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSend_SendCredits.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawClassApplicationResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -898,69 +855,110 @@ func (m *MsgSend_SendCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgSend_SendCredits) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSend_SendCredits.Merge(m, src) +func (m *MsgWithdrawClassApplicationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawClassApplicationResponse.Merge(m, src) } -func (m *MsgSend_SendCredits) XXX_Size() int { +func (m *MsgWithdrawClassApplicationResponse) XXX_Size() int { return m.Size() } -func (m *MsgSend_SendCredits) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSend_SendCredits.DiscardUnknown(m) +func (m *MsgWithdrawClassApplicationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawClassApplicationResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSend_SendCredits proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawClassApplicationResponse proto.InternalMessageInfo -func (m *MsgSend_SendCredits) GetBatchDenom() string { - if m != nil { - return m.BatchDenom +// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. +type MsgEvaluateClassApplication struct { + // issuer is the address of the account that is the issuer of the credit class + // which is evaluating the application. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // application_id is the identifier of the application to evaluate. + ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` + // evaluation is the evaluation of the application. + Evaluation ApplicationStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"evaluation,omitempty"` + // reason is any arbitrary string with a maximum length of 256 characters + // that includes or references the reason for the approving, requesting changes + // to, or rejecting the application. + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (m *MsgEvaluateClassApplication) Reset() { *m = MsgEvaluateClassApplication{} } +func (m *MsgEvaluateClassApplication) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateClassApplication) ProtoMessage() {} +func (*MsgEvaluateClassApplication) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{14} +} +func (m *MsgEvaluateClassApplication) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgEvaluateClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgEvaluateClassApplication.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return "" +} +func (m *MsgEvaluateClassApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateClassApplication.Merge(m, src) +} +func (m *MsgEvaluateClassApplication) XXX_Size() int { + return m.Size() +} +func (m *MsgEvaluateClassApplication) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateClassApplication.DiscardUnknown(m) } -func (m *MsgSend_SendCredits) GetTradableAmount() string { +var xxx_messageInfo_MsgEvaluateClassApplication proto.InternalMessageInfo + +func (m *MsgEvaluateClassApplication) GetIssuer() string { if m != nil { - return m.TradableAmount + return m.Issuer } return "" } -func (m *MsgSend_SendCredits) GetRetiredAmount() string { +func (m *MsgEvaluateClassApplication) GetApplicationId() uint64 { if m != nil { - return m.RetiredAmount + return m.ApplicationId } - return "" + return 0 } -func (m *MsgSend_SendCredits) GetRetirementJurisdiction() string { +func (m *MsgEvaluateClassApplication) GetEvaluation() ApplicationStatus { if m != nil { - return m.RetirementJurisdiction + return m.Evaluation } - return "" + return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED } -func (m *MsgSend_SendCredits) GetRetirementReason() string { +func (m *MsgEvaluateClassApplication) GetReason() string { if m != nil { - return m.RetirementReason + return m.Reason } return "" } -// MsgSendResponse is the Msg/Send response type. -type MsgSendResponse struct { +// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. +type MsgEvaluateClassApplicationResponse struct { } -func (m *MsgSendResponse) Reset() { *m = MsgSendResponse{} } -func (m *MsgSendResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSendResponse) ProtoMessage() {} -func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{13} +func (m *MsgEvaluateClassApplicationResponse) Reset() { *m = MsgEvaluateClassApplicationResponse{} } +func (m *MsgEvaluateClassApplicationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateClassApplicationResponse) ProtoMessage() {} +func (*MsgEvaluateClassApplicationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{15} } -func (m *MsgSendResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgEvaluateClassApplicationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgEvaluateClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSendResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgEvaluateClassApplicationResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -970,51 +968,63 @@ func (m *MsgSendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (m *MsgSendResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSendResponse.Merge(m, src) +func (m *MsgEvaluateClassApplicationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateClassApplicationResponse.Merge(m, src) } -func (m *MsgSendResponse) XXX_Size() int { +func (m *MsgEvaluateClassApplicationResponse) XXX_Size() int { return m.Size() } -func (m *MsgSendResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSendResponse.DiscardUnknown(m) +func (m *MsgEvaluateClassApplicationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateClassApplicationResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSendResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgEvaluateClassApplicationResponse proto.InternalMessageInfo -// MsgRetire is the Msg/Retire request type. -type MsgRetire struct { - // owner is the address of the account that owns the credits being retired. - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - // credits specifies a credit batch and the number of credits being retired. - Credits []*Credits `protobuf:"bytes,2,rep,name=credits,proto3" json:"credits,omitempty"` - // jurisdiction is the jurisdiction of the credit owner. A jurisdiction has - // the format: [-[ ]] - // The country-code must be 2 alphabetic characters, the sub-national-code - // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 - // alphanumeric characters. Only the country-code is required, while the - // sub-national-code and postal-code are optional and can be added for - // increased precision. - Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` - // reason is any arbitrary string that specifies the reason for retiring - // credits. - // - // Since Revision 2 - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` +// MsgCreateBatch is the Msg/CreateBatch request type. +type MsgCreateBatch struct { + // issuer is the address of the account issuing the credits and must be an + // approved issuer within the credit class of the project. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // project_id is the unique identifier of the project under which the credit + // batch will be created. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // issuance specifies the amount of tradable and retired credits that will be + // issued to each recipient and the jurisdiction in which the credits will be + // retired if credits are to be retired upon receipt. + Issuance []*BatchIssuance `protobuf:"bytes,3,rep,name=issuance,proto3" json:"issuance,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters + // that includes or references metadata to attach to the credit batch. + Metadata string `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 *time.Time `protobuf:"bytes,5,opt,name=start_date,json=startDate,proto3,stdtime" json:"start_date,omitempty"` + // end_date is the end of the period during which this credit batch was + // quantified and verified. + EndDate *time.Time `protobuf:"bytes,6,opt,name=end_date,json=endDate,proto3,stdtime" json:"end_date,omitempty"` + // open determines whether or not the credits can be dynamically minted to the + // credit batch following the creation of the credit batch. This field should + // only be set to true when bridging credits from another chain or registry as + // a result of a bridge operation and is not intended for native issuance. + Open bool `protobuf:"varint,7,opt,name=open,proto3" json:"open,omitempty"` + // origin_tx is the transaction from another chain or registry that triggered + // the creation of the credit batch. This field can be ignored when natively + // issuing credits and should only be set when bridging assets from another + // chain or registry as a result of a bridge operation. + OriginTx *OriginTx `protobuf:"bytes,8,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` } -func (m *MsgRetire) Reset() { *m = MsgRetire{} } -func (m *MsgRetire) String() string { return proto.CompactTextString(m) } -func (*MsgRetire) ProtoMessage() {} -func (*MsgRetire) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{14} +func (m *MsgCreateBatch) Reset() { *m = MsgCreateBatch{} } +func (m *MsgCreateBatch) String() string { return proto.CompactTextString(m) } +func (*MsgCreateBatch) ProtoMessage() {} +func (*MsgCreateBatch) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{16} } -func (m *MsgRetire) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRetire) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRetire.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateBatch.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1024,62 +1034,92 @@ func (m *MsgRetire) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *MsgRetire) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRetire.Merge(m, src) +func (m *MsgCreateBatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateBatch.Merge(m, src) } -func (m *MsgRetire) XXX_Size() int { +func (m *MsgCreateBatch) XXX_Size() int { return m.Size() } -func (m *MsgRetire) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRetire.DiscardUnknown(m) +func (m *MsgCreateBatch) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateBatch.DiscardUnknown(m) } -var xxx_messageInfo_MsgRetire proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateBatch proto.InternalMessageInfo -func (m *MsgRetire) GetOwner() string { +func (m *MsgCreateBatch) GetIssuer() string { if m != nil { - return m.Owner + return m.Issuer } return "" } -func (m *MsgRetire) GetCredits() []*Credits { +func (m *MsgCreateBatch) GetProjectId() string { if m != nil { - return m.Credits + return m.ProjectId + } + return "" +} + +func (m *MsgCreateBatch) GetIssuance() []*BatchIssuance { + if m != nil { + return m.Issuance } return nil } -func (m *MsgRetire) GetJurisdiction() string { +func (m *MsgCreateBatch) GetMetadata() string { if m != nil { - return m.Jurisdiction + return m.Metadata } return "" } -func (m *MsgRetire) GetReason() string { +func (m *MsgCreateBatch) GetStartDate() *time.Time { if m != nil { - return m.Reason + return m.StartDate } - return "" + return nil } -// MsgRetire is the Msg/Retire response type. -type MsgRetireResponse struct { +func (m *MsgCreateBatch) GetEndDate() *time.Time { + if m != nil { + return m.EndDate + } + return nil } -func (m *MsgRetireResponse) Reset() { *m = MsgRetireResponse{} } -func (m *MsgRetireResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRetireResponse) ProtoMessage() {} -func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{15} +func (m *MsgCreateBatch) GetOpen() bool { + if m != nil { + return m.Open + } + return false } -func (m *MsgRetireResponse) XXX_Unmarshal(b []byte) error { + +func (m *MsgCreateBatch) GetOriginTx() *OriginTx { + if m != nil { + return m.OriginTx + } + return nil +} + +// MsgCreateBatchResponse is the Msg/CreateBatch response type. +type MsgCreateBatchResponse struct { + // batch_denom is the unique identifier of the credit batch. + BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` +} + +func (m *MsgCreateBatchResponse) Reset() { *m = MsgCreateBatchResponse{} } +func (m *MsgCreateBatchResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateBatchResponse) ProtoMessage() {} +func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{17} +} +func (m *MsgCreateBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRetireResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRetireResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateBatchResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1089,41 +1129,53 @@ func (m *MsgRetireResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (m *MsgRetireResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRetireResponse.Merge(m, src) +func (m *MsgCreateBatchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateBatchResponse.Merge(m, src) } -func (m *MsgRetireResponse) XXX_Size() int { +func (m *MsgCreateBatchResponse) XXX_Size() int { return m.Size() } -func (m *MsgRetireResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRetireResponse.DiscardUnknown(m) +func (m *MsgCreateBatchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateBatchResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgRetireResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateBatchResponse proto.InternalMessageInfo -// MsgCancel is the Msg/Cancel request type. -type MsgCancel struct { - // owner is the address of the account that owns the credits being cancelled. - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - // credits specifies a credit batch and the number of credits being cancelled. - Credits []*Credits `protobuf:"bytes,2,rep,name=credits,proto3" json:"credits,omitempty"` - // reason is any arbitrary string that specifies the reason for cancelling - // credits. - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +func (m *MsgCreateBatchResponse) GetBatchDenom() string { + if m != nil { + return m.BatchDenom + } + return "" } -func (m *MsgCancel) Reset() { *m = MsgCancel{} } -func (m *MsgCancel) String() string { return proto.CompactTextString(m) } -func (*MsgCancel) ProtoMessage() {} -func (*MsgCancel) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{16} +// MsgMintBatchCredits is the Msg/MintBatchCredits request type. +type MsgMintBatchCredits struct { + // issuer is the address of the account minting the credits and must be the + // same issuer who created the credit batch. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // batch_denom is the unique identifier of the credit batch. + BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // issuance specifies the amount of tradable and retired credits that will be + // issued to each recipient and the jurisdiction in which the credits will be + // retired if credits are to be retired upon receipt. + Issuance []*BatchIssuance `protobuf:"bytes,3,rep,name=issuance,proto3" json:"issuance,omitempty"` + // origin_tx is the transaction from another chain or registry that triggered + // the minting of credits. + OriginTx *OriginTx `protobuf:"bytes,4,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` } -func (m *MsgCancel) XXX_Unmarshal(b []byte) error { + +func (m *MsgMintBatchCredits) Reset() { *m = MsgMintBatchCredits{} } +func (m *MsgMintBatchCredits) String() string { return proto.CompactTextString(m) } +func (*MsgMintBatchCredits) ProtoMessage() {} +func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{18} +} +func (m *MsgMintBatchCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCancel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgMintBatchCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCancel.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgMintBatchCredits.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1133,55 +1185,62 @@ func (m *MsgCancel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *MsgCancel) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCancel.Merge(m, src) +func (m *MsgMintBatchCredits) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMintBatchCredits.Merge(m, src) } -func (m *MsgCancel) XXX_Size() int { +func (m *MsgMintBatchCredits) XXX_Size() int { return m.Size() } -func (m *MsgCancel) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCancel.DiscardUnknown(m) +func (m *MsgMintBatchCredits) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMintBatchCredits.DiscardUnknown(m) } -var xxx_messageInfo_MsgCancel proto.InternalMessageInfo +var xxx_messageInfo_MsgMintBatchCredits proto.InternalMessageInfo -func (m *MsgCancel) GetOwner() string { +func (m *MsgMintBatchCredits) GetIssuer() string { if m != nil { - return m.Owner + return m.Issuer } return "" } -func (m *MsgCancel) GetCredits() []*Credits { +func (m *MsgMintBatchCredits) GetBatchDenom() string { if m != nil { - return m.Credits + return m.BatchDenom + } + return "" +} + +func (m *MsgMintBatchCredits) GetIssuance() []*BatchIssuance { + if m != nil { + return m.Issuance } return nil } -func (m *MsgCancel) GetReason() string { +func (m *MsgMintBatchCredits) GetOriginTx() *OriginTx { if m != nil { - return m.Reason + return m.OriginTx } - return "" + return nil } -// MsgCancelResponse is the Msg/Cancel response type. -type MsgCancelResponse struct { +// MsgMintBatchCreditsResponse is the Msg/MintBatchCredits response type. +type MsgMintBatchCreditsResponse struct { } -func (m *MsgCancelResponse) Reset() { *m = MsgCancelResponse{} } -func (m *MsgCancelResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCancelResponse) ProtoMessage() {} -func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{17} +func (m *MsgMintBatchCreditsResponse) Reset() { *m = MsgMintBatchCreditsResponse{} } +func (m *MsgMintBatchCreditsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMintBatchCreditsResponse) ProtoMessage() {} +func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{19} } -func (m *MsgCancelResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgMintBatchCreditsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCancelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgMintBatchCreditsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCancelResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgMintBatchCreditsResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1191,42 +1250,39 @@ func (m *MsgCancelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (m *MsgCancelResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCancelResponse.Merge(m, src) +func (m *MsgMintBatchCreditsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMintBatchCreditsResponse.Merge(m, src) } -func (m *MsgCancelResponse) XXX_Size() int { +func (m *MsgMintBatchCreditsResponse) XXX_Size() int { return m.Size() } -func (m *MsgCancelResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCancelResponse.DiscardUnknown(m) +func (m *MsgMintBatchCreditsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMintBatchCreditsResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgCancelResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgMintBatchCreditsResponse proto.InternalMessageInfo -// MsgUpdateClassAdmin is the Msg/UpdateClassAdmin request type. -type MsgUpdateClassAdmin struct { - // admin is the address of the account that is currently the admin of the - // credit class. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // new_admin is the address of the account that will become the new admin of - // the credit class. - NewAdmin string `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3" json:"new_admin,omitempty"` +// MsgSealBatch is the Msg/MintBatchCredits request type. +type MsgSealBatch struct { + // issuer is the address of the account that created the credit batch and the + // only account with permissions to seal the credit batch. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // batch_denom is the unique identifier of the credit batch. + BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` } -func (m *MsgUpdateClassAdmin) Reset() { *m = MsgUpdateClassAdmin{} } -func (m *MsgUpdateClassAdmin) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassAdmin) ProtoMessage() {} -func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{18} +func (m *MsgSealBatch) Reset() { *m = MsgSealBatch{} } +func (m *MsgSealBatch) String() string { return proto.CompactTextString(m) } +func (*MsgSealBatch) ProtoMessage() {} +func (*MsgSealBatch) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{20} } -func (m *MsgUpdateClassAdmin) XXX_Unmarshal(b []byte) error { +func (m *MsgSealBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSealBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassAdmin.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSealBatch.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1236,55 +1292,48 @@ func (m *MsgUpdateClassAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgUpdateClassAdmin) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassAdmin.Merge(m, src) +func (m *MsgSealBatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSealBatch.Merge(m, src) } -func (m *MsgUpdateClassAdmin) XXX_Size() int { +func (m *MsgSealBatch) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassAdmin) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassAdmin.DiscardUnknown(m) +func (m *MsgSealBatch) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSealBatch.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassAdmin proto.InternalMessageInfo - -func (m *MsgUpdateClassAdmin) GetAdmin() string { - if m != nil { - return m.Admin - } - return "" -} +var xxx_messageInfo_MsgSealBatch proto.InternalMessageInfo -func (m *MsgUpdateClassAdmin) GetClassId() string { +func (m *MsgSealBatch) GetIssuer() string { if m != nil { - return m.ClassId + return m.Issuer } return "" } -func (m *MsgUpdateClassAdmin) GetNewAdmin() string { +func (m *MsgSealBatch) GetBatchDenom() string { if m != nil { - return m.NewAdmin + return m.BatchDenom } return "" } -// MsgUpdateClassAdminResponse is the MsgUpdateClassAdmin response type. -type MsgUpdateClassAdminResponse struct { +// MsgSealBatchResponse is the Msg/SealBatch response type. +type MsgSealBatchResponse struct { } -func (m *MsgUpdateClassAdminResponse) Reset() { *m = MsgUpdateClassAdminResponse{} } -func (m *MsgUpdateClassAdminResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassAdminResponse) ProtoMessage() {} -func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{19} +func (m *MsgSealBatchResponse) Reset() { *m = MsgSealBatchResponse{} } +func (m *MsgSealBatchResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSealBatchResponse) ProtoMessage() {} +func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{21} } -func (m *MsgUpdateClassAdminResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSealBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassAdminResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSealBatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassAdminResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSealBatchResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1294,44 +1343,40 @@ func (m *MsgUpdateClassAdminResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgUpdateClassAdminResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassAdminResponse.Merge(m, src) +func (m *MsgSealBatchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSealBatchResponse.Merge(m, src) } -func (m *MsgUpdateClassAdminResponse) XXX_Size() int { +func (m *MsgSealBatchResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassAdminResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassAdminResponse.DiscardUnknown(m) +func (m *MsgSealBatchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSealBatchResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassAdminResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSealBatchResponse proto.InternalMessageInfo -// MsgUpdateClassIssuers is the Msg/UpdateClassIssuers request type. -type MsgUpdateClassIssuers struct { - // admin is the address of the account that is the admin of the credit class. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // add_issuers are the addresses of the accounts that will be added to the - // list of approved credit class issuers. - AddIssuers []string `protobuf:"bytes,3,rep,name=add_issuers,json=addIssuers,proto3" json:"add_issuers,omitempty"` - // remove_issuers are the addresses of the accounts that will be removed from - // the list of approved credit class issuers. - RemoveIssuers []string `protobuf:"bytes,4,rep,name=remove_issuers,json=removeIssuers,proto3" json:"remove_issuers,omitempty"` +// MsgSend is the Msg/Send request type. +type MsgSend struct { + // sender is the address of the account sending credits. + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + // recipient is the address of the account receiving credits. + Recipient string `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + // credits are the credits being sent to the recipient. + Credits []*MsgSend_SendCredits `protobuf:"bytes,3,rep,name=credits,proto3" json:"credits,omitempty"` } -func (m *MsgUpdateClassIssuers) Reset() { *m = MsgUpdateClassIssuers{} } -func (m *MsgUpdateClassIssuers) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassIssuers) ProtoMessage() {} -func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{20} +func (m *MsgSend) Reset() { *m = MsgSend{} } +func (m *MsgSend) String() string { return proto.CompactTextString(m) } +func (*MsgSend) ProtoMessage() {} +func (*MsgSend) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{22} } -func (m *MsgUpdateClassIssuers) XXX_Unmarshal(b []byte) error { +func (m *MsgSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassIssuers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassIssuers.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSend.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1341,62 +1386,81 @@ func (m *MsgUpdateClassIssuers) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *MsgUpdateClassIssuers) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassIssuers.Merge(m, src) +func (m *MsgSend) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSend.Merge(m, src) } -func (m *MsgUpdateClassIssuers) XXX_Size() int { +func (m *MsgSend) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassIssuers) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassIssuers.DiscardUnknown(m) +func (m *MsgSend) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSend.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassIssuers proto.InternalMessageInfo +var xxx_messageInfo_MsgSend proto.InternalMessageInfo -func (m *MsgUpdateClassIssuers) GetAdmin() string { +func (m *MsgSend) GetSender() string { if m != nil { - return m.Admin + return m.Sender } return "" } -func (m *MsgUpdateClassIssuers) GetClassId() string { +func (m *MsgSend) GetRecipient() string { if m != nil { - return m.ClassId + return m.Recipient } return "" } -func (m *MsgUpdateClassIssuers) GetAddIssuers() []string { - if m != nil { - return m.AddIssuers - } - return nil -} - -func (m *MsgUpdateClassIssuers) GetRemoveIssuers() []string { +func (m *MsgSend) GetCredits() []*MsgSend_SendCredits { if m != nil { - return m.RemoveIssuers + return m.Credits } return nil } -// MsgUpdateClassIssuersResponse is the MsgUpdateClassIssuers response type. -type MsgUpdateClassIssuersResponse struct { +// SendCredits specifies the amount of tradable and retired credits of a +// credit batch that will be sent to the recipient and the jurisdiction in +// which the credits will be retired upon receipt. +type MsgSend_SendCredits struct { + // batch_denom is the unique identifier of the credit batch. + BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // tradable_amount is the amount of credits in this transfer that can be + // traded by the recipient. The number of decimal places must be less than + // or equal to the credit type precision. + TradableAmount string `protobuf:"bytes,2,opt,name=tradable_amount,json=tradableAmount,proto3" json:"tradable_amount,omitempty"` + // retired_amount is the amount of credits in this transfer that are retired + // upon receipt. The number of decimal places must be less than or equal to + // the credit type precision. + RetiredAmount string `protobuf:"bytes,3,opt,name=retired_amount,json=retiredAmount,proto3" json:"retired_amount,omitempty"` + // retirement_jurisdiction is the jurisdiction of the recipient and is only + // required if retired_amount is positive. A jurisdiction has the format: + // [-[ ]] + // The country-code and sub-national-code must conform to ISO 3166-2 and the + // postal-code can be up to 64 alphanumeric characters. Only the + // country-code is required, while the sub-national-code and postal-code are + // optional and can be added for increased precision. + RetirementJurisdiction string `protobuf:"bytes,4,opt,name=retirement_jurisdiction,json=retirementJurisdiction,proto3" json:"retirement_jurisdiction,omitempty"` + // retirement_reason is any arbitrary string that specifies the reason for + // retiring credits. This field is only required if retired_amount is + // positive. + // + // Since Revision 2 + RetirementReason string `protobuf:"bytes,5,opt,name=retirement_reason,json=retirementReason,proto3" json:"retirement_reason,omitempty"` } -func (m *MsgUpdateClassIssuersResponse) Reset() { *m = MsgUpdateClassIssuersResponse{} } -func (m *MsgUpdateClassIssuersResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} -func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{21} +func (m *MsgSend_SendCredits) Reset() { *m = MsgSend_SendCredits{} } +func (m *MsgSend_SendCredits) String() string { return proto.CompactTextString(m) } +func (*MsgSend_SendCredits) ProtoMessage() {} +func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{22, 0} } -func (m *MsgUpdateClassIssuersResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSend_SendCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassIssuersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSend_SendCredits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassIssuersResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSend_SendCredits.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1406,100 +1470,69 @@ func (m *MsgUpdateClassIssuersResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgUpdateClassIssuersResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassIssuersResponse.Merge(m, src) +func (m *MsgSend_SendCredits) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSend_SendCredits.Merge(m, src) } -func (m *MsgUpdateClassIssuersResponse) XXX_Size() int { +func (m *MsgSend_SendCredits) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassIssuersResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassIssuersResponse.DiscardUnknown(m) +func (m *MsgSend_SendCredits) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSend_SendCredits.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassIssuersResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSend_SendCredits proto.InternalMessageInfo -// MsgUpdateClassMetadata is the Msg/UpdateClassMetadata request type. -type MsgUpdateClassMetadata struct { - // admin is the address of the account that is the admin of the credit class. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // new_metadata is new metadata that will replace the existing metadata. It - // can be any arbitrary string with a maximum length of 256 characters that - // includes or references the metadata to attach to the credit class. - NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` +func (m *MsgSend_SendCredits) GetBatchDenom() string { + if m != nil { + return m.BatchDenom + } + return "" } -func (m *MsgUpdateClassMetadata) Reset() { *m = MsgUpdateClassMetadata{} } -func (m *MsgUpdateClassMetadata) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassMetadata) ProtoMessage() {} -func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{22} -} -func (m *MsgUpdateClassMetadata) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateClassMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUpdateClassMetadata.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func (m *MsgSend_SendCredits) GetTradableAmount() string { + if m != nil { + return m.TradableAmount } -} -func (m *MsgUpdateClassMetadata) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassMetadata.Merge(m, src) -} -func (m *MsgUpdateClassMetadata) XXX_Size() int { - return m.Size() -} -func (m *MsgUpdateClassMetadata) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassMetadata.DiscardUnknown(m) + return "" } -var xxx_messageInfo_MsgUpdateClassMetadata proto.InternalMessageInfo - -func (m *MsgUpdateClassMetadata) GetAdmin() string { +func (m *MsgSend_SendCredits) GetRetiredAmount() string { if m != nil { - return m.Admin + return m.RetiredAmount } return "" } -func (m *MsgUpdateClassMetadata) GetClassId() string { +func (m *MsgSend_SendCredits) GetRetirementJurisdiction() string { if m != nil { - return m.ClassId + return m.RetirementJurisdiction } return "" } -func (m *MsgUpdateClassMetadata) GetNewMetadata() string { +func (m *MsgSend_SendCredits) GetRetirementReason() string { if m != nil { - return m.NewMetadata + return m.RetirementReason } return "" } -// MsgUpdateClassMetadataResponse is the Msg/UpdateClassMetadata response type. -type MsgUpdateClassMetadataResponse struct { +// MsgSendResponse is the Msg/Send response type. +type MsgSendResponse struct { } -func (m *MsgUpdateClassMetadataResponse) Reset() { *m = MsgUpdateClassMetadataResponse{} } -func (m *MsgUpdateClassMetadataResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} -func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { +func (m *MsgSendResponse) Reset() { *m = MsgSendResponse{} } +func (m *MsgSendResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSendResponse) ProtoMessage() {} +func (*MsgSendResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{23} } -func (m *MsgUpdateClassMetadataResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSendResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassMetadataResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSendResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1509,42 +1542,51 @@ func (m *MsgUpdateClassMetadataResponse) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (m *MsgUpdateClassMetadataResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassMetadataResponse.Merge(m, src) +func (m *MsgSendResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSendResponse.Merge(m, src) } -func (m *MsgUpdateClassMetadataResponse) XXX_Size() int { +func (m *MsgSendResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassMetadataResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassMetadataResponse.DiscardUnknown(m) +func (m *MsgSendResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSendResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassMetadataResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSendResponse proto.InternalMessageInfo -// MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin request type. -type MsgUpdateProjectAdmin struct { - // admin is the address of the account that is the currently the admin of the - // project. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // project_id is the unique identifier of the project. - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // new_admin is the address of the account that will become the new admin of - // the project. - NewAdmin string `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3" json:"new_admin,omitempty"` +// MsgRetire is the Msg/Retire request type. +type MsgRetire struct { + // owner is the address of the account that owns the credits being retired. + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + // credits specifies a credit batch and the number of credits being retired. + Credits []*Credits `protobuf:"bytes,2,rep,name=credits,proto3" json:"credits,omitempty"` + // jurisdiction is the jurisdiction of the credit owner. A jurisdiction has + // the format: [-[ ]] + // The country-code must be 2 alphabetic characters, the sub-national-code + // can be 1-3 alphanumeric characters, and the postal-code can be up to 64 + // alphanumeric characters. Only the country-code is required, while the + // sub-national-code and postal-code are optional and can be added for + // increased precision. + Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` + // reason is any arbitrary string that specifies the reason for retiring + // credits. + // + // Since Revision 2 + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` } -func (m *MsgUpdateProjectAdmin) Reset() { *m = MsgUpdateProjectAdmin{} } -func (m *MsgUpdateProjectAdmin) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectAdmin) ProtoMessage() {} -func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { +func (m *MsgRetire) Reset() { *m = MsgRetire{} } +func (m *MsgRetire) String() string { return proto.CompactTextString(m) } +func (*MsgRetire) ProtoMessage() {} +func (*MsgRetire) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{24} } -func (m *MsgUpdateProjectAdmin) XXX_Unmarshal(b []byte) error { +func (m *MsgRetire) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRetire) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectAdmin.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRetire.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1554,55 +1596,62 @@ func (m *MsgUpdateProjectAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *MsgUpdateProjectAdmin) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectAdmin.Merge(m, src) +func (m *MsgRetire) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRetire.Merge(m, src) } -func (m *MsgUpdateProjectAdmin) XXX_Size() int { +func (m *MsgRetire) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectAdmin) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectAdmin.DiscardUnknown(m) +func (m *MsgRetire) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRetire.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectAdmin proto.InternalMessageInfo +var xxx_messageInfo_MsgRetire proto.InternalMessageInfo -func (m *MsgUpdateProjectAdmin) GetAdmin() string { +func (m *MsgRetire) GetOwner() string { if m != nil { - return m.Admin + return m.Owner } return "" } -func (m *MsgUpdateProjectAdmin) GetProjectId() string { +func (m *MsgRetire) GetCredits() []*Credits { if m != nil { - return m.ProjectId + return m.Credits } - return "" + return nil } -func (m *MsgUpdateProjectAdmin) GetNewAdmin() string { +func (m *MsgRetire) GetJurisdiction() string { if m != nil { - return m.NewAdmin + return m.Jurisdiction } return "" } -// MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin response type. -type MsgUpdateProjectAdminResponse struct { +func (m *MsgRetire) GetReason() string { + if m != nil { + return m.Reason + } + return "" } -func (m *MsgUpdateProjectAdminResponse) Reset() { *m = MsgUpdateProjectAdminResponse{} } -func (m *MsgUpdateProjectAdminResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} -func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{25} +// MsgRetire is the Msg/Retire response type. +type MsgRetireResponse struct { } -func (m *MsgUpdateProjectAdminResponse) XXX_Unmarshal(b []byte) error { + +func (m *MsgRetireResponse) Reset() { *m = MsgRetireResponse{} } +func (m *MsgRetireResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRetireResponse) ProtoMessage() {} +func (*MsgRetireResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{25} +} +func (m *MsgRetireResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectAdminResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRetireResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectAdminResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRetireResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1612,42 +1661,41 @@ func (m *MsgUpdateProjectAdminResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgUpdateProjectAdminResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectAdminResponse.Merge(m, src) +func (m *MsgRetireResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRetireResponse.Merge(m, src) } -func (m *MsgUpdateProjectAdminResponse) XXX_Size() int { +func (m *MsgRetireResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectAdminResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectAdminResponse.DiscardUnknown(m) +func (m *MsgRetireResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRetireResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectAdminResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgRetireResponse proto.InternalMessageInfo -// MsgUpdateProjectMetadata is the Msg/UpdateProjectMetadata request type. -type MsgUpdateProjectMetadata struct { - // admin is the address of the account that is the admin of the project. - Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` - // project_id is the unique identifier of the project. - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // new_metadata is new metadata that will replace the existing metadata. It - // can be any arbitrary string with a maximum length of 256 characters that - // includes or references the metadata to attach to the project. - NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` +// MsgCancel is the Msg/Cancel request type. +type MsgCancel struct { + // owner is the address of the account that owns the credits being cancelled. + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + // credits specifies a credit batch and the number of credits being cancelled. + Credits []*Credits `protobuf:"bytes,2,rep,name=credits,proto3" json:"credits,omitempty"` + // reason is any arbitrary string that specifies the reason for cancelling + // credits. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` } -func (m *MsgUpdateProjectMetadata) Reset() { *m = MsgUpdateProjectMetadata{} } -func (m *MsgUpdateProjectMetadata) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectMetadata) ProtoMessage() {} -func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { +func (m *MsgCancel) Reset() { *m = MsgCancel{} } +func (m *MsgCancel) String() string { return proto.CompactTextString(m) } +func (*MsgCancel) ProtoMessage() {} +func (*MsgCancel) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{26} } -func (m *MsgUpdateProjectMetadata) XXX_Unmarshal(b []byte) error { +func (m *MsgCancel) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCancel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectMetadata.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCancel.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1657,56 +1705,55 @@ func (m *MsgUpdateProjectMetadata) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgUpdateProjectMetadata) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectMetadata.Merge(m, src) +func (m *MsgCancel) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCancel.Merge(m, src) } -func (m *MsgUpdateProjectMetadata) XXX_Size() int { +func (m *MsgCancel) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectMetadata) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectMetadata.DiscardUnknown(m) +func (m *MsgCancel) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCancel.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectMetadata proto.InternalMessageInfo +var xxx_messageInfo_MsgCancel proto.InternalMessageInfo -func (m *MsgUpdateProjectMetadata) GetAdmin() string { +func (m *MsgCancel) GetOwner() string { if m != nil { - return m.Admin + return m.Owner } return "" } -func (m *MsgUpdateProjectMetadata) GetProjectId() string { +func (m *MsgCancel) GetCredits() []*Credits { if m != nil { - return m.ProjectId + return m.Credits } - return "" + return nil } -func (m *MsgUpdateProjectMetadata) GetNewMetadata() string { +func (m *MsgCancel) GetReason() string { if m != nil { - return m.NewMetadata + return m.Reason } return "" } -// MsgUpdateProjectMetadataResponse is the Msg/UpdateProjectMetadataResponse -// response type. -type MsgUpdateProjectMetadataResponse struct { +// MsgCancelResponse is the Msg/Cancel response type. +type MsgCancelResponse struct { } -func (m *MsgUpdateProjectMetadataResponse) Reset() { *m = MsgUpdateProjectMetadataResponse{} } -func (m *MsgUpdateProjectMetadataResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} -func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { +func (m *MsgCancelResponse) Reset() { *m = MsgCancelResponse{} } +func (m *MsgCancelResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCancelResponse) ProtoMessage() {} +func (*MsgCancelResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{27} } -func (m *MsgUpdateProjectMetadataResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgCancelResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCancelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectMetadataResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCancelResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1716,42 +1763,42 @@ func (m *MsgUpdateProjectMetadataResponse) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (m *MsgUpdateProjectMetadataResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectMetadataResponse.Merge(m, src) +func (m *MsgCancelResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCancelResponse.Merge(m, src) } -func (m *MsgUpdateProjectMetadataResponse) XXX_Size() int { +func (m *MsgCancelResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectMetadataResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectMetadataResponse.DiscardUnknown(m) +func (m *MsgCancelResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCancelResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectMetadataResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCancelResponse proto.InternalMessageInfo -// MsgBridge is the Msg/Bridge request type. -type MsgBridge struct { - // owner is the address of the account that owns the credits being bridged. - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - // target is the name of the target chain or registry. - Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` - // recipient is the address of the account receiving the bridged credits. - Recipient string `protobuf:"bytes,3,opt,name=recipient,proto3" json:"recipient,omitempty"` - // credits specifies a credit batch and the number of credits being bridged. - Credits []*Credits `protobuf:"bytes,4,rep,name=credits,proto3" json:"credits,omitempty"` +// MsgUpdateClassAdmin is the Msg/UpdateClassAdmin request type. +type MsgUpdateClassAdmin struct { + // admin is the address of the account that is currently the admin of the + // credit class. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // class_id is the unique identifier of the credit class. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // new_admin is the address of the account that will become the new admin of + // the credit class. + NewAdmin string `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3" json:"new_admin,omitempty"` } -func (m *MsgBridge) Reset() { *m = MsgBridge{} } -func (m *MsgBridge) String() string { return proto.CompactTextString(m) } -func (*MsgBridge) ProtoMessage() {} -func (*MsgBridge) Descriptor() ([]byte, []int) { +func (m *MsgUpdateClassAdmin) Reset() { *m = MsgUpdateClassAdmin{} } +func (m *MsgUpdateClassAdmin) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassAdmin) ProtoMessage() {} +func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{28} } -func (m *MsgBridge) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridge.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassAdmin.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1761,72 +1808,55 @@ func (m *MsgBridge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *MsgBridge) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridge.Merge(m, src) +func (m *MsgUpdateClassAdmin) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassAdmin.Merge(m, src) } -func (m *MsgBridge) XXX_Size() int { +func (m *MsgUpdateClassAdmin) XXX_Size() int { return m.Size() } -func (m *MsgBridge) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridge.DiscardUnknown(m) +func (m *MsgUpdateClassAdmin) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassAdmin.DiscardUnknown(m) } -var xxx_messageInfo_MsgBridge proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassAdmin proto.InternalMessageInfo -func (m *MsgBridge) GetOwner() string { +func (m *MsgUpdateClassAdmin) GetAdmin() string { if m != nil { - return m.Owner + return m.Admin } return "" } -func (m *MsgBridge) GetTarget() string { +func (m *MsgUpdateClassAdmin) GetClassId() string { if m != nil { - return m.Target + return m.ClassId } return "" } -func (m *MsgBridge) GetRecipient() string { +func (m *MsgUpdateClassAdmin) GetNewAdmin() string { if m != nil { - return m.Recipient + return m.NewAdmin } return "" } -func (m *MsgBridge) GetCredits() []*Credits { - if m != nil { - return m.Credits - } - return nil -} - -// MsgUpdateBatchMetadata is the Msg/UpdateBatchMetadata request type. -// -// Since Revision 2 -type MsgUpdateBatchMetadata struct { - // issuer is the address of the account that is the issuer of the batch. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // batch_denom is the unique identifier of the batch. - BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` - // new_metadata is new metadata that will replace the existing metadata. It - // can be any arbitrary string with a maximum length of 256 characters that - // includes or references the metadata to attach to the batch. - NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` +// MsgUpdateClassAdminResponse is the MsgUpdateClassAdmin response type. +type MsgUpdateClassAdminResponse struct { } -func (m *MsgUpdateBatchMetadata) Reset() { *m = MsgUpdateBatchMetadata{} } -func (m *MsgUpdateBatchMetadata) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateBatchMetadata) ProtoMessage() {} -func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { +func (m *MsgUpdateClassAdminResponse) Reset() { *m = MsgUpdateClassAdminResponse{} } +func (m *MsgUpdateClassAdminResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassAdminResponse) ProtoMessage() {} +func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{29} } -func (m *MsgUpdateBatchMetadata) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassAdminResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateBatchMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassAdminResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateBatchMetadata.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassAdminResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1836,58 +1866,44 @@ func (m *MsgUpdateBatchMetadata) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgUpdateBatchMetadata) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateBatchMetadata.Merge(m, src) +func (m *MsgUpdateClassAdminResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassAdminResponse.Merge(m, src) } -func (m *MsgUpdateBatchMetadata) XXX_Size() int { +func (m *MsgUpdateClassAdminResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateBatchMetadata) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateBatchMetadata.DiscardUnknown(m) +func (m *MsgUpdateClassAdminResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassAdminResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateBatchMetadata proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassAdminResponse proto.InternalMessageInfo -func (m *MsgUpdateBatchMetadata) GetIssuer() string { - if m != nil { - return m.Issuer - } - return "" +// MsgUpdateClassIssuers is the Msg/UpdateClassIssuers request type. +type MsgUpdateClassIssuers struct { + // admin is the address of the account that is the admin of the credit class. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // class_id is the unique identifier of the credit class. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // add_issuers are the addresses of the accounts that will be added to the + // list of approved credit class issuers. + AddIssuers []string `protobuf:"bytes,3,rep,name=add_issuers,json=addIssuers,proto3" json:"add_issuers,omitempty"` + // remove_issuers are the addresses of the accounts that will be removed from + // the list of approved credit class issuers. + RemoveIssuers []string `protobuf:"bytes,4,rep,name=remove_issuers,json=removeIssuers,proto3" json:"remove_issuers,omitempty"` } -func (m *MsgUpdateBatchMetadata) GetBatchDenom() string { - if m != nil { - return m.BatchDenom - } - return "" +func (m *MsgUpdateClassIssuers) Reset() { *m = MsgUpdateClassIssuers{} } +func (m *MsgUpdateClassIssuers) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassIssuers) ProtoMessage() {} +func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{30} } - -func (m *MsgUpdateBatchMetadata) GetNewMetadata() string { - if m != nil { - return m.NewMetadata - } - return "" +func (m *MsgUpdateClassIssuers) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -// MsgUpdateBatchMetadataResponse is the Msg/UpdateBatchMetadataResponse -// response type. -// -// Since Revision 2 -type MsgUpdateBatchMetadataResponse struct { -} - -func (m *MsgUpdateBatchMetadataResponse) Reset() { *m = MsgUpdateBatchMetadataResponse{} } -func (m *MsgUpdateBatchMetadataResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} -func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{30} -} -func (m *MsgUpdateBatchMetadataResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateBatchMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassIssuers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateBatchMetadataResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassIssuers.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1897,34 +1913,62 @@ func (m *MsgUpdateBatchMetadataResponse) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (m *MsgUpdateBatchMetadataResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateBatchMetadataResponse.Merge(m, src) +func (m *MsgUpdateClassIssuers) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassIssuers.Merge(m, src) } -func (m *MsgUpdateBatchMetadataResponse) XXX_Size() int { +func (m *MsgUpdateClassIssuers) XXX_Size() int { return m.Size() } -func (m *MsgUpdateBatchMetadataResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateBatchMetadataResponse.DiscardUnknown(m) +func (m *MsgUpdateClassIssuers) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassIssuers.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateBatchMetadataResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassIssuers proto.InternalMessageInfo -// MsgBridgeResponse is the Msg/Bridge response type. -type MsgBridgeResponse struct { +func (m *MsgUpdateClassIssuers) GetAdmin() string { + if m != nil { + return m.Admin + } + return "" } -func (m *MsgBridgeResponse) Reset() { *m = MsgBridgeResponse{} } -func (m *MsgBridgeResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBridgeResponse) ProtoMessage() {} -func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { +func (m *MsgUpdateClassIssuers) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +func (m *MsgUpdateClassIssuers) GetAddIssuers() []string { + if m != nil { + return m.AddIssuers + } + return nil +} + +func (m *MsgUpdateClassIssuers) GetRemoveIssuers() []string { + if m != nil { + return m.RemoveIssuers + } + return nil +} + +// MsgUpdateClassIssuersResponse is the MsgUpdateClassIssuers response type. +type MsgUpdateClassIssuersResponse struct { +} + +func (m *MsgUpdateClassIssuersResponse) Reset() { *m = MsgUpdateClassIssuersResponse{} } +func (m *MsgUpdateClassIssuersResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} +func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{31} } -func (m *MsgBridgeResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassIssuersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridgeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassIssuersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridgeResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassIssuersResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1934,46 +1978,42 @@ func (m *MsgBridgeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (m *MsgBridgeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridgeResponse.Merge(m, src) +func (m *MsgUpdateClassIssuersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassIssuersResponse.Merge(m, src) } -func (m *MsgBridgeResponse) XXX_Size() int { +func (m *MsgUpdateClassIssuersResponse) XXX_Size() int { return m.Size() } -func (m *MsgBridgeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridgeResponse.DiscardUnknown(m) +func (m *MsgUpdateClassIssuersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassIssuersResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgBridgeResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassIssuersResponse proto.InternalMessageInfo -// MsgBridgeReceive is the Msg/BridgeReceive request type. -type MsgBridgeReceive struct { - // issuer is the account address of the service bridging the credits. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // class_id is the unique identifier of the credit class within which the - // project and credit batch already exist or will be created. +// MsgUpdateClassMetadata is the Msg/UpdateClassMetadata request type. +type MsgUpdateClassMetadata struct { + // admin is the address of the account that is the admin of the credit class. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // class_id is the unique identifier of the credit class. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // project defines the project information for the bridged credits. - Project *MsgBridgeReceive_Project `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` - // batch defines the credit batch information for the bridged credits. - Batch *MsgBridgeReceive_Batch `protobuf:"bytes,4,opt,name=batch,proto3" json:"batch,omitempty"` - // origin_tx is a reference to a transaction which caused the transfer from - // another chain or registry. - OriginTx *OriginTx `protobuf:"bytes,5,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` + // new_metadata is new metadata that will replace the existing metadata. It + // can be any arbitrary string with a maximum length of 256 characters that + // includes or references the metadata to attach to the credit class. + NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` } -func (m *MsgBridgeReceive) Reset() { *m = MsgBridgeReceive{} } -func (m *MsgBridgeReceive) String() string { return proto.CompactTextString(m) } -func (*MsgBridgeReceive) ProtoMessage() {} -func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { +func (m *MsgUpdateClassMetadata) Reset() { *m = MsgUpdateClassMetadata{} } +func (m *MsgUpdateClassMetadata) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassMetadata) ProtoMessage() {} +func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{32} } -func (m *MsgBridgeReceive) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridgeReceive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridgeReceive.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassMetadata.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1983,83 +2023,100 @@ func (m *MsgBridgeReceive) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (m *MsgBridgeReceive) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridgeReceive.Merge(m, src) +func (m *MsgUpdateClassMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassMetadata.Merge(m, src) } -func (m *MsgBridgeReceive) XXX_Size() int { +func (m *MsgUpdateClassMetadata) XXX_Size() int { return m.Size() } -func (m *MsgBridgeReceive) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridgeReceive.DiscardUnknown(m) +func (m *MsgUpdateClassMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassMetadata.DiscardUnknown(m) } -var xxx_messageInfo_MsgBridgeReceive proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassMetadata proto.InternalMessageInfo -func (m *MsgBridgeReceive) GetIssuer() string { +func (m *MsgUpdateClassMetadata) GetAdmin() string { if m != nil { - return m.Issuer + return m.Admin } return "" } -func (m *MsgBridgeReceive) GetClassId() string { +func (m *MsgUpdateClassMetadata) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *MsgBridgeReceive) GetProject() *MsgBridgeReceive_Project { +func (m *MsgUpdateClassMetadata) GetNewMetadata() string { if m != nil { - return m.Project + return m.NewMetadata } - return nil + return "" } -func (m *MsgBridgeReceive) GetBatch() *MsgBridgeReceive_Batch { - if m != nil { - return m.Batch - } - return nil +// MsgUpdateClassMetadataResponse is the Msg/UpdateClassMetadata response type. +type MsgUpdateClassMetadataResponse struct { } -func (m *MsgBridgeReceive) GetOriginTx() *OriginTx { - if m != nil { - return m.OriginTx +func (m *MsgUpdateClassMetadataResponse) Reset() { *m = MsgUpdateClassMetadataResponse{} } +func (m *MsgUpdateClassMetadataResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} +func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{33} +} +func (m *MsgUpdateClassMetadataResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateClassMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateClassMetadataResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return nil +} +func (m *MsgUpdateClassMetadataResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassMetadataResponse.Merge(m, src) +} +func (m *MsgUpdateClassMetadataResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateClassMetadataResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassMetadataResponse.DiscardUnknown(m) } -// Batch defines the credit batch information for the bridged credits. This -// information will be used to create a credit batch or to dynamically mint -// credits to an existing credit batch. -type MsgBridgeReceive_Batch struct { - // recipient is the recipient of the bridged credits. - Recipient string `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` - // amount is the amount of credits being bridged. - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` - // start_date is the beginning of the period during which this credit batch - // was quantified and verified. - StartDate *time.Time `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3,stdtime" json:"start_date,omitempty"` - // end_date is the end of the period during which this credit batch was - // quantified and verified. - EndDate *time.Time `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3,stdtime" json:"end_date,omitempty"` - // metadata is the metadata for the credit batch. - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` +var xxx_messageInfo_MsgUpdateClassMetadataResponse proto.InternalMessageInfo + +// MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin request type. +type MsgUpdateProjectAdmin struct { + // admin is the address of the account that is the currently the admin of the + // project. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // project_id is the unique identifier of the project. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // new_admin is the address of the account that will become the new admin of + // the project. + NewAdmin string `protobuf:"bytes,3,opt,name=new_admin,json=newAdmin,proto3" json:"new_admin,omitempty"` } -func (m *MsgBridgeReceive_Batch) Reset() { *m = MsgBridgeReceive_Batch{} } -func (m *MsgBridgeReceive_Batch) String() string { return proto.CompactTextString(m) } -func (*MsgBridgeReceive_Batch) ProtoMessage() {} -func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{32, 0} +func (m *MsgUpdateProjectAdmin) Reset() { *m = MsgUpdateProjectAdmin{} } +func (m *MsgUpdateProjectAdmin) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectAdmin) ProtoMessage() {} +func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{34} } -func (m *MsgBridgeReceive_Batch) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridgeReceive_Batch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectAdmin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridgeReceive_Batch.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectAdmin.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2069,77 +2126,100 @@ func (m *MsgBridgeReceive_Batch) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgBridgeReceive_Batch) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridgeReceive_Batch.Merge(m, src) +func (m *MsgUpdateProjectAdmin) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectAdmin.Merge(m, src) } -func (m *MsgBridgeReceive_Batch) XXX_Size() int { +func (m *MsgUpdateProjectAdmin) XXX_Size() int { return m.Size() } -func (m *MsgBridgeReceive_Batch) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridgeReceive_Batch.DiscardUnknown(m) +func (m *MsgUpdateProjectAdmin) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectAdmin.DiscardUnknown(m) } -var xxx_messageInfo_MsgBridgeReceive_Batch proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectAdmin proto.InternalMessageInfo -func (m *MsgBridgeReceive_Batch) GetRecipient() string { +func (m *MsgUpdateProjectAdmin) GetAdmin() string { if m != nil { - return m.Recipient + return m.Admin } return "" } -func (m *MsgBridgeReceive_Batch) GetAmount() string { +func (m *MsgUpdateProjectAdmin) GetProjectId() string { if m != nil { - return m.Amount + return m.ProjectId } return "" } -func (m *MsgBridgeReceive_Batch) GetStartDate() *time.Time { +func (m *MsgUpdateProjectAdmin) GetNewAdmin() string { if m != nil { - return m.StartDate + return m.NewAdmin } - return nil + return "" } -func (m *MsgBridgeReceive_Batch) GetEndDate() *time.Time { - if m != nil { - return m.EndDate - } - return nil +// MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin response type. +type MsgUpdateProjectAdminResponse struct { } -func (m *MsgBridgeReceive_Batch) GetMetadata() string { - if m != nil { - return m.Metadata +func (m *MsgUpdateProjectAdminResponse) Reset() { *m = MsgUpdateProjectAdminResponse{} } +func (m *MsgUpdateProjectAdminResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} +func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{35} +} +func (m *MsgUpdateProjectAdminResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateProjectAdminResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateProjectAdminResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return "" +} +func (m *MsgUpdateProjectAdminResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectAdminResponse.Merge(m, src) +} +func (m *MsgUpdateProjectAdminResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateProjectAdminResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectAdminResponse.DiscardUnknown(m) } -// Project defines the project information for the bridged credits. This -// information will be used to find an existing project or to create a new -// project if a project with the same reference id does not already exist. -type MsgBridgeReceive_Project struct { - // reference_id is the reference id of the project. - ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` - // jurisdiction is the project jurisdiction. - Jurisdiction string `protobuf:"bytes,2,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` - // metadata is the metadata for the project. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` +var xxx_messageInfo_MsgUpdateProjectAdminResponse proto.InternalMessageInfo + +// MsgUpdateProjectMetadata is the Msg/UpdateProjectMetadata request type. +type MsgUpdateProjectMetadata struct { + // admin is the address of the account that is the admin of the project. + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` + // project_id is the unique identifier of the project. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // new_metadata is new metadata that will replace the existing metadata. It + // can be any arbitrary string with a maximum length of 256 characters that + // includes or references the metadata to attach to the project. + NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` } -func (m *MsgBridgeReceive_Project) Reset() { *m = MsgBridgeReceive_Project{} } -func (m *MsgBridgeReceive_Project) String() string { return proto.CompactTextString(m) } -func (*MsgBridgeReceive_Project) ProtoMessage() {} -func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{32, 1} +func (m *MsgUpdateProjectMetadata) Reset() { *m = MsgUpdateProjectMetadata{} } +func (m *MsgUpdateProjectMetadata) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectMetadata) ProtoMessage() {} +func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{36} } -func (m *MsgBridgeReceive_Project) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridgeReceive_Project) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridgeReceive_Project.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectMetadata.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2149,61 +2229,56 @@ func (m *MsgBridgeReceive_Project) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgBridgeReceive_Project) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridgeReceive_Project.Merge(m, src) +func (m *MsgUpdateProjectMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectMetadata.Merge(m, src) } -func (m *MsgBridgeReceive_Project) XXX_Size() int { +func (m *MsgUpdateProjectMetadata) XXX_Size() int { return m.Size() } -func (m *MsgBridgeReceive_Project) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridgeReceive_Project.DiscardUnknown(m) +func (m *MsgUpdateProjectMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectMetadata.DiscardUnknown(m) } -var xxx_messageInfo_MsgBridgeReceive_Project proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectMetadata proto.InternalMessageInfo -func (m *MsgBridgeReceive_Project) GetReferenceId() string { +func (m *MsgUpdateProjectMetadata) GetAdmin() string { if m != nil { - return m.ReferenceId + return m.Admin } return "" } -func (m *MsgBridgeReceive_Project) GetJurisdiction() string { +func (m *MsgUpdateProjectMetadata) GetProjectId() string { if m != nil { - return m.Jurisdiction + return m.ProjectId } return "" } -func (m *MsgBridgeReceive_Project) GetMetadata() string { +func (m *MsgUpdateProjectMetadata) GetNewMetadata() string { if m != nil { - return m.Metadata + return m.NewMetadata } return "" } -// MsgBridgeReceiveResponse is the Msg/BridgeReceive response type. -type MsgBridgeReceiveResponse struct { - // batch_denom is the unique identifier of the credit batch either created - // or within which the credits were dynamically minted. - BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` - // project_id is the unique identifier of the project that was either created - // or the existing project within which the credit batch exists. - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` +// MsgUpdateProjectMetadataResponse is the Msg/UpdateProjectMetadataResponse +// response type. +type MsgUpdateProjectMetadataResponse struct { } -func (m *MsgBridgeReceiveResponse) Reset() { *m = MsgBridgeReceiveResponse{} } -func (m *MsgBridgeReceiveResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBridgeReceiveResponse) ProtoMessage() {} -func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{33} +func (m *MsgUpdateProjectMetadataResponse) Reset() { *m = MsgUpdateProjectMetadataResponse{} } +func (m *MsgUpdateProjectMetadataResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} +func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{37} } -func (m *MsgBridgeReceiveResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBridgeReceiveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBridgeReceiveResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectMetadataResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2213,54 +2288,42 @@ func (m *MsgBridgeReceiveResponse) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgBridgeReceiveResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBridgeReceiveResponse.Merge(m, src) +func (m *MsgUpdateProjectMetadataResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectMetadataResponse.Merge(m, src) } -func (m *MsgBridgeReceiveResponse) XXX_Size() int { +func (m *MsgUpdateProjectMetadataResponse) XXX_Size() int { return m.Size() } -func (m *MsgBridgeReceiveResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBridgeReceiveResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgBridgeReceiveResponse proto.InternalMessageInfo - -func (m *MsgBridgeReceiveResponse) GetBatchDenom() string { - if m != nil { - return m.BatchDenom - } - return "" +func (m *MsgUpdateProjectMetadataResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectMetadataResponse.DiscardUnknown(m) } -func (m *MsgBridgeReceiveResponse) GetProjectId() string { - if m != nil { - return m.ProjectId - } - return "" -} +var xxx_messageInfo_MsgUpdateProjectMetadataResponse proto.InternalMessageInfo -// MsgAddClassCreator is the Msg/AddClassCreator request type. -// -// Since Revision 2 -type MsgAddClassCreator struct { - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // creator is the address to add to the class creator list. - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` +// MsgBridge is the Msg/Bridge request type. +type MsgBridge struct { + // owner is the address of the account that owns the credits being bridged. + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + // target is the name of the target chain or registry. + Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + // recipient is the address of the account receiving the bridged credits. + Recipient string `protobuf:"bytes,3,opt,name=recipient,proto3" json:"recipient,omitempty"` + // credits specifies a credit batch and the number of credits being bridged. + Credits []*Credits `protobuf:"bytes,4,rep,name=credits,proto3" json:"credits,omitempty"` } -func (m *MsgAddClassCreator) Reset() { *m = MsgAddClassCreator{} } -func (m *MsgAddClassCreator) String() string { return proto.CompactTextString(m) } -func (*MsgAddClassCreator) ProtoMessage() {} -func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{34} +func (m *MsgBridge) Reset() { *m = MsgBridge{} } +func (m *MsgBridge) String() string { return proto.CompactTextString(m) } +func (*MsgBridge) ProtoMessage() {} +func (*MsgBridge) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{38} } -func (m *MsgAddClassCreator) XXX_Unmarshal(b []byte) error { +func (m *MsgBridge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddClassCreator.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridge.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2270,50 +2333,72 @@ func (m *MsgAddClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgAddClassCreator) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddClassCreator.Merge(m, src) +func (m *MsgBridge) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridge.Merge(m, src) } -func (m *MsgAddClassCreator) XXX_Size() int { +func (m *MsgBridge) XXX_Size() int { return m.Size() } -func (m *MsgAddClassCreator) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddClassCreator.DiscardUnknown(m) +func (m *MsgBridge) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridge.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddClassCreator proto.InternalMessageInfo +var xxx_messageInfo_MsgBridge proto.InternalMessageInfo -func (m *MsgAddClassCreator) GetAuthority() string { +func (m *MsgBridge) GetOwner() string { if m != nil { - return m.Authority + return m.Owner } return "" } -func (m *MsgAddClassCreator) GetCreator() string { +func (m *MsgBridge) GetTarget() string { if m != nil { - return m.Creator + return m.Target } return "" } -// MsgAddClassCreatorResponse is the Msg/AddClassCreator response type. +func (m *MsgBridge) GetRecipient() string { + if m != nil { + return m.Recipient + } + return "" +} + +func (m *MsgBridge) GetCredits() []*Credits { + if m != nil { + return m.Credits + } + return nil +} + +// MsgUpdateBatchMetadata is the Msg/UpdateBatchMetadata request type. // // Since Revision 2 -type MsgAddClassCreatorResponse struct { +type MsgUpdateBatchMetadata struct { + // issuer is the address of the account that is the issuer of the batch. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // batch_denom is the unique identifier of the batch. + BatchDenom string `protobuf:"bytes,2,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // new_metadata is new metadata that will replace the existing metadata. It + // can be any arbitrary string with a maximum length of 256 characters that + // includes or references the metadata to attach to the batch. + NewMetadata string `protobuf:"bytes,3,opt,name=new_metadata,json=newMetadata,proto3" json:"new_metadata,omitempty"` } -func (m *MsgAddClassCreatorResponse) Reset() { *m = MsgAddClassCreatorResponse{} } -func (m *MsgAddClassCreatorResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddClassCreatorResponse) ProtoMessage() {} -func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{35} +func (m *MsgUpdateBatchMetadata) Reset() { *m = MsgUpdateBatchMetadata{} } +func (m *MsgUpdateBatchMetadata) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateBatchMetadata) ProtoMessage() {} +func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{39} } -func (m *MsgAddClassCreatorResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateBatchMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateBatchMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddClassCreatorResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateBatchMetadata.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2323,41 +2408,58 @@ func (m *MsgAddClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool) ( return b[:n], nil } } -func (m *MsgAddClassCreatorResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddClassCreatorResponse.Merge(m, src) +func (m *MsgUpdateBatchMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateBatchMetadata.Merge(m, src) } -func (m *MsgAddClassCreatorResponse) XXX_Size() int { +func (m *MsgUpdateBatchMetadata) XXX_Size() int { return m.Size() } -func (m *MsgAddClassCreatorResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddClassCreatorResponse.DiscardUnknown(m) +func (m *MsgUpdateBatchMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateBatchMetadata.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddClassCreatorResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateBatchMetadata proto.InternalMessageInfo -// MsgSetClassCreatorAllowlist is the Msg/SetClassCreatorAllowlist request -// type. +func (m *MsgUpdateBatchMetadata) GetIssuer() string { + if m != nil { + return m.Issuer + } + return "" +} + +func (m *MsgUpdateBatchMetadata) GetBatchDenom() string { + if m != nil { + return m.BatchDenom + } + return "" +} + +func (m *MsgUpdateBatchMetadata) GetNewMetadata() string { + if m != nil { + return m.NewMetadata + } + return "" +} + +// MsgUpdateBatchMetadataResponse is the Msg/UpdateBatchMetadataResponse +// response type. // // Since Revision 2 -type MsgSetClassCreatorAllowlist struct { - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // enabled defines the boolean value to set the allowlist on or off. - Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` +type MsgUpdateBatchMetadataResponse struct { } -func (m *MsgSetClassCreatorAllowlist) Reset() { *m = MsgSetClassCreatorAllowlist{} } -func (m *MsgSetClassCreatorAllowlist) String() string { return proto.CompactTextString(m) } -func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} -func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{36} +func (m *MsgUpdateBatchMetadataResponse) Reset() { *m = MsgUpdateBatchMetadataResponse{} } +func (m *MsgUpdateBatchMetadataResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} +func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{40} } -func (m *MsgSetClassCreatorAllowlist) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateBatchMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetClassCreatorAllowlist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateBatchMetadataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetClassCreatorAllowlist.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateBatchMetadataResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2367,51 +2469,34 @@ func (m *MsgSetClassCreatorAllowlist) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgSetClassCreatorAllowlist) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetClassCreatorAllowlist.Merge(m, src) +func (m *MsgUpdateBatchMetadataResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateBatchMetadataResponse.Merge(m, src) } -func (m *MsgSetClassCreatorAllowlist) XXX_Size() int { +func (m *MsgUpdateBatchMetadataResponse) XXX_Size() int { return m.Size() } -func (m *MsgSetClassCreatorAllowlist) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetClassCreatorAllowlist.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetClassCreatorAllowlist proto.InternalMessageInfo - -func (m *MsgSetClassCreatorAllowlist) GetAuthority() string { - if m != nil { - return m.Authority - } - return "" +func (m *MsgUpdateBatchMetadataResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateBatchMetadataResponse.DiscardUnknown(m) } -func (m *MsgSetClassCreatorAllowlist) GetEnabled() bool { - if m != nil { - return m.Enabled - } - return false -} +var xxx_messageInfo_MsgUpdateBatchMetadataResponse proto.InternalMessageInfo -// MsgSetClassCreatorAllowlistResponse is the Msg/SetClassCreatorAllowlist -// response type. -// -// Since Revision 2 -type MsgSetClassCreatorAllowlistResponse struct { +// MsgBridgeResponse is the Msg/Bridge response type. +type MsgBridgeResponse struct { } -func (m *MsgSetClassCreatorAllowlistResponse) Reset() { *m = MsgSetClassCreatorAllowlistResponse{} } -func (m *MsgSetClassCreatorAllowlistResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} -func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{37} +func (m *MsgBridgeResponse) Reset() { *m = MsgBridgeResponse{} } +func (m *MsgBridgeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBridgeResponse) ProtoMessage() {} +func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{41} } -func (m *MsgSetClassCreatorAllowlistResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgBridgeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetClassCreatorAllowlistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridgeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridgeResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2421,40 +2506,46 @@ func (m *MsgSetClassCreatorAllowlistResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgSetClassCreatorAllowlistResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.Merge(m, src) +func (m *MsgBridgeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridgeResponse.Merge(m, src) } -func (m *MsgSetClassCreatorAllowlistResponse) XXX_Size() int { +func (m *MsgBridgeResponse) XXX_Size() int { return m.Size() } -func (m *MsgSetClassCreatorAllowlistResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.DiscardUnknown(m) +func (m *MsgBridgeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridgeResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSetClassCreatorAllowlistResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgBridgeResponse proto.InternalMessageInfo -// MsgRemoveClassCreator is the Msg/RemoveClassCreator request type. -// -// Since Revision 2 -type MsgRemoveClassCreator struct { - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // creator is the address to remove from the class creator list. - Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` +// MsgBridgeReceive is the Msg/BridgeReceive request type. +type MsgBridgeReceive struct { + // issuer is the account address of the service bridging the credits. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // class_id is the unique identifier of the credit class within which the + // project and credit batch already exist or will be created. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // project defines the project information for the bridged credits. + Project *MsgBridgeReceive_Project `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"` + // batch defines the credit batch information for the bridged credits. + Batch *MsgBridgeReceive_Batch `protobuf:"bytes,4,opt,name=batch,proto3" json:"batch,omitempty"` + // origin_tx is a reference to a transaction which caused the transfer from + // another chain or registry. + OriginTx *OriginTx `protobuf:"bytes,5,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` } -func (m *MsgRemoveClassCreator) Reset() { *m = MsgRemoveClassCreator{} } -func (m *MsgRemoveClassCreator) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveClassCreator) ProtoMessage() {} -func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{38} +func (m *MsgBridgeReceive) Reset() { *m = MsgBridgeReceive{} } +func (m *MsgBridgeReceive) String() string { return proto.CompactTextString(m) } +func (*MsgBridgeReceive) ProtoMessage() {} +func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{42} } -func (m *MsgRemoveClassCreator) XXX_Unmarshal(b []byte) error { +func (m *MsgBridgeReceive) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridgeReceive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveClassCreator.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridgeReceive.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2464,50 +2555,83 @@ func (m *MsgRemoveClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *MsgRemoveClassCreator) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveClassCreator.Merge(m, src) +func (m *MsgBridgeReceive) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridgeReceive.Merge(m, src) } -func (m *MsgRemoveClassCreator) XXX_Size() int { +func (m *MsgBridgeReceive) XXX_Size() int { return m.Size() } -func (m *MsgRemoveClassCreator) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveClassCreator.DiscardUnknown(m) +func (m *MsgBridgeReceive) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridgeReceive.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveClassCreator proto.InternalMessageInfo +var xxx_messageInfo_MsgBridgeReceive proto.InternalMessageInfo -func (m *MsgRemoveClassCreator) GetAuthority() string { +func (m *MsgBridgeReceive) GetIssuer() string { if m != nil { - return m.Authority + return m.Issuer } return "" } -func (m *MsgRemoveClassCreator) GetCreator() string { +func (m *MsgBridgeReceive) GetClassId() string { if m != nil { - return m.Creator + return m.ClassId } return "" } -// MsgRemoveClassCreatorResponse is the Msg/RemoveClasssCreator response type. -// -// Since Revision 2 -type MsgRemoveClassCreatorResponse struct { +func (m *MsgBridgeReceive) GetProject() *MsgBridgeReceive_Project { + if m != nil { + return m.Project + } + return nil } -func (m *MsgRemoveClassCreatorResponse) Reset() { *m = MsgRemoveClassCreatorResponse{} } -func (m *MsgRemoveClassCreatorResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} -func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{39} +func (m *MsgBridgeReceive) GetBatch() *MsgBridgeReceive_Batch { + if m != nil { + return m.Batch + } + return nil } -func (m *MsgRemoveClassCreatorResponse) XXX_Unmarshal(b []byte) error { + +func (m *MsgBridgeReceive) GetOriginTx() *OriginTx { + if m != nil { + return m.OriginTx + } + return nil +} + +// Batch defines the credit batch information for the bridged credits. This +// information will be used to create a credit batch or to dynamically mint +// credits to an existing credit batch. +type MsgBridgeReceive_Batch struct { + // recipient is the recipient of the bridged credits. + Recipient string `protobuf:"bytes,1,opt,name=recipient,proto3" json:"recipient,omitempty"` + // amount is the amount of credits being bridged. + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + // start_date is the beginning of the period during which this credit batch + // was quantified and verified. + StartDate *time.Time `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3,stdtime" json:"start_date,omitempty"` + // end_date is the end of the period during which this credit batch was + // quantified and verified. + EndDate *time.Time `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3,stdtime" json:"end_date,omitempty"` + // metadata is the metadata for the credit batch. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (m *MsgBridgeReceive_Batch) Reset() { *m = MsgBridgeReceive_Batch{} } +func (m *MsgBridgeReceive_Batch) String() string { return proto.CompactTextString(m) } +func (*MsgBridgeReceive_Batch) ProtoMessage() {} +func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{42, 0} +} +func (m *MsgBridgeReceive_Batch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridgeReceive_Batch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveClassCreatorResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridgeReceive_Batch.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2517,41 +2641,77 @@ func (m *MsgRemoveClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgRemoveClassCreatorResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveClassCreatorResponse.Merge(m, src) +func (m *MsgBridgeReceive_Batch) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridgeReceive_Batch.Merge(m, src) } -func (m *MsgRemoveClassCreatorResponse) XXX_Size() int { +func (m *MsgBridgeReceive_Batch) XXX_Size() int { return m.Size() } -func (m *MsgRemoveClassCreatorResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveClassCreatorResponse.DiscardUnknown(m) +func (m *MsgBridgeReceive_Batch) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridgeReceive_Batch.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveClassCreatorResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgBridgeReceive_Batch proto.InternalMessageInfo -// MsgUpdateClassFee is the Msg/UpdateClassFee request type. -// -// Since Revision 2 -type MsgUpdateClassFee struct { - // authority is the address of the governance account. - Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // fee is the credit class creation fee. If not set, the credit class creation - // fee will be removed and no fee will be required to create a credit class. - Fee *types.Coin `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` +func (m *MsgBridgeReceive_Batch) GetRecipient() string { + if m != nil { + return m.Recipient + } + return "" } -func (m *MsgUpdateClassFee) Reset() { *m = MsgUpdateClassFee{} } -func (m *MsgUpdateClassFee) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassFee) ProtoMessage() {} -func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{40} +func (m *MsgBridgeReceive_Batch) GetAmount() string { + if m != nil { + return m.Amount + } + return "" } -func (m *MsgUpdateClassFee) XXX_Unmarshal(b []byte) error { + +func (m *MsgBridgeReceive_Batch) GetStartDate() *time.Time { + if m != nil { + return m.StartDate + } + return nil +} + +func (m *MsgBridgeReceive_Batch) GetEndDate() *time.Time { + if m != nil { + return m.EndDate + } + return nil +} + +func (m *MsgBridgeReceive_Batch) GetMetadata() string { + if m != nil { + return m.Metadata + } + return "" +} + +// Project defines the project information for the bridged credits. This +// information will be used to find an existing project or to create a new +// project if a project with the same reference id does not already exist. +type MsgBridgeReceive_Project struct { + // reference_id is the reference id of the project. + ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // jurisdiction is the project jurisdiction. + Jurisdiction string `protobuf:"bytes,2,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` + // metadata is the metadata for the project. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (m *MsgBridgeReceive_Project) Reset() { *m = MsgBridgeReceive_Project{} } +func (m *MsgBridgeReceive_Project) String() string { return proto.CompactTextString(m) } +func (*MsgBridgeReceive_Project) ProtoMessage() {} +func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{42, 1} +} +func (m *MsgBridgeReceive_Project) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridgeReceive_Project) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassFee.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridgeReceive_Project.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2561,50 +2721,61 @@ func (m *MsgUpdateClassFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (m *MsgUpdateClassFee) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassFee.Merge(m, src) +func (m *MsgBridgeReceive_Project) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridgeReceive_Project.Merge(m, src) } -func (m *MsgUpdateClassFee) XXX_Size() int { +func (m *MsgBridgeReceive_Project) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassFee) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassFee.DiscardUnknown(m) +func (m *MsgBridgeReceive_Project) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridgeReceive_Project.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassFee proto.InternalMessageInfo +var xxx_messageInfo_MsgBridgeReceive_Project proto.InternalMessageInfo -func (m *MsgUpdateClassFee) GetAuthority() string { +func (m *MsgBridgeReceive_Project) GetReferenceId() string { if m != nil { - return m.Authority + return m.ReferenceId } return "" } -func (m *MsgUpdateClassFee) GetFee() *types.Coin { +func (m *MsgBridgeReceive_Project) GetJurisdiction() string { if m != nil { - return m.Fee + return m.Jurisdiction } - return nil + return "" } -// MsgUpdateClassFeeResponse is the Msg/UpdateClassFee response type. -// -// Since Revision 2 -type MsgUpdateClassFeeResponse struct { +func (m *MsgBridgeReceive_Project) GetMetadata() string { + if m != nil { + return m.Metadata + } + return "" } -func (m *MsgUpdateClassFeeResponse) Reset() { *m = MsgUpdateClassFeeResponse{} } -func (m *MsgUpdateClassFeeResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassFeeResponse) ProtoMessage() {} -func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{41} +// MsgBridgeReceiveResponse is the Msg/BridgeReceive response type. +type MsgBridgeReceiveResponse struct { + // batch_denom is the unique identifier of the credit batch either created + // or within which the credits were dynamically minted. + BatchDenom string `protobuf:"bytes,1,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // project_id is the unique identifier of the project that was either created + // or the existing project within which the credit batch exists. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` } -func (m *MsgUpdateClassFeeResponse) XXX_Unmarshal(b []byte) error { + +func (m *MsgBridgeReceiveResponse) Reset() { *m = MsgBridgeReceiveResponse{} } +func (m *MsgBridgeReceiveResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBridgeReceiveResponse) ProtoMessage() {} +func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{43} +} +func (m *MsgBridgeReceiveResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassFeeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBridgeReceiveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassFeeResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBridgeReceiveResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2614,41 +2785,54 @@ func (m *MsgUpdateClassFeeResponse) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *MsgUpdateClassFeeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassFeeResponse.Merge(m, src) +func (m *MsgBridgeReceiveResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBridgeReceiveResponse.Merge(m, src) } -func (m *MsgUpdateClassFeeResponse) XXX_Size() int { +func (m *MsgBridgeReceiveResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassFeeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassFeeResponse.DiscardUnknown(m) +func (m *MsgBridgeReceiveResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBridgeReceiveResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassFeeResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgBridgeReceiveResponse proto.InternalMessageInfo -// MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. +func (m *MsgBridgeReceiveResponse) GetBatchDenom() string { + if m != nil { + return m.BatchDenom + } + return "" +} + +func (m *MsgBridgeReceiveResponse) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +// MsgAddClassCreator is the Msg/AddClassCreator request type. // // Since Revision 2 -type MsgAddAllowedBridgeChain struct { +type MsgAddClassCreator struct { // authority is the address of the governance account. Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // chain_name is the name of the chain to allow bridging of ecocredits to - // (i.e. polygon, ethereum, celo). - ChainName string `protobuf:"bytes,2,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` + // creator is the address to add to the class creator list. + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` } -func (m *MsgAddAllowedBridgeChain) Reset() { *m = MsgAddAllowedBridgeChain{} } -func (m *MsgAddAllowedBridgeChain) String() string { return proto.CompactTextString(m) } -func (*MsgAddAllowedBridgeChain) ProtoMessage() {} -func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{42} +func (m *MsgAddClassCreator) Reset() { *m = MsgAddClassCreator{} } +func (m *MsgAddClassCreator) String() string { return proto.CompactTextString(m) } +func (*MsgAddClassCreator) ProtoMessage() {} +func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{44} } -func (m *MsgAddAllowedBridgeChain) XXX_Unmarshal(b []byte) error { +func (m *MsgAddClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddAllowedBridgeChain.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddClassCreator.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2658,51 +2842,50 @@ func (m *MsgAddAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgAddAllowedBridgeChain) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddAllowedBridgeChain.Merge(m, src) +func (m *MsgAddClassCreator) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddClassCreator.Merge(m, src) } -func (m *MsgAddAllowedBridgeChain) XXX_Size() int { +func (m *MsgAddClassCreator) XXX_Size() int { return m.Size() } -func (m *MsgAddAllowedBridgeChain) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddAllowedBridgeChain.DiscardUnknown(m) +func (m *MsgAddClassCreator) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddClassCreator.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddAllowedBridgeChain proto.InternalMessageInfo +var xxx_messageInfo_MsgAddClassCreator proto.InternalMessageInfo -func (m *MsgAddAllowedBridgeChain) GetAuthority() string { +func (m *MsgAddClassCreator) GetAuthority() string { if m != nil { return m.Authority } return "" } -func (m *MsgAddAllowedBridgeChain) GetChainName() string { +func (m *MsgAddClassCreator) GetCreator() string { if m != nil { - return m.ChainName + return m.Creator } return "" } -// MsgAddAllowedBridgeChainResponse is the Msg/AddAllowedBridgeChain response -// type. +// MsgAddClassCreatorResponse is the Msg/AddClassCreator response type. // // Since Revision 2 -type MsgAddAllowedBridgeChainResponse struct { +type MsgAddClassCreatorResponse struct { } -func (m *MsgAddAllowedBridgeChainResponse) Reset() { *m = MsgAddAllowedBridgeChainResponse{} } -func (m *MsgAddAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} -func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{43} +func (m *MsgAddClassCreatorResponse) Reset() { *m = MsgAddClassCreatorResponse{} } +func (m *MsgAddClassCreatorResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddClassCreatorResponse) ProtoMessage() {} +func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{45} } -func (m *MsgAddAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgAddClassCreatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddAllowedBridgeChainResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddClassCreatorResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2712,41 +2895,41 @@ func (m *MsgAddAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (m *MsgAddAllowedBridgeChainResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddAllowedBridgeChainResponse.Merge(m, src) +func (m *MsgAddClassCreatorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddClassCreatorResponse.Merge(m, src) } -func (m *MsgAddAllowedBridgeChainResponse) XXX_Size() int { +func (m *MsgAddClassCreatorResponse) XXX_Size() int { return m.Size() } -func (m *MsgAddAllowedBridgeChainResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddAllowedBridgeChainResponse.DiscardUnknown(m) +func (m *MsgAddClassCreatorResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddClassCreatorResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddAllowedBridgeChainResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgAddClassCreatorResponse proto.InternalMessageInfo -// MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. +// MsgSetClassCreatorAllowlist is the Msg/SetClassCreatorAllowlist request +// type. // // Since Revision 2 -type MsgRemoveAllowedBridgeChain struct { +type MsgSetClassCreatorAllowlist struct { // authority is the address of the governance account. Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` - // chain_name is the name of the chain to remove from the list of allowed - // chains to bridge ecocredits to (i.e. polygon, ethereum, celo). - ChainName string `protobuf:"bytes,2,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` + // enabled defines the boolean value to set the allowlist on or off. + Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` } -func (m *MsgRemoveAllowedBridgeChain) Reset() { *m = MsgRemoveAllowedBridgeChain{} } -func (m *MsgRemoveAllowedBridgeChain) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} -func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{44} +func (m *MsgSetClassCreatorAllowlist) Reset() { *m = MsgSetClassCreatorAllowlist{} } +func (m *MsgSetClassCreatorAllowlist) String() string { return proto.CompactTextString(m) } +func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} +func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{46} } -func (m *MsgRemoveAllowedBridgeChain) XXX_Unmarshal(b []byte) error { +func (m *MsgSetClassCreatorAllowlist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetClassCreatorAllowlist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveAllowedBridgeChain.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetClassCreatorAllowlist.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2756,51 +2939,51 @@ func (m *MsgRemoveAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgRemoveAllowedBridgeChain) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveAllowedBridgeChain.Merge(m, src) +func (m *MsgSetClassCreatorAllowlist) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetClassCreatorAllowlist.Merge(m, src) } -func (m *MsgRemoveAllowedBridgeChain) XXX_Size() int { +func (m *MsgSetClassCreatorAllowlist) XXX_Size() int { return m.Size() } -func (m *MsgRemoveAllowedBridgeChain) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveAllowedBridgeChain.DiscardUnknown(m) +func (m *MsgSetClassCreatorAllowlist) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetClassCreatorAllowlist.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveAllowedBridgeChain proto.InternalMessageInfo +var xxx_messageInfo_MsgSetClassCreatorAllowlist proto.InternalMessageInfo -func (m *MsgRemoveAllowedBridgeChain) GetAuthority() string { +func (m *MsgSetClassCreatorAllowlist) GetAuthority() string { if m != nil { return m.Authority } return "" } -func (m *MsgRemoveAllowedBridgeChain) GetChainName() string { +func (m *MsgSetClassCreatorAllowlist) GetEnabled() bool { if m != nil { - return m.ChainName + return m.Enabled } - return "" + return false } -// MsgRemoveAllowedBridgeChainResponse is the Msg/RemoveAllowedBridgeChain +// MsgSetClassCreatorAllowlistResponse is the Msg/SetClassCreatorAllowlist // response type. // // Since Revision 2 -type MsgRemoveAllowedBridgeChainResponse struct { +type MsgSetClassCreatorAllowlistResponse struct { } -func (m *MsgRemoveAllowedBridgeChainResponse) Reset() { *m = MsgRemoveAllowedBridgeChainResponse{} } -func (m *MsgRemoveAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} -func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{45} +func (m *MsgSetClassCreatorAllowlistResponse) Reset() { *m = MsgSetClassCreatorAllowlistResponse{} } +func (m *MsgSetClassCreatorAllowlistResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} +func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{47} } -func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSetClassCreatorAllowlistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetClassCreatorAllowlistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2810,43 +2993,40 @@ func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.Merge(m, src) +func (m *MsgSetClassCreatorAllowlistResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.Merge(m, src) } -func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Size() int { +func (m *MsgSetClassCreatorAllowlistResponse) XXX_Size() int { return m.Size() } -func (m *MsgRemoveAllowedBridgeChainResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.DiscardUnknown(m) +func (m *MsgSetClassCreatorAllowlistResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetClassCreatorAllowlistResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSetClassCreatorAllowlistResponse proto.InternalMessageInfo -// MsgBurnRegen is the Msg/BurnRegen request type. +// MsgRemoveClassCreator is the Msg/RemoveClassCreator request type. // -// Since Revision 3 -type MsgBurnRegen struct { - // burner is the address of the account burning REGEN tokens. - Burner string `protobuf:"bytes,1,opt,name=burner,proto3" json:"burner,omitempty"` - // amount is the integer amount of uregen tokens to burn. - Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` - // reason is any arbitrary string that specifies the reason for burning - // REGEN tokens. It may be at most 256 characters long. - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +// Since Revision 2 +type MsgRemoveClassCreator struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // creator is the address to remove from the class creator list. + Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"` } -func (m *MsgBurnRegen) Reset() { *m = MsgBurnRegen{} } -func (m *MsgBurnRegen) String() string { return proto.CompactTextString(m) } -func (*MsgBurnRegen) ProtoMessage() {} -func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{46} +func (m *MsgRemoveClassCreator) Reset() { *m = MsgRemoveClassCreator{} } +func (m *MsgRemoveClassCreator) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveClassCreator) ProtoMessage() {} +func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{48} } -func (m *MsgBurnRegen) XXX_Unmarshal(b []byte) error { +func (m *MsgRemoveClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBurnRegen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRemoveClassCreator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBurnRegen.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRemoveClassCreator.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2856,57 +3036,94 @@ func (m *MsgBurnRegen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (m *MsgBurnRegen) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBurnRegen.Merge(m, src) +func (m *MsgRemoveClassCreator) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveClassCreator.Merge(m, src) } -func (m *MsgBurnRegen) XXX_Size() int { +func (m *MsgRemoveClassCreator) XXX_Size() int { return m.Size() } -func (m *MsgBurnRegen) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBurnRegen.DiscardUnknown(m) +func (m *MsgRemoveClassCreator) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveClassCreator.DiscardUnknown(m) } -var xxx_messageInfo_MsgBurnRegen proto.InternalMessageInfo +var xxx_messageInfo_MsgRemoveClassCreator proto.InternalMessageInfo -func (m *MsgBurnRegen) GetBurner() string { +func (m *MsgRemoveClassCreator) GetAuthority() string { if m != nil { - return m.Burner + return m.Authority } return "" } -func (m *MsgBurnRegen) GetAmount() string { +func (m *MsgRemoveClassCreator) GetCreator() string { if m != nil { - return m.Amount + return m.Creator } return "" } -func (m *MsgBurnRegen) GetReason() string { - if m != nil { - return m.Reason +// MsgRemoveClassCreatorResponse is the Msg/RemoveClasssCreator response type. +// +// Since Revision 2 +type MsgRemoveClassCreatorResponse struct { +} + +func (m *MsgRemoveClassCreatorResponse) Reset() { *m = MsgRemoveClassCreatorResponse{} } +func (m *MsgRemoveClassCreatorResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} +func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{49} +} +func (m *MsgRemoveClassCreatorResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRemoveClassCreatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRemoveClassCreatorResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return "" +} +func (m *MsgRemoveClassCreatorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveClassCreatorResponse.Merge(m, src) +} +func (m *MsgRemoveClassCreatorResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRemoveClassCreatorResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveClassCreatorResponse.DiscardUnknown(m) } -// MsgBurnResponse is the Msg/Burn response type. +var xxx_messageInfo_MsgRemoveClassCreatorResponse proto.InternalMessageInfo + +// MsgUpdateClassFee is the Msg/UpdateClassFee request type. // -// Since Revision 3 -type MsgBurnRegenResponse struct { +// Since Revision 2 +type MsgUpdateClassFee struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // fee is the credit class creation fee. If not set, the credit class creation + // fee will be removed and no fee will be required to create a credit class. + Fee *types.Coin `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` } -func (m *MsgBurnRegenResponse) Reset() { *m = MsgBurnRegenResponse{} } -func (m *MsgBurnRegenResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBurnRegenResponse) ProtoMessage() {} -func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{47} +func (m *MsgUpdateClassFee) Reset() { *m = MsgUpdateClassFee{} } +func (m *MsgUpdateClassFee) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassFee) ProtoMessage() {} +func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{50} } -func (m *MsgBurnRegenResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateClassFee) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBurnRegenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateClassFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBurnRegenResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateClassFee.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2916,579 +3133,634 @@ func (m *MsgBurnRegenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *MsgBurnRegenResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBurnRegenResponse.Merge(m, src) +func (m *MsgUpdateClassFee) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassFee.Merge(m, src) } -func (m *MsgBurnRegenResponse) XXX_Size() int { +func (m *MsgUpdateClassFee) XXX_Size() int { return m.Size() } -func (m *MsgBurnRegenResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBurnRegenResponse.DiscardUnknown(m) +func (m *MsgUpdateClassFee) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassFee.DiscardUnknown(m) } -var xxx_messageInfo_MsgBurnRegenResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateClassFee proto.InternalMessageInfo -func init() { - proto.RegisterType((*MsgAddCreditType)(nil), "regen.ecocredit.v1.MsgAddCreditType") - proto.RegisterType((*MsgAddCreditTypeResponse)(nil), "regen.ecocredit.v1.MsgAddCreditTypeResponse") - proto.RegisterType((*MsgCreateClass)(nil), "regen.ecocredit.v1.MsgCreateClass") - proto.RegisterType((*MsgCreateClassResponse)(nil), "regen.ecocredit.v1.MsgCreateClassResponse") - proto.RegisterType((*MsgCreateProject)(nil), "regen.ecocredit.v1.MsgCreateProject") - proto.RegisterType((*MsgCreateProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateProjectResponse") - proto.RegisterType((*MsgCreateBatch)(nil), "regen.ecocredit.v1.MsgCreateBatch") - proto.RegisterType((*MsgCreateBatchResponse)(nil), "regen.ecocredit.v1.MsgCreateBatchResponse") - proto.RegisterType((*MsgMintBatchCredits)(nil), "regen.ecocredit.v1.MsgMintBatchCredits") - proto.RegisterType((*MsgMintBatchCreditsResponse)(nil), "regen.ecocredit.v1.MsgMintBatchCreditsResponse") - proto.RegisterType((*MsgSealBatch)(nil), "regen.ecocredit.v1.MsgSealBatch") - proto.RegisterType((*MsgSealBatchResponse)(nil), "regen.ecocredit.v1.MsgSealBatchResponse") - proto.RegisterType((*MsgSend)(nil), "regen.ecocredit.v1.MsgSend") - proto.RegisterType((*MsgSend_SendCredits)(nil), "regen.ecocredit.v1.MsgSend.SendCredits") - proto.RegisterType((*MsgSendResponse)(nil), "regen.ecocredit.v1.MsgSendResponse") - proto.RegisterType((*MsgRetire)(nil), "regen.ecocredit.v1.MsgRetire") - proto.RegisterType((*MsgRetireResponse)(nil), "regen.ecocredit.v1.MsgRetireResponse") - proto.RegisterType((*MsgCancel)(nil), "regen.ecocredit.v1.MsgCancel") - proto.RegisterType((*MsgCancelResponse)(nil), "regen.ecocredit.v1.MsgCancelResponse") - proto.RegisterType((*MsgUpdateClassAdmin)(nil), "regen.ecocredit.v1.MsgUpdateClassAdmin") - proto.RegisterType((*MsgUpdateClassAdminResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassAdminResponse") - proto.RegisterType((*MsgUpdateClassIssuers)(nil), "regen.ecocredit.v1.MsgUpdateClassIssuers") - proto.RegisterType((*MsgUpdateClassIssuersResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassIssuersResponse") - proto.RegisterType((*MsgUpdateClassMetadata)(nil), "regen.ecocredit.v1.MsgUpdateClassMetadata") - proto.RegisterType((*MsgUpdateClassMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassMetadataResponse") - proto.RegisterType((*MsgUpdateProjectAdmin)(nil), "regen.ecocredit.v1.MsgUpdateProjectAdmin") - proto.RegisterType((*MsgUpdateProjectAdminResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectAdminResponse") - proto.RegisterType((*MsgUpdateProjectMetadata)(nil), "regen.ecocredit.v1.MsgUpdateProjectMetadata") - proto.RegisterType((*MsgUpdateProjectMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectMetadataResponse") - proto.RegisterType((*MsgBridge)(nil), "regen.ecocredit.v1.MsgBridge") - proto.RegisterType((*MsgUpdateBatchMetadata)(nil), "regen.ecocredit.v1.MsgUpdateBatchMetadata") - proto.RegisterType((*MsgUpdateBatchMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateBatchMetadataResponse") - proto.RegisterType((*MsgBridgeResponse)(nil), "regen.ecocredit.v1.MsgBridgeResponse") - proto.RegisterType((*MsgBridgeReceive)(nil), "regen.ecocredit.v1.MsgBridgeReceive") - proto.RegisterType((*MsgBridgeReceive_Batch)(nil), "regen.ecocredit.v1.MsgBridgeReceive.Batch") - proto.RegisterType((*MsgBridgeReceive_Project)(nil), "regen.ecocredit.v1.MsgBridgeReceive.Project") - proto.RegisterType((*MsgBridgeReceiveResponse)(nil), "regen.ecocredit.v1.MsgBridgeReceiveResponse") - proto.RegisterType((*MsgAddClassCreator)(nil), "regen.ecocredit.v1.MsgAddClassCreator") - proto.RegisterType((*MsgAddClassCreatorResponse)(nil), "regen.ecocredit.v1.MsgAddClassCreatorResponse") - proto.RegisterType((*MsgSetClassCreatorAllowlist)(nil), "regen.ecocredit.v1.MsgSetClassCreatorAllowlist") - proto.RegisterType((*MsgSetClassCreatorAllowlistResponse)(nil), "regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse") - proto.RegisterType((*MsgRemoveClassCreator)(nil), "regen.ecocredit.v1.MsgRemoveClassCreator") - proto.RegisterType((*MsgRemoveClassCreatorResponse)(nil), "regen.ecocredit.v1.MsgRemoveClassCreatorResponse") - proto.RegisterType((*MsgUpdateClassFee)(nil), "regen.ecocredit.v1.MsgUpdateClassFee") - proto.RegisterType((*MsgUpdateClassFeeResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassFeeResponse") - proto.RegisterType((*MsgAddAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChain") - proto.RegisterType((*MsgAddAllowedBridgeChainResponse)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse") - proto.RegisterType((*MsgRemoveAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain") - proto.RegisterType((*MsgRemoveAllowedBridgeChainResponse)(nil), "regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse") - proto.RegisterType((*MsgBurnRegen)(nil), "regen.ecocredit.v1.MsgBurnRegen") - proto.RegisterType((*MsgBurnRegenResponse)(nil), "regen.ecocredit.v1.MsgBurnRegenResponse") +func (m *MsgUpdateClassFee) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" } -func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } - -var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 1930 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4f, 0x6f, 0x1b, 0x4d, - 0x19, 0xef, 0xda, 0x4e, 0x6c, 0x3f, 0x4e, 0xd3, 0x74, 0xd3, 0x37, 0xaf, 0xbb, 0x69, 0x1c, 0xd7, - 0xef, 0x1b, 0xde, 0x34, 0x4d, 0xd7, 0x4a, 0x0a, 0xaa, 0x5a, 0x84, 0x4a, 0x92, 0xaa, 0x22, 0x48, - 0x2e, 0xc8, 0x0d, 0x42, 0x54, 0x20, 0x6b, 0xbd, 0x3b, 0xd9, 0x6c, 0xb1, 0x77, 0xad, 0xdd, 0x71, - 0x92, 0x0a, 0x84, 0x54, 0xc4, 0x07, 0xe8, 0x19, 0x71, 0xe0, 0x23, 0x20, 0xbe, 0x02, 0x17, 0x8e, - 0xbd, 0x20, 0xb8, 0x15, 0xb5, 0x48, 0x7c, 0x03, 0x4e, 0x1c, 0xd0, 0xce, 0xcc, 0x8e, 0x77, 0xf6, - 0xbf, 0x5b, 0x7a, 0x89, 0x32, 0xcf, 0xfc, 0xe6, 0xf9, 0x3b, 0xf3, 0xfc, 0x59, 0xc3, 0xba, 0x8b, - 0x4c, 0x64, 0x77, 0x91, 0xee, 0xe8, 0x2e, 0x32, 0x2c, 0xdc, 0x3d, 0xdf, 0xeb, 0xe2, 0x4b, 0x75, - 0xe2, 0x3a, 0xd8, 0x91, 0x65, 0xb2, 0xa9, 0xf2, 0x4d, 0xf5, 0x7c, 0x4f, 0x69, 0xe9, 0x8e, 0x37, - 0x76, 0xbc, 0xee, 0x50, 0xf3, 0x50, 0xf7, 0x7c, 0x6f, 0x88, 0xb0, 0xb6, 0xd7, 0xd5, 0x1d, 0xcb, - 0xa6, 0x67, 0x94, 0x2f, 0xd9, 0xfe, 0xd8, 0x33, 0x7d, 0x5e, 0x63, 0xcf, 0x64, 0x1b, 0x37, 0x4c, - 0xc7, 0x74, 0xc8, 0xbf, 0x5d, 0xff, 0x3f, 0x46, 0xdd, 0x34, 0x1d, 0xc7, 0x1c, 0xa1, 0x2e, 0x59, - 0x0d, 0xa7, 0xa7, 0x5d, 0x6c, 0x8d, 0x91, 0x87, 0xb5, 0xf1, 0x84, 0x01, 0x5a, 0x09, 0x0a, 0x7a, - 0x58, 0xc3, 0x28, 0x63, 0x1f, 0xbf, 0x9a, 0x20, 0x8f, 0xee, 0x77, 0x5e, 0x4b, 0xb0, 0xd2, 0xf3, - 0xcc, 0x03, 0xc3, 0x38, 0x22, 0xfb, 0x27, 0xaf, 0x26, 0x48, 0xbe, 0x05, 0x75, 0x6d, 0x8a, 0xcf, - 0x1c, 0xd7, 0xc2, 0xaf, 0x9a, 0x52, 0x5b, 0xda, 0xae, 0xf7, 0x67, 0x04, 0xf9, 0x31, 0x34, 0x28, - 0xaf, 0x81, 0xcf, 0xa8, 0x59, 0x6a, 0x4b, 0xdb, 0x8d, 0xfd, 0x96, 0x1a, 0x77, 0x86, 0x3a, 0x63, - 0xd9, 0x07, 0x9d, 0xff, 0xff, 0x68, 0xf9, 0xb7, 0xff, 0xfe, 0xd3, 0xce, 0x8c, 0x61, 0x47, 0x81, - 0x66, 0x54, 0x85, 0x3e, 0xf2, 0x26, 0x8e, 0xed, 0xa1, 0xce, 0x5f, 0x24, 0x58, 0xee, 0x79, 0xe6, - 0x91, 0x8b, 0x34, 0x8c, 0x8e, 0x46, 0x9a, 0xe7, 0xc9, 0x37, 0x60, 0x41, 0x33, 0xc6, 0x96, 0xcd, - 0x34, 0xa3, 0x0b, 0xb9, 0x09, 0x55, 0xcb, 0xf3, 0xa6, 0xc8, 0xf5, 0x9a, 0xa5, 0x76, 0x79, 0xbb, - 0xde, 0x0f, 0x96, 0xb2, 0x02, 0xb5, 0x31, 0xc2, 0x9a, 0xa1, 0x61, 0xad, 0x59, 0x26, 0x47, 0xf8, - 0x5a, 0xde, 0x05, 0x39, 0x64, 0xcb, 0x40, 0x1b, 0x0e, 0x5d, 0x74, 0xde, 0xac, 0x10, 0xd4, 0xca, - 0x4c, 0xe5, 0x03, 0x42, 0x97, 0xef, 0x42, 0xf9, 0x14, 0xa1, 0xe6, 0x02, 0xb1, 0xf8, 0xa6, 0x4a, - 0x43, 0xa9, 0xfa, 0xa1, 0x56, 0x59, 0xa8, 0xd5, 0x23, 0xc7, 0xb2, 0xfb, 0x3e, 0xea, 0x11, 0xf8, - 0x56, 0x52, 0xe5, 0x3a, 0xf7, 0x61, 0x4d, 0x34, 0x22, 0xb0, 0x4f, 0xbe, 0x09, 0x35, 0xdd, 0x27, - 0x0c, 0x2c, 0x83, 0xd9, 0x53, 0x25, 0xeb, 0x63, 0xa3, 0xf3, 0x67, 0x1a, 0x1a, 0x7a, 0xea, 0xc7, - 0xae, 0xf3, 0x12, 0xe9, 0x38, 0xc5, 0xf8, 0x30, 0x97, 0x92, 0xc0, 0x25, 0xd3, 0xfa, 0x0e, 0x2c, - 0xbd, 0x9c, 0xba, 0x96, 0x67, 0x58, 0x3a, 0xb6, 0x1c, 0x9b, 0xd9, 0x2d, 0xd0, 0xe4, 0xdb, 0xb0, - 0xe4, 0xa2, 0x53, 0xe4, 0x22, 0x5b, 0x47, 0x3e, 0xfb, 0x05, 0x82, 0x69, 0x70, 0xda, 0xb1, 0x21, - 0x58, 0xfa, 0x90, 0xc4, 0x52, 0xd0, 0x99, 0xdb, 0xba, 0x01, 0x30, 0xa1, 0xa4, 0x99, 0xb5, 0x75, - 0x46, 0x39, 0x36, 0x3a, 0xff, 0x2d, 0x85, 0x42, 0x7d, 0xa8, 0x61, 0xfd, 0x4c, 0x5e, 0x83, 0x45, - 0x1a, 0x45, 0x86, 0x66, 0xab, 0x08, 0xa7, 0x52, 0x84, 0x93, 0xfc, 0x3d, 0xa8, 0xf9, 0x40, 0xcd, - 0xd6, 0x51, 0xb3, 0xdc, 0x2e, 0x6f, 0x37, 0xf6, 0x6f, 0x27, 0x5d, 0x4f, 0x22, 0xe3, 0x98, 0x01, - 0xfb, 0xfc, 0x88, 0xe0, 0xb2, 0x4a, 0xc4, 0x65, 0x8f, 0x01, 0x3c, 0xac, 0xb9, 0x78, 0x60, 0x68, - 0x38, 0xb8, 0x09, 0x8a, 0x4a, 0x5f, 0xa9, 0x1a, 0xbc, 0x52, 0xf5, 0x24, 0x78, 0xa5, 0x87, 0x95, - 0x37, 0xef, 0x36, 0xa5, 0x7e, 0x9d, 0x9c, 0x79, 0xa2, 0x61, 0x24, 0x7f, 0x17, 0x6a, 0xc8, 0x36, - 0xe8, 0xf1, 0xc5, 0x82, 0xc7, 0xab, 0xc8, 0x36, 0xc8, 0x61, 0x19, 0x2a, 0xce, 0x04, 0xd9, 0xcd, - 0x6a, 0x5b, 0xda, 0xae, 0xf5, 0xc9, 0xff, 0xf2, 0x43, 0xa8, 0x3b, 0xae, 0x65, 0x5a, 0xf6, 0x00, - 0x5f, 0x36, 0x6b, 0x84, 0xe3, 0xad, 0x24, 0x6b, 0x7f, 0x44, 0x40, 0x27, 0x97, 0xfd, 0x9a, 0xc3, - 0xfe, 0x7b, 0xd4, 0xf0, 0x03, 0xc7, 0x7c, 0xda, 0x79, 0x18, 0xba, 0xa3, 0xc4, 0x33, 0x3c, 0x6e, - 0x9b, 0xd0, 0x18, 0xfa, 0x84, 0x81, 0x81, 0x6c, 0x67, 0xcc, 0x42, 0x01, 0x84, 0xf4, 0xc4, 0xa7, - 0x74, 0xfe, 0x26, 0xc1, 0x6a, 0xcf, 0x33, 0x7b, 0x96, 0x8d, 0xc9, 0x49, 0xfa, 0x8e, 0xbd, 0xd4, - 0xf0, 0x45, 0x18, 0x96, 0xa2, 0x0c, 0x3f, 0x35, 0x80, 0x82, 0x4b, 0x2a, 0x1f, 0xef, 0x92, 0x0d, - 0x58, 0x4f, 0x30, 0x8b, 0xe7, 0xa6, 0x13, 0x58, 0xea, 0x79, 0xe6, 0x73, 0xa4, 0x8d, 0xb2, 0x6f, - 0x6b, 0x9e, 0xb9, 0xa2, 0xd0, 0x35, 0xb8, 0x11, 0xe6, 0xca, 0xa5, 0xfd, 0xa7, 0x04, 0x55, 0xb2, - 0x61, 0x1b, 0xbe, 0x24, 0x0f, 0xd9, 0xc6, 0x4c, 0x12, 0x5d, 0xf9, 0x89, 0xdb, 0x45, 0xba, 0x35, - 0xb1, 0x90, 0x8d, 0x83, 0x67, 0xc1, 0x09, 0xf2, 0x01, 0x54, 0xa9, 0xed, 0x1e, 0x73, 0xea, 0x37, - 0x49, 0x4e, 0x61, 0x32, 0x54, 0xff, 0x4f, 0x60, 0x71, 0x70, 0x4e, 0xf9, 0x97, 0x04, 0x8d, 0xd0, - 0x46, 0xee, 0xd5, 0x90, 0xbf, 0x81, 0x6b, 0xd8, 0xd5, 0x0c, 0x6d, 0x38, 0x42, 0x03, 0x6d, 0xec, - 0x4c, 0xb9, 0x5e, 0xcb, 0x01, 0xf9, 0x80, 0x50, 0xe5, 0x2d, 0x58, 0x76, 0x11, 0xb6, 0x5c, 0x64, - 0x04, 0x38, 0x9a, 0xad, 0xae, 0x32, 0x2a, 0x83, 0x3d, 0x80, 0x2f, 0x29, 0x61, 0x8c, 0x6c, 0x3c, - 0x48, 0xc8, 0x5e, 0x6b, 0xb3, 0xed, 0x1f, 0x86, 0xf3, 0xd8, 0x5d, 0xb8, 0x1e, 0x3a, 0xe8, 0x22, - 0xcd, 0x73, 0x6c, 0x96, 0xcc, 0x56, 0x66, 0x1b, 0x7d, 0x42, 0x67, 0x01, 0xa1, 0x4e, 0xed, 0x5c, - 0x87, 0x6b, 0xcc, 0x27, 0x3c, 0x16, 0x7f, 0x94, 0xa0, 0xde, 0xf3, 0xcc, 0x3e, 0x39, 0xe7, 0xe7, - 0x64, 0xe7, 0xc2, 0xe6, 0xc1, 0xa0, 0x0b, 0xf9, 0x3b, 0x33, 0x6f, 0x97, 0x88, 0xb7, 0xd7, 0xd3, - 0x4b, 0xe4, 0xcc, 0xc3, 0xb1, 0x9c, 0x5c, 0x4e, 0xc8, 0xc9, 0x6b, 0xb0, 0xc8, 0x0c, 0xa0, 0x36, - 0xb3, 0x15, 0x4b, 0xc4, 0x44, 0x7c, 0x67, 0x15, 0xae, 0x73, 0x0d, 0xb9, 0xde, 0xbf, 0x26, 0x6a, - 0x1f, 0xf9, 0x8f, 0x64, 0xf4, 0xff, 0x55, 0x7b, 0xa6, 0x52, 0x39, 0x47, 0x25, 0x2a, 0x9d, 0xab, - 0xe4, 0x90, 0xd4, 0xf1, 0x93, 0x89, 0x11, 0x94, 0xc6, 0x03, 0x52, 0xd1, 0xe6, 0xae, 0x73, 0xeb, - 0x50, 0xb7, 0xd1, 0xc5, 0x80, 0x1e, 0x62, 0x85, 0xce, 0x46, 0x17, 0x84, 0x9b, 0x50, 0xa1, 0xe8, - 0xa3, 0x8e, 0x0a, 0xe4, 0xfa, 0xfc, 0x41, 0x82, 0x2f, 0xc4, 0xfd, 0x63, 0xd6, 0x47, 0xcc, 0xad, - 0xd2, 0x26, 0x34, 0x34, 0xc3, 0x18, 0x04, 0x6d, 0x49, 0x99, 0xb4, 0x25, 0xa0, 0x19, 0x46, 0xc0, - 0x91, 0xdc, 0xf9, 0xb1, 0x73, 0x8e, 0x38, 0xa6, 0x42, 0x30, 0x57, 0x29, 0x95, 0xc1, 0x04, 0xed, - 0x37, 0x61, 0x23, 0x51, 0x3b, 0xae, 0xff, 0x25, 0x49, 0xe3, 0x21, 0x40, 0x2f, 0x28, 0x5d, 0x73, - 0xeb, 0x7f, 0x1b, 0x96, 0x7c, 0x97, 0x46, 0xda, 0x87, 0x86, 0x8d, 0x2e, 0x02, 0x9e, 0x82, 0x6a, - 0x6d, 0x68, 0x25, 0x4b, 0xe6, 0xba, 0x4d, 0x43, 0xae, 0x65, 0xcd, 0x41, 0x56, 0xb4, 0x73, 0xaa, - 0x7c, 0xe1, 0x88, 0x87, 0x7d, 0x16, 0x16, 0xcb, 0xf5, 0xfa, 0x0d, 0x69, 0x5a, 0x04, 0x40, 0x8e, - 0xd7, 0x72, 0x54, 0x9b, 0xd3, 0x73, 0x1d, 0x68, 0xa7, 0xc9, 0xe7, 0x3a, 0xfe, 0x9e, 0xa6, 0x9c, - 0x43, 0xd7, 0x32, 0xcc, 0xb4, 0x94, 0xb3, 0x06, 0x8b, 0x58, 0x73, 0x4d, 0x14, 0xe4, 0x58, 0xb6, - 0x12, 0xcb, 0x42, 0x39, 0x5a, 0x16, 0x42, 0x2f, 0xbe, 0x52, 0xfc, 0xc5, 0x0b, 0x2f, 0xfb, 0xb5, - 0x14, 0xba, 0x75, 0xa4, 0x6c, 0x71, 0xff, 0x7d, 0x74, 0x0f, 0x50, 0xc0, 0x87, 0x42, 0xdd, 0x0c, - 0x5f, 0x3f, 0x41, 0x05, 0xee, 0x42, 0x9a, 0x7f, 0xa8, 0x07, 0x39, 0xf1, 0x5d, 0x85, 0x74, 0xd9, - 0x01, 0x55, 0x47, 0xd6, 0x39, 0x4a, 0x55, 0x3a, 0xe3, 0xb1, 0x3c, 0x85, 0x2a, 0x8b, 0x3f, 0xd1, - 0xb4, 0xb1, 0xbf, 0x9b, 0x52, 0x5c, 0x05, 0x49, 0x6a, 0xd0, 0x23, 0x07, 0x87, 0xe5, 0xef, 0xc3, - 0x02, 0x71, 0x02, 0xeb, 0x5b, 0x76, 0x0a, 0x71, 0xa1, 0x9d, 0x02, 0x3d, 0x28, 0x76, 0x3f, 0x0b, - 0xf3, 0x74, 0x3f, 0xca, 0xdf, 0x25, 0x58, 0xa0, 0xbd, 0x8c, 0x70, 0x65, 0xa4, 0xe8, 0x95, 0x59, - 0x83, 0x45, 0xa1, 0x98, 0xb3, 0x55, 0xa4, 0x3b, 0x2e, 0x7f, 0x5a, 0x77, 0x5c, 0x99, 0xb7, 0x3b, - 0x0e, 0xf7, 0xed, 0x0b, 0x62, 0xdf, 0xae, 0x8c, 0xa0, 0x1a, 0x8c, 0x50, 0xd1, 0x89, 0x46, 0x8a, - 0x4d, 0x34, 0xb1, 0x22, 0x5c, 0x4a, 0x28, 0xc2, 0x19, 0x83, 0x95, 0x78, 0x31, 0x5f, 0x90, 0xec, - 0x22, 0x04, 0xac, 0x70, 0x6b, 0x9d, 0x93, 0x68, 0x3a, 0x3f, 0x07, 0x99, 0x8d, 0xce, 0xfe, 0x35, - 0x24, 0xcd, 0xbb, 0xe3, 0xe6, 0xcc, 0xef, 0x4d, 0xf2, 0xde, 0x7d, 0x20, 0xbf, 0xc3, 0x74, 0x19, - 0x1b, 0xcc, 0x6f, 0x81, 0x12, 0xe7, 0xce, 0x5f, 0x0e, 0x22, 0x85, 0xf4, 0x39, 0xc2, 0xe1, 0xdd, - 0x83, 0xd1, 0xc8, 0xb9, 0x18, 0x59, 0x1e, 0xce, 0x57, 0x02, 0xd9, 0x7e, 0xfb, 0x47, 0x8d, 0xaa, - 0xf5, 0x83, 0x65, 0x4c, 0x89, 0x2d, 0xf8, 0x2a, 0x43, 0x0c, 0xd7, 0x66, 0x40, 0x6a, 0x4b, 0x9f, - 0x14, 0xce, 0xcf, 0xe2, 0x0c, 0x5a, 0x45, 0xe2, 0x02, 0xb8, 0x06, 0x36, 0x49, 0x2f, 0xa1, 0xfa, - 0xf7, 0x14, 0xe5, 0x7d, 0x4a, 0x61, 0x1f, 0x14, 0x4a, 0x85, 0x3e, 0x28, 0x44, 0x15, 0x5a, 0x87, - 0x9b, 0x31, 0x79, 0x5c, 0x19, 0x33, 0xf8, 0xa6, 0x42, 0x3c, 0x85, 0x0c, 0x7a, 0xfd, 0x8e, 0xce, - 0x34, 0xcb, 0xce, 0xd1, 0x69, 0x03, 0x40, 0xf7, 0x61, 0x03, 0x5b, 0x1b, 0xa3, 0xe0, 0xc6, 0x11, - 0xca, 0x33, 0x6d, 0x1c, 0xd7, 0x82, 0xd6, 0xae, 0x44, 0x41, 0x5c, 0x99, 0x97, 0xe4, 0xa6, 0x50, - 0xd7, 0x7d, 0x6e, 0x7d, 0xe8, 0x75, 0x49, 0x93, 0xc5, 0x55, 0xd2, 0xc9, 0xec, 0x76, 0x38, 0x75, - 0xed, 0xbe, 0x9f, 0x19, 0xfd, 0x8c, 0x36, 0x9c, 0xba, 0xb3, 0x8a, 0xca, 0x56, 0xa9, 0x99, 0x2e, - 0xad, 0xdf, 0xa5, 0x2f, 0x9f, 0x1e, 0x66, 0xa3, 0x1c, 0x17, 0x12, 0x08, 0xdf, 0x7f, 0xb7, 0x0a, - 0xe5, 0x9e, 0x67, 0xca, 0xbf, 0x80, 0x46, 0xf8, 0xc3, 0x56, 0x27, 0x25, 0xd7, 0x87, 0x30, 0xca, - 0x4e, 0x3e, 0x86, 0x27, 0x17, 0x1d, 0xae, 0x8a, 0x1f, 0x8f, 0xbe, 0xce, 0x3c, 0xcc, 0x50, 0xca, - 0x6e, 0x11, 0x14, 0x17, 0xc2, 0x6d, 0xa0, 0x75, 0x23, 0xdb, 0x06, 0x82, 0xc9, 0xb1, 0x41, 0xfc, - 0xf6, 0x30, 0x82, 0x95, 0xd8, 0x67, 0x85, 0xb4, 0xb1, 0x35, 0x0a, 0x54, 0xba, 0x05, 0x81, 0x5c, - 0xda, 0x4f, 0xa1, 0x3e, 0x1b, 0xe7, 0xdb, 0xa9, 0xd3, 0x31, 0x43, 0x28, 0xdb, 0x79, 0x08, 0xce, - 0xf8, 0x07, 0x50, 0x21, 0x83, 0xfb, 0x7a, 0xc6, 0xc4, 0xad, 0x7c, 0x95, 0xb1, 0xc9, 0x39, 0x3d, - 0x83, 0x45, 0x36, 0x76, 0x6e, 0xa4, 0xc0, 0xe9, 0xb6, 0xb2, 0x95, 0xb9, 0x1d, 0xe6, 0xc7, 0xe6, - 0xc1, 0x34, 0x7e, 0x74, 0x3b, 0x95, 0x9f, 0x38, 0xcf, 0xf9, 0x01, 0x8b, 0x0d, 0x73, 0x69, 0x01, - 0x8b, 0x02, 0x53, 0x03, 0x96, 0x36, 0xad, 0xc9, 0x2e, 0xc8, 0x09, 0x93, 0xda, 0x9d, 0x7c, 0x36, - 0x0c, 0xaa, 0xec, 0x15, 0x86, 0x72, 0x99, 0x53, 0x58, 0x4d, 0x1a, 0xaf, 0x76, 0xf2, 0x39, 0x05, - 0x58, 0x65, 0xbf, 0x38, 0x36, 0x6e, 0xaa, 0x30, 0x39, 0x65, 0x9b, 0x1a, 0x86, 0xe6, 0x98, 0x9a, - 0x34, 0x18, 0xc9, 0xbf, 0x82, 0x2f, 0x92, 0xa7, 0xa2, 0xdd, 0x22, 0xbc, 0xb8, 0xb9, 0xdf, 0x9e, - 0x07, 0x1d, 0xf7, 0xb3, 0x38, 0x50, 0x64, 0xfb, 0x59, 0xc0, 0xe6, 0xf8, 0x39, 0x71, 0x4a, 0xf0, - 0x1f, 0x04, 0x1b, 0xb2, 0x36, 0x32, 0x7b, 0xef, 0xd4, 0x07, 0x21, 0x0e, 0x18, 0x7e, 0x16, 0x16, - 0x87, 0x8b, 0xaf, 0x8b, 0xb4, 0xf4, 0x4a, 0xa1, 0xf1, 0x21, 0x2c, 0x44, 0xfc, 0x09, 0x27, 0x4d, - 0x88, 0x80, 0x4a, 0x15, 0x92, 0xf8, 0x5b, 0x8c, 0xfc, 0x3b, 0x09, 0x9a, 0xa9, 0xed, 0x5e, 0x37, - 0x35, 0x79, 0x25, 0x1f, 0x50, 0x1e, 0xcc, 0x79, 0x80, 0xab, 0x61, 0xc1, 0xb5, 0x68, 0xc3, 0xfb, - 0xad, 0x0c, 0x3b, 0x42, 0x38, 0x45, 0x2d, 0x86, 0x0b, 0xbf, 0xb9, 0x84, 0x8e, 0xf2, 0x4e, 0x6a, - 0x66, 0x8d, 0x42, 0x53, 0xdf, 0x5c, 0x7a, 0x1b, 0x29, 0x9f, 0xc2, 0x72, 0xa4, 0x87, 0xdc, 0xca, - 0xcf, 0x16, 0x4f, 0x11, 0x52, 0xee, 0x15, 0x82, 0x85, 0xdf, 0x76, 0x72, 0x7b, 0x98, 0x71, 0x29, - 0xe2, 0xe8, 0xd4, 0xb7, 0x9d, 0xd9, 0x11, 0x92, 0xab, 0x94, 0xda, 0x0f, 0x76, 0x33, 0x9d, 0x96, - 0xa0, 0xc3, 0x83, 0x39, 0x0f, 0x84, 0xeb, 0xfd, 0xac, 0x05, 0x4c, 0xab, 0xf7, 0x1c, 0x91, 0x5a, - 0xef, 0x63, 0x1d, 0xde, 0xe1, 0xcf, 0xfe, 0xfa, 0xbe, 0x25, 0xbd, 0x7d, 0xdf, 0x92, 0xfe, 0xf9, - 0xbe, 0x25, 0xbd, 0xf9, 0xd0, 0xba, 0xf2, 0xf6, 0x43, 0xeb, 0xca, 0x3f, 0x3e, 0xb4, 0xae, 0xbc, - 0x78, 0x6c, 0x5a, 0xf8, 0x6c, 0x3a, 0x54, 0x75, 0x67, 0xdc, 0x25, 0xdc, 0xee, 0xd9, 0x08, 0x5f, - 0x38, 0xee, 0x2f, 0xd9, 0x6a, 0x84, 0x0c, 0x13, 0xb9, 0xdd, 0xcb, 0xd0, 0x4f, 0xb6, 0xe4, 0xb7, - 0x64, 0xf2, 0xa3, 0x6d, 0xf7, 0x7c, 0x6f, 0xb8, 0x48, 0x06, 0xe1, 0xfb, 0xff, 0x0b, 0x00, 0x00, - 0xff, 0xff, 0x04, 0x4e, 0xda, 0x55, 0x9b, 0x1e, 0x00, 0x00, +func (m *MsgUpdateClassFee) GetFee() *types.Coin { + if m != nil { + return m.Fee + } + return nil } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// MsgClient is the client API for Msg service. +// MsgUpdateClassFeeResponse is the Msg/UpdateClassFee response type. // -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MsgClient interface { - // CreateClass creates a new credit class under the given credit type with an - // approved list of issuers and optional metadata. If the class fee parameter - // is set, the fee field must be populated with equal value. A greater fee can - // be provided, however, the creator will only be charged the amount specified - // in the fee parameter. The creator of the credit class becomes the admin of - // the credit class upon creation. - CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) - // CreateProject creates a new project under the given credit class with a - // jurisdiction, optional metadata, and an optional reference ID. The creator - // of the project must be an approved credit class issuer for the given credit - // class. The creator becomes the admin of the project upon creation. - CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) - // CreateBatch creates a new batch of credits under the given project with a - // start and end date representing the monitoring period, a list of credits to - // be issued with each issuance specifying a recipient, the amount of tradable - // and retired credits, and the retirement jurisdiction (if credits are to be - // retired upon receipt), and optional metadata. The credit batch creator must - // be listed as an approved issuer within the credit class of the project that - // the credits are being issued under. - // - // The default behavior is for a new credit batch to be "sealed" as opposed to - // being "open". When a credit batch is "open", new credits can be dynamically - // minted to the credit batch following the creation of the credit batch. This - // "open" option should only be set to true when bridging credits from another - // chain or registry as a result of a bridge operation and is not intended for - // native credit issuance. - CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) - // MintBatchCredits dynamically mints credits to an "open" credit batch. This - // feature is only meant to be used when bridging credits from another chain - // or registry and is not intended for native credit issuance. When bridging - // credits from the same vintage (or monitoring period) as an existing credit - // batch, the credits can be dynamically minted to the existing credit batch - // if the credit batch is "open". - MintBatchCredits(ctx context.Context, in *MsgMintBatchCredits, opts ...grpc.CallOption) (*MsgMintBatchCreditsResponse, error) - // MsgSealBatch seals an "open" credit batch. Once a credit batch is sealed - // (i.e. once "open" is set to false), credits can no longer be dynamically - // minted to the credit batch. A sealed credit batch cannot be unsealed and - // only the credit batch issuer can seal a credit batch. - SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grpc.CallOption) (*MsgSealBatchResponse, error) - // Send sends a specified amount of tradable credits from the credit owner's - // account to another account. Sent credits can either remain tradable or be - // retired upon receipt. - Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) - // Retire retires a specified amount of tradable credits, removing the amount - // from the credit owner's tradable balance and adding it to their retired - // balance. Retiring credits is permanent and implies the credits are being - // consumed as a offset. - Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) - // Cancel cancels a specified amount of tradable credits, removing the amount - // from the credit owner's tradable balance and removing the amount from the - // credit batch's tradable supply. Cancelling credits is permanent and implies - // the credits have been moved to another chain or registry. - Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) - // UpdateClassAdmin updates the credit class admin. Only the admin of the - // credit class can update the credit class. - UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) - // UpdateClassIssuers updates the credit class issuer list. Only the admin of - // the credit class can update the credit class. - UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) - // UpdateClassMetadata updates the credit class metadata. Only the admin of - // the credit class can update the credit class. - UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) - // UpdateProjectAdmin updates the project admin address. Only the admin of the - // project can update the project. - UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProjectAdmin, opts ...grpc.CallOption) (*MsgUpdateProjectAdminResponse, error) - // UpdateProjectMetadata updates the project metadata. Only the admin of the - // project can update the project. - UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProjectMetadata, opts ...grpc.CallOption) (*MsgUpdateProjectMetadataResponse, error) - // UpdateBatchMetadata updates the batch metadata. Only an "open" batch can be - // updated and only the issuer of the batch can update the batch. - // - // Since Revision 2 - UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchMetadata, opts ...grpc.CallOption) (*MsgUpdateBatchMetadataResponse, error) - // Bridge processes credits being sent back to the source chain. When credits - // are sent back to the source chain, the credits are cancelled and an event - // is emitted to be handled by an external bridge service. - Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.CallOption) (*MsgBridgeResponse, error) - // BridgeReceive processes credits being sent from another chain. When the - // credits are sent from the same vintage as an existing credit batch within - // the scope of the provided credit class, the credits will be minted to the - // existing credit batch, otherwise the credits will be issued in a new credit - // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. - BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) - // AddCreditType is a governance method that allows the addition of new - // credit types to the network. - // - // Since Revision 2 - AddCreditType(ctx context.Context, in *MsgAddCreditType, opts ...grpc.CallOption) (*MsgAddCreditTypeResponse, error) - // SetClassCreatorAllowlist is a governance method that updates the class - // creator allowlist enabled setting. When enabled, only addresses listed in - // the allowlist can create credit classes. When disabled, any address can - // create credit classes. - // - // Since Revision 2 - SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClassCreatorAllowlist, opts ...grpc.CallOption) (*MsgSetClassCreatorAllowlistResponse, error) - // AddClassCreator is a governance method that allows the addition of a new - // address to the class creation allowlist. - // - // Since Revision 2 - AddClassCreator(ctx context.Context, in *MsgAddClassCreator, opts ...grpc.CallOption) (*MsgAddClassCreatorResponse, error) - // RemoveClassCreator is a governance method that removes an - // address from the class creation allowlist. - // - // Since Revision 2 - RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCreator, opts ...grpc.CallOption) (*MsgRemoveClassCreatorResponse, error) - // UpdateClassFee is a governance method that allows for updating the credit - // class creation fee. If no fee is specified in the request, the credit - // class creation fee will be removed and no fee will be required to create - // a credit class. - // - // Since Revision 2 - UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) - // AddAllowedBridgeChain is a governance method that allows for the - // addition of a chain to bridge ecocredits to. - // - // Since Revision 2 - AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) - // RemoveAllowedBridgeChain is a governance method that allows for the - // removal of a chain to bridge ecocredits to. - // - // Since Revision 2 - RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveAllowedBridgeChain, opts ...grpc.CallOption) (*MsgRemoveAllowedBridgeChainResponse, error) - // BurnRegen burns REGEN tokens to account for platform fees when creating or transferring credits. - // - // Since Revision 3 - BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grpc.CallOption) (*MsgBurnRegenResponse, error) +// Since Revision 2 +type MsgUpdateClassFeeResponse struct { } -type msgClient struct { - cc grpc1.ClientConn +func (m *MsgUpdateClassFeeResponse) Reset() { *m = MsgUpdateClassFeeResponse{} } +func (m *MsgUpdateClassFeeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateClassFeeResponse) ProtoMessage() {} +func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{51} } - -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} +func (m *MsgUpdateClassFeeResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) } - -func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) { - out := new(MsgCreateClassResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateClass", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgUpdateClassFeeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateClassFeeResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil } - -func (c *msgClient) CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) { - out := new(MsgCreateProjectResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateProject", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgUpdateClassFeeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateClassFeeResponse.Merge(m, src) } - -func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) { - out := new(MsgCreateBatchResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateBatch", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgUpdateClassFeeResponse) XXX_Size() int { + return m.Size() } - -func (c *msgClient) MintBatchCredits(ctx context.Context, in *MsgMintBatchCredits, opts ...grpc.CallOption) (*MsgMintBatchCreditsResponse, error) { - out := new(MsgMintBatchCreditsResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/MintBatchCredits", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +func (m *MsgUpdateClassFeeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateClassFeeResponse.DiscardUnknown(m) } -func (c *msgClient) SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grpc.CallOption) (*MsgSealBatchResponse, error) { - out := new(MsgSealBatchResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SealBatch", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} +var xxx_messageInfo_MsgUpdateClassFeeResponse proto.InternalMessageInfo -func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { - out := new(MsgSendResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Send", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. +// +// Since Revision 2 +type MsgAddAllowedBridgeChain struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // chain_name is the name of the chain to allow bridging of ecocredits to + // (i.e. polygon, ethereum, celo). + ChainName string `protobuf:"bytes,2,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` } -func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) { - out := new(MsgRetireResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Retire", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgAddAllowedBridgeChain) Reset() { *m = MsgAddAllowedBridgeChain{} } +func (m *MsgAddAllowedBridgeChain) String() string { return proto.CompactTextString(m) } +func (*MsgAddAllowedBridgeChain) ProtoMessage() {} +func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{52} +} +func (m *MsgAddAllowedBridgeChain) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAddAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAddAllowedBridgeChain.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgAddAllowedBridgeChain) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddAllowedBridgeChain.Merge(m, src) +} +func (m *MsgAddAllowedBridgeChain) XXX_Size() int { + return m.Size() +} +func (m *MsgAddAllowedBridgeChain) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddAllowedBridgeChain.DiscardUnknown(m) } -func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) { - out := new(MsgCancelResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Cancel", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgAddAllowedBridgeChain proto.InternalMessageInfo + +func (m *MsgAddAllowedBridgeChain) GetAuthority() string { + if m != nil { + return m.Authority } - return out, nil + return "" } -func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) { - out := new(MsgUpdateClassAdminResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassAdmin", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgAddAllowedBridgeChain) GetChainName() string { + if m != nil { + return m.ChainName } - return out, nil + return "" } -func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) { - out := new(MsgUpdateClassIssuersResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassIssuers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// MsgAddAllowedBridgeChainResponse is the Msg/AddAllowedBridgeChain response +// type. +// +// Since Revision 2 +type MsgAddAllowedBridgeChainResponse struct { } -func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) { - out := new(MsgUpdateClassMetadataResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassMetadata", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgAddAllowedBridgeChainResponse) Reset() { *m = MsgAddAllowedBridgeChainResponse{} } +func (m *MsgAddAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} +func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{53} +} +func (m *MsgAddAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgAddAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgAddAllowedBridgeChainResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgAddAllowedBridgeChainResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddAllowedBridgeChainResponse.Merge(m, src) +} +func (m *MsgAddAllowedBridgeChainResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgAddAllowedBridgeChainResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddAllowedBridgeChainResponse.DiscardUnknown(m) } -func (c *msgClient) UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProjectAdmin, opts ...grpc.CallOption) (*MsgUpdateProjectAdminResponse, error) { - out := new(MsgUpdateProjectAdminResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectAdmin", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgAddAllowedBridgeChainResponse proto.InternalMessageInfo + +// MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. +// +// Since Revision 2 +type MsgRemoveAllowedBridgeChain struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // chain_name is the name of the chain to remove from the list of allowed + // chains to bridge ecocredits to (i.e. polygon, ethereum, celo). + ChainName string `protobuf:"bytes,2,opt,name=chain_name,json=chainName,proto3" json:"chain_name,omitempty"` } -func (c *msgClient) UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProjectMetadata, opts ...grpc.CallOption) (*MsgUpdateProjectMetadataResponse, error) { - out := new(MsgUpdateProjectMetadataResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectMetadata", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgRemoveAllowedBridgeChain) Reset() { *m = MsgRemoveAllowedBridgeChain{} } +func (m *MsgRemoveAllowedBridgeChain) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} +func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{54} +} +func (m *MsgRemoveAllowedBridgeChain) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRemoveAllowedBridgeChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRemoveAllowedBridgeChain.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgRemoveAllowedBridgeChain) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveAllowedBridgeChain.Merge(m, src) +} +func (m *MsgRemoveAllowedBridgeChain) XXX_Size() int { + return m.Size() +} +func (m *MsgRemoveAllowedBridgeChain) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveAllowedBridgeChain.DiscardUnknown(m) } -func (c *msgClient) UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchMetadata, opts ...grpc.CallOption) (*MsgUpdateBatchMetadataResponse, error) { - out := new(MsgUpdateBatchMetadataResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateBatchMetadata", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgRemoveAllowedBridgeChain proto.InternalMessageInfo + +func (m *MsgRemoveAllowedBridgeChain) GetAuthority() string { + if m != nil { + return m.Authority } - return out, nil + return "" } -func (c *msgClient) Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.CallOption) (*MsgBridgeResponse, error) { - out := new(MsgBridgeResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Bridge", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgRemoveAllowedBridgeChain) GetChainName() string { + if m != nil { + return m.ChainName } - return out, nil + return "" } -func (c *msgClient) BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) { - out := new(MsgBridgeReceiveResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/BridgeReceive", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// MsgRemoveAllowedBridgeChainResponse is the Msg/RemoveAllowedBridgeChain +// response type. +// +// Since Revision 2 +type MsgRemoveAllowedBridgeChainResponse struct { } -func (c *msgClient) AddCreditType(ctx context.Context, in *MsgAddCreditType, opts ...grpc.CallOption) (*MsgAddCreditTypeResponse, error) { - out := new(MsgAddCreditTypeResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddCreditType", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgRemoveAllowedBridgeChainResponse) Reset() { *m = MsgRemoveAllowedBridgeChainResponse{} } +func (m *MsgRemoveAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} +func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{55} +} +func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.Merge(m, src) +} +func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRemoveAllowedBridgeChainResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse.DiscardUnknown(m) } -func (c *msgClient) SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClassCreatorAllowlist, opts ...grpc.CallOption) (*MsgSetClassCreatorAllowlistResponse, error) { - out := new(MsgSetClassCreatorAllowlistResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +var xxx_messageInfo_MsgRemoveAllowedBridgeChainResponse proto.InternalMessageInfo + +// MsgBurnRegen is the Msg/BurnRegen request type. +// +// Since Revision 3 +type MsgBurnRegen struct { + // burner is the address of the account burning REGEN tokens. + Burner string `protobuf:"bytes,1,opt,name=burner,proto3" json:"burner,omitempty"` + // amount is the integer amount of uregen tokens to burn. + Amount string `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + // reason is any arbitrary string that specifies the reason for burning + // REGEN tokens. It may be at most 256 characters long. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` } -func (c *msgClient) AddClassCreator(ctx context.Context, in *MsgAddClassCreator, opts ...grpc.CallOption) (*MsgAddClassCreatorResponse, error) { - out := new(MsgAddClassCreatorResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddClassCreator", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBurnRegen) Reset() { *m = MsgBurnRegen{} } +func (m *MsgBurnRegen) String() string { return proto.CompactTextString(m) } +func (*MsgBurnRegen) ProtoMessage() {} +func (*MsgBurnRegen) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{56} +} +func (m *MsgBurnRegen) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBurnRegen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBurnRegen.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBurnRegen) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBurnRegen.Merge(m, src) +} +func (m *MsgBurnRegen) XXX_Size() int { + return m.Size() +} +func (m *MsgBurnRegen) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBurnRegen.DiscardUnknown(m) } -func (c *msgClient) RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCreator, opts ...grpc.CallOption) (*MsgRemoveClassCreatorResponse, error) { - out := new(MsgRemoveClassCreatorResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/RemoveClassCreator", in, out, opts...) - if err != nil { - return nil, err +var xxx_messageInfo_MsgBurnRegen proto.InternalMessageInfo + +func (m *MsgBurnRegen) GetBurner() string { + if m != nil { + return m.Burner } - return out, nil + return "" } -func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) { - out := new(MsgUpdateClassFeeResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassFee", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBurnRegen) GetAmount() string { + if m != nil { + return m.Amount } - return out, nil + return "" } -func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) { - out := new(MsgAddAllowedBridgeChainResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBurnRegen) GetReason() string { + if m != nil { + return m.Reason } - return out, nil + return "" } -func (c *msgClient) RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveAllowedBridgeChain, opts ...grpc.CallOption) (*MsgRemoveAllowedBridgeChainResponse, error) { - out := new(MsgRemoveAllowedBridgeChainResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil +// MsgBurnResponse is the Msg/Burn response type. +// +// Since Revision 3 +type MsgBurnRegenResponse struct { } -func (c *msgClient) BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grpc.CallOption) (*MsgBurnRegenResponse, error) { - out := new(MsgBurnRegenResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/BurnRegen", in, out, opts...) - if err != nil { - return nil, err +func (m *MsgBurnRegenResponse) Reset() { *m = MsgBurnRegenResponse{} } +func (m *MsgBurnRegenResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBurnRegenResponse) ProtoMessage() {} +func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{57} +} +func (m *MsgBurnRegenResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgBurnRegenResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgBurnRegenResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil } - return out, nil +} +func (m *MsgBurnRegenResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBurnRegenResponse.Merge(m, src) +} +func (m *MsgBurnRegenResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgBurnRegenResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBurnRegenResponse.DiscardUnknown(m) } -// MsgServer is the server API for Msg service. -type MsgServer interface { +var xxx_messageInfo_MsgBurnRegenResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgAddCreditType)(nil), "regen.ecocredit.v1.MsgAddCreditType") + proto.RegisterType((*MsgAddCreditTypeResponse)(nil), "regen.ecocredit.v1.MsgAddCreditTypeResponse") + proto.RegisterType((*MsgCreateClass)(nil), "regen.ecocredit.v1.MsgCreateClass") + proto.RegisterType((*MsgCreateClassResponse)(nil), "regen.ecocredit.v1.MsgCreateClassResponse") + proto.RegisterType((*MsgCreateProject)(nil), "regen.ecocredit.v1.MsgCreateProject") + proto.RegisterType((*MsgCreateProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateProjectResponse") + proto.RegisterType((*MsgCreateUnregisteredProject)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProject") + proto.RegisterType((*MsgCreateUnregisteredProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse") + proto.RegisterType((*MsgSubmitClassApplication)(nil), "regen.ecocredit.v1.MsgSubmitClassApplication") + proto.RegisterType((*MsgSubmitClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgSubmitClassApplicationResponse") + proto.RegisterType((*MsgUpdateClassApplication)(nil), "regen.ecocredit.v1.MsgUpdateClassApplication") + proto.RegisterType((*MsgUpdateClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassApplicationResponse") + proto.RegisterType((*MsgWithdrawClassApplication)(nil), "regen.ecocredit.v1.MsgWithdrawClassApplication") + proto.RegisterType((*MsgWithdrawClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgWithdrawClassApplicationResponse") + proto.RegisterType((*MsgEvaluateClassApplication)(nil), "regen.ecocredit.v1.MsgEvaluateClassApplication") + proto.RegisterType((*MsgEvaluateClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgEvaluateClassApplicationResponse") + proto.RegisterType((*MsgCreateBatch)(nil), "regen.ecocredit.v1.MsgCreateBatch") + proto.RegisterType((*MsgCreateBatchResponse)(nil), "regen.ecocredit.v1.MsgCreateBatchResponse") + proto.RegisterType((*MsgMintBatchCredits)(nil), "regen.ecocredit.v1.MsgMintBatchCredits") + proto.RegisterType((*MsgMintBatchCreditsResponse)(nil), "regen.ecocredit.v1.MsgMintBatchCreditsResponse") + proto.RegisterType((*MsgSealBatch)(nil), "regen.ecocredit.v1.MsgSealBatch") + proto.RegisterType((*MsgSealBatchResponse)(nil), "regen.ecocredit.v1.MsgSealBatchResponse") + proto.RegisterType((*MsgSend)(nil), "regen.ecocredit.v1.MsgSend") + proto.RegisterType((*MsgSend_SendCredits)(nil), "regen.ecocredit.v1.MsgSend.SendCredits") + proto.RegisterType((*MsgSendResponse)(nil), "regen.ecocredit.v1.MsgSendResponse") + proto.RegisterType((*MsgRetire)(nil), "regen.ecocredit.v1.MsgRetire") + proto.RegisterType((*MsgRetireResponse)(nil), "regen.ecocredit.v1.MsgRetireResponse") + proto.RegisterType((*MsgCancel)(nil), "regen.ecocredit.v1.MsgCancel") + proto.RegisterType((*MsgCancelResponse)(nil), "regen.ecocredit.v1.MsgCancelResponse") + proto.RegisterType((*MsgUpdateClassAdmin)(nil), "regen.ecocredit.v1.MsgUpdateClassAdmin") + proto.RegisterType((*MsgUpdateClassAdminResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassAdminResponse") + proto.RegisterType((*MsgUpdateClassIssuers)(nil), "regen.ecocredit.v1.MsgUpdateClassIssuers") + proto.RegisterType((*MsgUpdateClassIssuersResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassIssuersResponse") + proto.RegisterType((*MsgUpdateClassMetadata)(nil), "regen.ecocredit.v1.MsgUpdateClassMetadata") + proto.RegisterType((*MsgUpdateClassMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassMetadataResponse") + proto.RegisterType((*MsgUpdateProjectAdmin)(nil), "regen.ecocredit.v1.MsgUpdateProjectAdmin") + proto.RegisterType((*MsgUpdateProjectAdminResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectAdminResponse") + proto.RegisterType((*MsgUpdateProjectMetadata)(nil), "regen.ecocredit.v1.MsgUpdateProjectMetadata") + proto.RegisterType((*MsgUpdateProjectMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectMetadataResponse") + proto.RegisterType((*MsgBridge)(nil), "regen.ecocredit.v1.MsgBridge") + proto.RegisterType((*MsgUpdateBatchMetadata)(nil), "regen.ecocredit.v1.MsgUpdateBatchMetadata") + proto.RegisterType((*MsgUpdateBatchMetadataResponse)(nil), "regen.ecocredit.v1.MsgUpdateBatchMetadataResponse") + proto.RegisterType((*MsgBridgeResponse)(nil), "regen.ecocredit.v1.MsgBridgeResponse") + proto.RegisterType((*MsgBridgeReceive)(nil), "regen.ecocredit.v1.MsgBridgeReceive") + proto.RegisterType((*MsgBridgeReceive_Batch)(nil), "regen.ecocredit.v1.MsgBridgeReceive.Batch") + proto.RegisterType((*MsgBridgeReceive_Project)(nil), "regen.ecocredit.v1.MsgBridgeReceive.Project") + proto.RegisterType((*MsgBridgeReceiveResponse)(nil), "regen.ecocredit.v1.MsgBridgeReceiveResponse") + proto.RegisterType((*MsgAddClassCreator)(nil), "regen.ecocredit.v1.MsgAddClassCreator") + proto.RegisterType((*MsgAddClassCreatorResponse)(nil), "regen.ecocredit.v1.MsgAddClassCreatorResponse") + proto.RegisterType((*MsgSetClassCreatorAllowlist)(nil), "regen.ecocredit.v1.MsgSetClassCreatorAllowlist") + proto.RegisterType((*MsgSetClassCreatorAllowlistResponse)(nil), "regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse") + proto.RegisterType((*MsgRemoveClassCreator)(nil), "regen.ecocredit.v1.MsgRemoveClassCreator") + proto.RegisterType((*MsgRemoveClassCreatorResponse)(nil), "regen.ecocredit.v1.MsgRemoveClassCreatorResponse") + proto.RegisterType((*MsgUpdateClassFee)(nil), "regen.ecocredit.v1.MsgUpdateClassFee") + proto.RegisterType((*MsgUpdateClassFeeResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassFeeResponse") + proto.RegisterType((*MsgAddAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChain") + proto.RegisterType((*MsgAddAllowedBridgeChainResponse)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse") + proto.RegisterType((*MsgRemoveAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain") + proto.RegisterType((*MsgRemoveAllowedBridgeChainResponse)(nil), "regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse") + proto.RegisterType((*MsgBurnRegen)(nil), "regen.ecocredit.v1.MsgBurnRegen") + proto.RegisterType((*MsgBurnRegenResponse)(nil), "regen.ecocredit.v1.MsgBurnRegenResponse") +} + +func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } + +var fileDescriptor_2b8ae49f50a3ddbd = []byte{ + // 2238 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0xdc, 0xc6, + 0x15, 0x37, 0x77, 0x57, 0x5f, 0x6f, 0x25, 0xd9, 0xa6, 0x1d, 0x65, 0x4d, 0x59, 0x2b, 0x79, 0x6d, + 0xd5, 0x8a, 0x63, 0xef, 0x56, 0x4a, 0x03, 0xd7, 0x2e, 0x0a, 0x57, 0x52, 0x6c, 0x54, 0x01, 0x36, + 0x0d, 0xd6, 0x0e, 0x82, 0x06, 0x2d, 0x16, 0x5c, 0x72, 0x4c, 0xd1, 0xdd, 0x25, 0x17, 0xe4, 0xac, + 0x24, 0xa3, 0x6d, 0x80, 0x14, 0x05, 0x7a, 0xcd, 0xad, 0x40, 0xd1, 0x43, 0xaf, 0xbd, 0x15, 0xfd, + 0x13, 0xda, 0x4b, 0x8e, 0xb9, 0x14, 0xed, 0x2d, 0x85, 0x5d, 0xa0, 0xff, 0x41, 0x7b, 0xe9, 0xa1, + 0xe0, 0xcc, 0x70, 0x38, 0xc3, 0xe5, 0x90, 0xdc, 0x38, 0xbe, 0x08, 0xe2, 0xcc, 0xfb, 0xf8, 0xbd, + 0x37, 0x33, 0xef, 0x0b, 0x0b, 0xeb, 0x01, 0x72, 0x90, 0xd7, 0x41, 0x96, 0x6f, 0x05, 0xc8, 0x76, + 0x71, 0xe7, 0x64, 0xb7, 0x83, 0xcf, 0xda, 0xe3, 0xc0, 0xc7, 0xbe, 0xae, 0x93, 0xcd, 0x36, 0xdf, + 0x6c, 0x9f, 0xec, 0x1a, 0x4d, 0xcb, 0x0f, 0x47, 0x7e, 0xd8, 0x19, 0x98, 0x21, 0xea, 0x9c, 0xec, + 0x0e, 0x10, 0x36, 0x77, 0x3b, 0x96, 0xef, 0x7a, 0x94, 0xc7, 0x78, 0x93, 0xed, 0x8f, 0x42, 0x27, + 0x92, 0x35, 0x0a, 0x1d, 0xb6, 0x71, 0xd9, 0xf1, 0x1d, 0x9f, 0xfc, 0xdb, 0x89, 0xfe, 0x63, 0xab, + 0x9b, 0x8e, 0xef, 0x3b, 0x43, 0xd4, 0x21, 0x5f, 0x83, 0xc9, 0xd3, 0x0e, 0x76, 0x47, 0x28, 0xc4, + 0xe6, 0x68, 0xcc, 0x08, 0x9a, 0x19, 0x00, 0x43, 0x6c, 0x62, 0x94, 0xb3, 0x8f, 0x9f, 0x8f, 0x51, + 0x48, 0xf7, 0x5b, 0x9f, 0x69, 0x70, 0xa1, 0x1b, 0x3a, 0xfb, 0xb6, 0x7d, 0x48, 0xf6, 0x9f, 0x3c, + 0x1f, 0x23, 0xfd, 0x2a, 0x2c, 0x99, 0x13, 0x7c, 0xec, 0x07, 0x2e, 0x7e, 0xde, 0xd0, 0xb6, 0xb4, + 0x9d, 0xa5, 0x5e, 0xb2, 0xa0, 0x3f, 0x80, 0x3a, 0x95, 0xd5, 0x8f, 0x04, 0x35, 0x2a, 0x5b, 0xda, + 0x4e, 0x7d, 0xaf, 0xd9, 0x9e, 0x76, 0x46, 0x3b, 0x11, 0xd9, 0x03, 0x8b, 0xff, 0x7f, 0x7f, 0xf5, + 0x57, 0xff, 0xfe, 0xd3, 0xad, 0x44, 0x60, 0xcb, 0x80, 0x46, 0x1a, 0x42, 0x0f, 0x85, 0x63, 0xdf, + 0x0b, 0x51, 0xeb, 0xaf, 0x1a, 0xac, 0x76, 0x43, 0xe7, 0x30, 0x40, 0x26, 0x46, 0x87, 0x43, 0x33, + 0x0c, 0xf5, 0xcb, 0x30, 0x67, 0xda, 0x23, 0xd7, 0x63, 0xc8, 0xe8, 0x87, 0xde, 0x80, 0x05, 0x37, + 0x0c, 0x27, 0x28, 0x08, 0x1b, 0x95, 0xad, 0xea, 0xce, 0x52, 0x2f, 0xfe, 0xd4, 0x0d, 0x58, 0x1c, + 0x21, 0x6c, 0xda, 0x26, 0x36, 0x1b, 0x55, 0xc2, 0xc2, 0xbf, 0xf5, 0xdb, 0xa0, 0x0b, 0xb6, 0xf4, + 0xcd, 0xc1, 0x20, 0x40, 0x27, 0x8d, 0x1a, 0xa1, 0xba, 0x90, 0x40, 0xde, 0x27, 0xeb, 0xfa, 0xdb, + 0x50, 0x7d, 0x8a, 0x50, 0x63, 0x8e, 0x58, 0x7c, 0xa5, 0x4d, 0x8f, 0xb2, 0x1d, 0x1d, 0x75, 0x9b, + 0x1d, 0x75, 0xfb, 0xd0, 0x77, 0xbd, 0x5e, 0x44, 0x75, 0x1f, 0x22, 0x2b, 0x29, 0xb8, 0xd6, 0x3b, + 0xb0, 0x26, 0x1b, 0x11, 0xdb, 0xa7, 0x5f, 0x81, 0x45, 0x2b, 0x5a, 0xe8, 0xbb, 0x36, 0xb3, 0x67, + 0x81, 0x7c, 0x1f, 0xd9, 0xad, 0x3f, 0xd3, 0xa3, 0xa1, 0x5c, 0x1f, 0x06, 0xfe, 0x33, 0x64, 0x61, + 0x85, 0xf1, 0xa2, 0x94, 0x8a, 0x24, 0x25, 0xd7, 0xfa, 0x16, 0x2c, 0x3f, 0x9b, 0x04, 0x6e, 0x68, + 0xbb, 0x16, 0x76, 0x7d, 0x8f, 0xd9, 0x2d, 0xad, 0xe9, 0xd7, 0x60, 0x39, 0x40, 0x4f, 0x51, 0x80, + 0x3c, 0x0b, 0x45, 0xe2, 0xe7, 0x08, 0x4d, 0x9d, 0xaf, 0x1d, 0xd9, 0x92, 0xa5, 0xf7, 0xc8, 0x59, + 0x4a, 0x98, 0xb9, 0xad, 0x1b, 0x00, 0x63, 0xba, 0x94, 0x58, 0xbb, 0xc4, 0x56, 0x8e, 0xec, 0xd6, + 0x1f, 0x35, 0xb8, 0xca, 0x79, 0x3f, 0xf2, 0x02, 0xe4, 0xb8, 0x21, 0x46, 0x01, 0xb2, 0x63, 0xdb, + 0x1b, 0xb0, 0x60, 0x45, 0x9b, 0x7e, 0xc0, 0x5d, 0x45, 0x3f, 0x25, 0x23, 0x2b, 0x05, 0x46, 0x56, + 0x4b, 0x18, 0x59, 0x9b, 0x36, 0x72, 0x39, 0x32, 0x32, 0x56, 0xd8, 0x7a, 0x08, 0x37, 0xf2, 0xa0, + 0x96, 0x35, 0xf9, 0x2f, 0x1a, 0x5c, 0xe9, 0x86, 0xce, 0xe3, 0xc9, 0x60, 0xe4, 0x62, 0x72, 0x31, + 0xf6, 0xc7, 0xe3, 0xa1, 0x6b, 0x99, 0x04, 0xd5, 0x75, 0x58, 0x89, 0x99, 0xc5, 0x33, 0x5f, 0x66, + 0x8b, 0xfb, 0xe4, 0xe8, 0x65, 0x0d, 0x95, 0x94, 0x06, 0xe9, 0x66, 0x54, 0xe5, 0x9b, 0xb1, 0x06, + 0xf3, 0xf4, 0x89, 0x30, 0x73, 0xd9, 0x97, 0xe4, 0xcc, 0x39, 0xd9, 0x99, 0xf7, 0xf5, 0xc8, 0x0b, + 0x32, 0xaa, 0xd6, 0xfb, 0x70, 0x4d, 0x69, 0x03, 0x77, 0xc4, 0x36, 0xac, 0x9a, 0xc9, 0x72, 0xec, + 0x8c, 0x5a, 0x6f, 0x45, 0x58, 0x3d, 0xb2, 0x5b, 0xbf, 0xa5, 0x0e, 0xf9, 0x68, 0x6c, 0xc7, 0x2f, + 0x65, 0x66, 0x87, 0x4c, 0x6b, 0xaa, 0x64, 0x68, 0xca, 0x7b, 0x17, 0x99, 0x56, 0x5e, 0x27, 0x56, + 0x66, 0x03, 0xe3, 0xd1, 0xea, 0x97, 0xb0, 0xde, 0x0d, 0x9d, 0x8f, 0x5d, 0x7c, 0x6c, 0x07, 0xe6, + 0xe9, 0xeb, 0xc4, 0x9f, 0x89, 0x71, 0x1b, 0xae, 0xe7, 0xa8, 0xe7, 0x28, 0xbf, 0xd0, 0x08, 0xcc, + 0x87, 0x27, 0xe6, 0x70, 0x92, 0xe5, 0xe6, 0xe4, 0x62, 0x68, 0xd2, 0xc5, 0x28, 0xe9, 0xd9, 0x87, + 0x00, 0x88, 0x8a, 0x8e, 0x9f, 0xdb, 0xea, 0xde, 0x76, 0x56, 0x7a, 0x10, 0x74, 0x3e, 0xc6, 0x26, + 0x9e, 0x84, 0x3d, 0x81, 0x31, 0x42, 0x11, 0x20, 0x33, 0xe4, 0x61, 0x89, 0x7d, 0xdd, 0xaf, 0x47, + 0x86, 0x33, 0x48, 0xcc, 0x62, 0x95, 0x25, 0xdc, 0xe2, 0xff, 0x55, 0x84, 0x2c, 0x72, 0x60, 0x62, + 0xeb, 0x58, 0x69, 0x64, 0xc1, 0x7b, 0xfa, 0x3e, 0x2c, 0x46, 0x84, 0xa6, 0x67, 0xa1, 0x46, 0x75, + 0xab, 0xba, 0x53, 0xdf, 0xbb, 0x96, 0x65, 0x1a, 0xd1, 0x71, 0xc4, 0x08, 0x7b, 0x9c, 0x45, 0xba, + 0x75, 0xb5, 0x54, 0xa0, 0x7a, 0x00, 0x10, 0x62, 0x33, 0xc0, 0xfd, 0xe8, 0x8a, 0xb1, 0x24, 0x63, + 0xb4, 0x69, 0x01, 0xd0, 0x8e, 0x0b, 0x80, 0xf6, 0x93, 0xb8, 0x00, 0x38, 0xa8, 0x7d, 0xfe, 0xd5, + 0xa6, 0xd6, 0x5b, 0x22, 0x3c, 0xef, 0x99, 0x18, 0xe9, 0xdf, 0x83, 0x45, 0xe4, 0xd9, 0x94, 0x7d, + 0xbe, 0x24, 0xfb, 0x02, 0xf2, 0x6c, 0xc2, 0xac, 0x43, 0xcd, 0x1f, 0x23, 0xaf, 0xb1, 0xb0, 0xa5, + 0xed, 0x2c, 0xf6, 0xc8, 0xff, 0xfa, 0x3d, 0x58, 0xf2, 0x03, 0xd7, 0x71, 0xbd, 0x3e, 0x3e, 0x6b, + 0x2c, 0x12, 0x89, 0x57, 0xb3, 0xac, 0xfd, 0x11, 0x21, 0x7a, 0x72, 0xd6, 0x5b, 0xf4, 0xd9, 0x7f, + 0xf2, 0x29, 0xdd, 0x13, 0xd2, 0x1f, 0xf1, 0x0c, 0x0f, 0x0b, 0x9b, 0x50, 0x1f, 0x44, 0x0b, 0x7d, + 0x1b, 0x79, 0xfe, 0x88, 0x1d, 0x05, 0x90, 0xa5, 0xf7, 0xa2, 0x95, 0xd6, 0xdf, 0x34, 0xb8, 0xd4, + 0x0d, 0x9d, 0xae, 0xeb, 0x61, 0xc2, 0x49, 0x4b, 0x84, 0x50, 0x79, 0x7c, 0x29, 0x81, 0x95, 0xb4, + 0xc0, 0x57, 0x3d, 0x40, 0xc9, 0x25, 0xb5, 0xaf, 0xef, 0x92, 0x0d, 0xf2, 0x04, 0xd3, 0x66, 0xf1, + 0x0b, 0xfb, 0x04, 0x96, 0xa3, 0x98, 0x8a, 0xcc, 0x61, 0xfe, 0x6d, 0x2d, 0x32, 0x57, 0x56, 0xba, + 0x06, 0x97, 0x45, 0xa9, 0x5c, 0xdb, 0x7f, 0x2a, 0xb0, 0x40, 0x36, 0x3c, 0x92, 0x15, 0x42, 0xe4, + 0xd9, 0x89, 0x26, 0xfa, 0x15, 0xd5, 0x84, 0x01, 0xb2, 0xdc, 0xb1, 0x8b, 0x3c, 0x1c, 0x3f, 0x0b, + 0xbe, 0xa0, 0xef, 0x93, 0xd4, 0x1c, 0x99, 0xc0, 0x9c, 0x7a, 0x33, 0xcb, 0x29, 0x4c, 0x47, 0x3b, + 0xfa, 0x13, 0x5b, 0x1c, 0xf3, 0x19, 0xff, 0xd2, 0xa0, 0x2e, 0x6c, 0x14, 0x5e, 0x0d, 0xfd, 0x26, + 0x9c, 0xc7, 0x81, 0x69, 0x9b, 0x83, 0x21, 0xea, 0x9b, 0x23, 0x7f, 0xc2, 0x71, 0xad, 0xc6, 0xcb, + 0xfb, 0x64, 0x35, 0x8a, 0x5b, 0x01, 0xc2, 0x6e, 0x80, 0xec, 0x98, 0x8e, 0x06, 0xfc, 0x15, 0xb6, + 0xca, 0xc8, 0xee, 0xc2, 0x9b, 0x74, 0x61, 0x84, 0x3c, 0xdc, 0xcf, 0x28, 0x8c, 0xd6, 0x92, 0xed, + 0xf7, 0xc5, 0xea, 0xe1, 0x6d, 0xb8, 0x28, 0x30, 0xb2, 0xa0, 0x45, 0x33, 0xe7, 0x85, 0x64, 0xa3, + 0x27, 0x86, 0x2f, 0xea, 0xd4, 0xd6, 0x45, 0x38, 0xcf, 0x7c, 0xc2, 0xcf, 0xe2, 0x0f, 0x1a, 0x2c, + 0x75, 0x43, 0xa7, 0x47, 0xf8, 0xa2, 0x72, 0xcf, 0x3f, 0xf5, 0xf8, 0x61, 0xd0, 0x0f, 0xfd, 0xdd, + 0xc4, 0xdb, 0x15, 0xe2, 0xed, 0x75, 0x75, 0xf5, 0x9d, 0x78, 0xb8, 0x54, 0x25, 0xa4, 0x8a, 0xba, + 0xb4, 0xc6, 0x23, 0xea, 0x5b, 0x97, 0xe0, 0x22, 0x47, 0xc8, 0x71, 0xff, 0x82, 0xc0, 0x3e, 0x8c, + 0x1e, 0xc9, 0xf0, 0x9b, 0x85, 0x9d, 0x40, 0xaa, 0x16, 0x40, 0xa2, 0xda, 0x39, 0x24, 0x9f, 0x84, + 0x0e, 0x31, 0x65, 0x93, 0x04, 0x3b, 0x73, 0x09, 0xbd, 0x0e, 0x4b, 0x1e, 0x3a, 0x65, 0x29, 0x9b, + 0xd5, 0x0a, 0x1e, 0x3a, 0x25, 0xd2, 0xa4, 0xe2, 0x97, 0x3e, 0xea, 0xb4, 0x42, 0x8e, 0xe7, 0xf7, + 0x1a, 0xbc, 0x21, 0xef, 0x1f, 0xb1, 0x16, 0x65, 0x66, 0x48, 0x9b, 0x50, 0x37, 0x6d, 0xbb, 0x1f, + 0x77, 0x3c, 0x55, 0xd2, 0xf1, 0x80, 0x69, 0xdb, 0xb1, 0x44, 0x72, 0xe7, 0x47, 0xfe, 0x09, 0xe2, + 0x34, 0x35, 0x42, 0xb3, 0x42, 0x57, 0x19, 0x99, 0x84, 0x7e, 0x13, 0x36, 0x32, 0xd1, 0x71, 0xfc, + 0x67, 0x24, 0x8c, 0x0b, 0x04, 0xdd, 0x38, 0x75, 0xcd, 0x8c, 0xff, 0x1a, 0x2c, 0x47, 0x2e, 0x4d, + 0x55, 0x60, 0x75, 0x0f, 0x9d, 0xc6, 0x32, 0x25, 0x68, 0x5b, 0xd0, 0xcc, 0xd6, 0xcc, 0xb1, 0x4d, + 0x04, 0xd7, 0x7e, 0x28, 0x96, 0x53, 0xd9, 0xd0, 0x0a, 0xb2, 0x7c, 0xe9, 0x13, 0x17, 0x7d, 0x26, + 0xaa, 0xe5, 0xb8, 0x3e, 0x25, 0xfd, 0x90, 0x44, 0x50, 0xe0, 0xb5, 0x02, 0x68, 0x33, 0x7a, 0xae, + 0x05, 0x5b, 0x2a, 0xfd, 0x1c, 0xe3, 0xef, 0x68, 0xc8, 0x39, 0x08, 0x5c, 0xdb, 0x51, 0x85, 0x9c, + 0x35, 0x98, 0xc7, 0x66, 0xe0, 0xa0, 0x38, 0xc6, 0xb2, 0x2f, 0x39, 0x2d, 0x54, 0xd3, 0x69, 0x41, + 0x78, 0xf1, 0xb5, 0xf2, 0x2f, 0x5e, 0x7a, 0xd9, 0x9f, 0x69, 0xc2, 0xad, 0x23, 0x69, 0x8b, 0xfb, + 0xef, 0x6b, 0xd7, 0x00, 0x25, 0x7c, 0x28, 0xe5, 0x4d, 0xf1, 0xfa, 0x49, 0x10, 0xb8, 0x0b, 0x69, + 0xfc, 0xa1, 0x1e, 0xe4, 0x8b, 0x5f, 0xd5, 0x48, 0x03, 0x1f, 0xaf, 0x5a, 0xc8, 0x3d, 0x41, 0x4a, + 0xd0, 0x39, 0x8f, 0xe5, 0x11, 0x2c, 0xb0, 0xf3, 0x27, 0x48, 0xeb, 0x7b, 0xb7, 0x15, 0xc9, 0x55, + 0xd2, 0xd4, 0x8e, 0x7b, 0xd1, 0x98, 0x59, 0xff, 0x01, 0xcc, 0x11, 0x27, 0xb0, 0xba, 0xe5, 0x56, + 0x29, 0x29, 0xb4, 0x52, 0xa0, 0x8c, 0x72, 0xf5, 0x33, 0x37, 0x4b, 0xf5, 0x63, 0xfc, 0x5d, 0x83, + 0x39, 0x5a, 0xcb, 0x48, 0x57, 0x46, 0x4b, 0x5f, 0x99, 0x35, 0x98, 0x97, 0x92, 0x39, 0xfb, 0x4a, + 0x55, 0xc7, 0xd5, 0x57, 0xab, 0x8e, 0x6b, 0xb3, 0x56, 0xc7, 0x39, 0x3d, 0xb1, 0x31, 0x84, 0x85, + 0x78, 0x42, 0x91, 0x9e, 0x23, 0x68, 0x53, 0x73, 0x84, 0xa9, 0x24, 0x5c, 0xc9, 0x48, 0xc2, 0x79, + 0xbd, 0xa9, 0x74, 0x31, 0x3f, 0x21, 0xd1, 0x45, 0x3a, 0xb0, 0xd2, 0xa5, 0x75, 0x41, 0xa0, 0x69, + 0xfd, 0x04, 0x74, 0x36, 0x95, 0x8b, 0xae, 0xe1, 0x21, 0x9b, 0xb4, 0xe4, 0x8f, 0x06, 0x85, 0x09, + 0x4d, 0x45, 0x9a, 0xd0, 0x4c, 0xcd, 0xfc, 0xae, 0x82, 0x31, 0x2d, 0x9d, 0xbf, 0x1c, 0x44, 0x12, + 0xe9, 0x63, 0x84, 0xc5, 0xdd, 0xfd, 0xe1, 0xd0, 0x3f, 0x1d, 0xba, 0x21, 0x2e, 0x06, 0x81, 0xbc, + 0xa8, 0xfc, 0xa3, 0x46, 0x2d, 0xf6, 0xe2, 0xcf, 0x29, 0x10, 0xb4, 0x7b, 0x54, 0xa9, 0xe1, 0x68, + 0xfa, 0x24, 0xb7, 0xf4, 0x48, 0xe2, 0x7c, 0x2d, 0xce, 0xa0, 0x59, 0x64, 0x5a, 0x01, 0x47, 0xe0, + 0x91, 0xf0, 0x22, 0xe4, 0xbf, 0x47, 0xa8, 0x68, 0x4a, 0xcb, 0x66, 0x95, 0x95, 0x52, 0xb3, 0xca, + 0x34, 0xa0, 0xf5, 0xf4, 0x14, 0xe6, 0x11, 0x4a, 0xc2, 0x9a, 0x13, 0x8f, 0x6b, 0x89, 0xa7, 0x90, + 0x4d, 0xaf, 0xdf, 0xe1, 0xb1, 0xe9, 0x7a, 0x05, 0x98, 0x36, 0x00, 0xac, 0x88, 0xac, 0xef, 0x99, + 0x23, 0x14, 0xdf, 0x38, 0xb2, 0xf2, 0x81, 0x39, 0x9a, 0x46, 0x41, 0x73, 0x57, 0xa6, 0x22, 0x0e, + 0xe6, 0x19, 0xb9, 0x29, 0xd4, 0x75, 0xaf, 0x1b, 0x0f, 0xbd, 0x2e, 0x2a, 0x5d, 0x1c, 0x92, 0x45, + 0x7a, 0xb7, 0x83, 0x49, 0xe0, 0xf5, 0xa2, 0xc8, 0x18, 0x45, 0xb4, 0xc1, 0x24, 0x48, 0x32, 0x2a, + 0xfb, 0x52, 0x46, 0x3a, 0x55, 0xbd, 0x4b, 0x5f, 0x3e, 0x65, 0x66, 0xad, 0x1c, 0x57, 0x12, 0x2b, + 0xdf, 0xfb, 0x6f, 0x03, 0xaa, 0xdd, 0xd0, 0xd1, 0x7f, 0x0a, 0x75, 0x71, 0x66, 0xde, 0x52, 0xc4, + 0x7a, 0x81, 0xc6, 0xb8, 0x55, 0x4c, 0xc3, 0x83, 0x8b, 0x05, 0x2b, 0xf2, 0x5c, 0xfa, 0x46, 0x2e, + 0x33, 0xa3, 0x32, 0x6e, 0x97, 0xa1, 0xe2, 0x4a, 0x7e, 0xa3, 0xc1, 0x15, 0xf5, 0x34, 0xf8, 0xdb, + 0xb9, 0xb2, 0x32, 0x38, 0x8c, 0xef, 0xce, 0xca, 0xc1, 0x91, 0x7c, 0x0a, 0x6b, 0x8a, 0x19, 0xed, + 0x1d, 0x55, 0x9f, 0x9b, 0x49, 0x6e, 0xbc, 0x3b, 0x13, 0xb9, 0xa8, 0x5f, 0x31, 0x12, 0x55, 0xe9, + 0xcf, 0x26, 0x57, 0xea, 0xcf, 0x9f, 0x6b, 0xea, 0xbf, 0xd6, 0xa0, 0xa1, 0x9c, 0x6a, 0x76, 0x14, + 0x32, 0x55, 0x0c, 0xc6, 0xdd, 0x19, 0x19, 0x24, 0x18, 0xca, 0xa9, 0xa5, 0x0a, 0x86, 0x8a, 0x41, + 0x09, 0xa3, 0x68, 0x9a, 0x98, 0xbc, 0x2d, 0x5a, 0xcf, 0xe4, 0xbf, 0x2d, 0x42, 0x53, 0xf0, 0xb6, + 0xe4, 0x99, 0xd8, 0x10, 0x2e, 0x4c, 0x8d, 0xbb, 0x54, 0xe3, 0x94, 0x34, 0xa1, 0xd1, 0x29, 0x49, + 0xc8, 0xb5, 0x7d, 0x0c, 0x4b, 0xc9, 0x98, 0x69, 0x4b, 0x39, 0xb5, 0x61, 0x14, 0xc6, 0x4e, 0x11, + 0x05, 0x17, 0xfc, 0x43, 0xa8, 0x91, 0x81, 0xd2, 0x7a, 0xce, 0x24, 0xc8, 0xb8, 0x9e, 0xb3, 0xc9, + 0x25, 0x7d, 0x00, 0xf3, 0x6c, 0x1c, 0xb2, 0xa1, 0x20, 0xa7, 0xdb, 0xc6, 0x76, 0xee, 0xb6, 0x28, + 0x8f, 0xcd, 0x29, 0x54, 0xf2, 0xe8, 0xb6, 0x52, 0x9e, 0x3c, 0x67, 0x88, 0x0e, 0x6c, 0x6a, 0xc8, + 0x70, 0xb3, 0xc4, 0x43, 0x8b, 0x08, 0x95, 0x07, 0xa6, 0x9a, 0x22, 0xe8, 0x01, 0xe8, 0x19, 0x13, + 0x84, 0xb7, 0x8a, 0xc5, 0x30, 0x52, 0x63, 0xb7, 0x34, 0x29, 0xd7, 0x39, 0x81, 0x4b, 0x59, 0x6d, + 0xff, 0xad, 0x62, 0x49, 0x31, 0xad, 0xb1, 0x57, 0x9e, 0x76, 0xda, 0x54, 0xa9, 0xa3, 0xcf, 0x37, + 0x55, 0x24, 0x2d, 0x30, 0x35, 0xab, 0x61, 0xd7, 0x7f, 0x0e, 0x6f, 0x64, 0x77, 0xeb, 0xb7, 0xcb, + 0xc8, 0xe2, 0xe6, 0x7e, 0x67, 0x16, 0xea, 0x69, 0x3f, 0xcb, 0x8d, 0x6e, 0xbe, 0x9f, 0x25, 0xda, + 0x02, 0x3f, 0x67, 0x76, 0xaf, 0xd1, 0x83, 0x60, 0xcd, 0xff, 0x46, 0x6e, 0x4f, 0xa8, 0x7c, 0x10, + 0x72, 0xe3, 0x1b, 0x55, 0x07, 0x72, 0xd3, 0x7b, 0xa3, 0x4c, 0xab, 0x69, 0x94, 0x6a, 0x6b, 0x45, + 0x25, 0xf2, 0xaf, 0x16, 0x54, 0x4a, 0x24, 0x2a, 0xa5, 0x92, 0xcc, 0x9f, 0x1f, 0x90, 0x8c, 0xa3, + 0x6c, 0x43, 0x3a, 0xca, 0xe0, 0x95, 0xcd, 0xa0, 0xcc, 0x38, 0x45, 0x1d, 0x88, 0xee, 0xc2, 0xf9, + 0x74, 0x23, 0xf6, 0xad, 0x1c, 0x3b, 0x04, 0x3a, 0xa3, 0x5d, 0x8e, 0x4e, 0x7c, 0x73, 0x19, 0x9d, + 0xce, 0x5b, 0xca, 0xc8, 0x9a, 0x26, 0x55, 0xbe, 0x39, 0x75, 0x7b, 0xa3, 0x3f, 0x85, 0xd5, 0x54, + 0x6f, 0xb3, 0x5d, 0x1c, 0x2d, 0x1e, 0x21, 0x64, 0xdc, 0x29, 0x45, 0x26, 0xbe, 0xed, 0xec, 0xb6, + 0x25, 0xe7, 0x52, 0x4c, 0x53, 0x2b, 0xdf, 0x76, 0x6e, 0xa7, 0x42, 0xae, 0x92, 0xb2, 0x4f, 0xe9, + 0xe4, 0x3a, 0x2d, 0x03, 0xc3, 0xdd, 0x19, 0x19, 0xc4, 0x7c, 0x9f, 0xb4, 0x26, 0xaa, 0x7c, 0xcf, + 0x29, 0x94, 0xf9, 0x7e, 0xaa, 0xf3, 0x38, 0xf8, 0xf1, 0x17, 0x2f, 0x9a, 0xda, 0x97, 0x2f, 0x9a, + 0xda, 0x3f, 0x5f, 0x34, 0xb5, 0xcf, 0x5f, 0x36, 0xcf, 0x7d, 0xf9, 0xb2, 0x79, 0xee, 0x1f, 0x2f, + 0x9b, 0xe7, 0x3e, 0x79, 0xe0, 0xb8, 0xf8, 0x78, 0x32, 0x68, 0x5b, 0xfe, 0xa8, 0x43, 0xa4, 0xdd, + 0xf1, 0x10, 0x3e, 0xf5, 0x83, 0x9f, 0xb1, 0xaf, 0x21, 0xb2, 0x1d, 0x14, 0x74, 0xce, 0x84, 0x5f, + 0x29, 0x91, 0x9f, 0x4f, 0x91, 0xdf, 0x29, 0x75, 0x4e, 0x76, 0x07, 0xf3, 0x64, 0x40, 0xf3, 0xce, + 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x94, 0xfa, 0x89, 0x8e, 0x25, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MsgClient interface { // CreateClass creates a new credit class under the given credit type with an // approved list of issuers and optional metadata. If the class fee parameter // is set, the fee field must be populated with equal value. A greater fee can // be provided, however, the creator will only be charged the amount specified // in the fee parameter. The creator of the credit class becomes the admin of // the credit class upon creation. - CreateClass(context.Context, *MsgCreateClass) (*MsgCreateClassResponse, error) + CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) // CreateProject creates a new project under the given credit class with a // jurisdiction, optional metadata, and an optional reference ID. The creator // of the project must be an approved credit class issuer for the given credit // class. The creator becomes the admin of the project upon creation. - CreateProject(context.Context, *MsgCreateProject) (*MsgCreateProjectResponse, error) + CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) + // CreateUnregisteredProject creates a new project without registering it + // under a credit class. This method is intended to be used by project proponents + // who are not yet ready to register their project under a credit class, but who + // want to create a project and receive a project ID. + CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) + // SubmitClassApplication submits an application for a project to be added to + // a credit class. The project admin must submit an application to a specific + // issuer of a specific credit class for it to be considered. Currently, + // a project can only apply to one credit class at a time via a single + // issuer. + // + // Since Revision 3 + SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) + // UpdateClassApplication updates the metadata of a submitted application. + // + // Since Revision 3 + UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) + // WithdrawClassApplication withdraws a submitted application. + // + // Since Revision 3 + WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) + // EvaluateClassApplication evaluates a submitted application. Only the issuer + // of the credit class can evaluate an application. The issuer can either + // approve, request changes to, or reject the application. + // + // Since Revision 3 + EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -3503,57 +3775,57 @@ type MsgServer interface { // "open" option should only be set to true when bridging credits from another // chain or registry as a result of a bridge operation and is not intended for // native credit issuance. - CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) + CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) // MintBatchCredits dynamically mints credits to an "open" credit batch. This // feature is only meant to be used when bridging credits from another chain // or registry and is not intended for native credit issuance. When bridging // credits from the same vintage (or monitoring period) as an existing credit // batch, the credits can be dynamically minted to the existing credit batch // if the credit batch is "open". - MintBatchCredits(context.Context, *MsgMintBatchCredits) (*MsgMintBatchCreditsResponse, error) + MintBatchCredits(ctx context.Context, in *MsgMintBatchCredits, opts ...grpc.CallOption) (*MsgMintBatchCreditsResponse, error) // MsgSealBatch seals an "open" credit batch. Once a credit batch is sealed // (i.e. once "open" is set to false), credits can no longer be dynamically // minted to the credit batch. A sealed credit batch cannot be unsealed and // only the credit batch issuer can seal a credit batch. - SealBatch(context.Context, *MsgSealBatch) (*MsgSealBatchResponse, error) + SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grpc.CallOption) (*MsgSealBatchResponse, error) // Send sends a specified amount of tradable credits from the credit owner's // account to another account. Sent credits can either remain tradable or be // retired upon receipt. - Send(context.Context, *MsgSend) (*MsgSendResponse, error) + Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) // Retire retires a specified amount of tradable credits, removing the amount // from the credit owner's tradable balance and adding it to their retired // balance. Retiring credits is permanent and implies the credits are being // consumed as a offset. - Retire(context.Context, *MsgRetire) (*MsgRetireResponse, error) + Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) // Cancel cancels a specified amount of tradable credits, removing the amount // from the credit owner's tradable balance and removing the amount from the // credit batch's tradable supply. Cancelling credits is permanent and implies // the credits have been moved to another chain or registry. - Cancel(context.Context, *MsgCancel) (*MsgCancelResponse, error) + Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) // UpdateClassAdmin updates the credit class admin. Only the admin of the // credit class can update the credit class. - UpdateClassAdmin(context.Context, *MsgUpdateClassAdmin) (*MsgUpdateClassAdminResponse, error) + UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) // UpdateClassIssuers updates the credit class issuer list. Only the admin of // the credit class can update the credit class. - UpdateClassIssuers(context.Context, *MsgUpdateClassIssuers) (*MsgUpdateClassIssuersResponse, error) + UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) // UpdateClassMetadata updates the credit class metadata. Only the admin of // the credit class can update the credit class. - UpdateClassMetadata(context.Context, *MsgUpdateClassMetadata) (*MsgUpdateClassMetadataResponse, error) + UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) // UpdateProjectAdmin updates the project admin address. Only the admin of the // project can update the project. - UpdateProjectAdmin(context.Context, *MsgUpdateProjectAdmin) (*MsgUpdateProjectAdminResponse, error) + UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProjectAdmin, opts ...grpc.CallOption) (*MsgUpdateProjectAdminResponse, error) // UpdateProjectMetadata updates the project metadata. Only the admin of the // project can update the project. - UpdateProjectMetadata(context.Context, *MsgUpdateProjectMetadata) (*MsgUpdateProjectMetadataResponse, error) + UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProjectMetadata, opts ...grpc.CallOption) (*MsgUpdateProjectMetadataResponse, error) // UpdateBatchMetadata updates the batch metadata. Only an "open" batch can be // updated and only the issuer of the batch can update the batch. // // Since Revision 2 - UpdateBatchMetadata(context.Context, *MsgUpdateBatchMetadata) (*MsgUpdateBatchMetadataResponse, error) + UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchMetadata, opts ...grpc.CallOption) (*MsgUpdateBatchMetadataResponse, error) // Bridge processes credits being sent back to the source chain. When credits // are sent back to the source chain, the credits are cancelled and an event // is emitted to be handled by an external bridge service. - Bridge(context.Context, *MsgBridge) (*MsgBridgeResponse, error) + Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.CallOption) (*MsgBridgeResponse, error) // BridgeReceive processes credits being sent from another chain. When the // credits are sent from the same vintage as an existing credit batch within // the scope of the provided credit class, the credits will be minted to the @@ -3561,1408 +3833,1224 @@ type MsgServer interface { // batch. The new credit batch will be created under an existing project if a // project with a matching reference id already exists within the scope of the // credit class, otherwise a new project will be created. - BridgeReceive(context.Context, *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) + BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) // AddCreditType is a governance method that allows the addition of new // credit types to the network. // // Since Revision 2 - AddCreditType(context.Context, *MsgAddCreditType) (*MsgAddCreditTypeResponse, error) + AddCreditType(ctx context.Context, in *MsgAddCreditType, opts ...grpc.CallOption) (*MsgAddCreditTypeResponse, error) // SetClassCreatorAllowlist is a governance method that updates the class // creator allowlist enabled setting. When enabled, only addresses listed in // the allowlist can create credit classes. When disabled, any address can // create credit classes. // // Since Revision 2 - SetClassCreatorAllowlist(context.Context, *MsgSetClassCreatorAllowlist) (*MsgSetClassCreatorAllowlistResponse, error) + SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClassCreatorAllowlist, opts ...grpc.CallOption) (*MsgSetClassCreatorAllowlistResponse, error) // AddClassCreator is a governance method that allows the addition of a new // address to the class creation allowlist. // // Since Revision 2 - AddClassCreator(context.Context, *MsgAddClassCreator) (*MsgAddClassCreatorResponse, error) + AddClassCreator(ctx context.Context, in *MsgAddClassCreator, opts ...grpc.CallOption) (*MsgAddClassCreatorResponse, error) // RemoveClassCreator is a governance method that removes an // address from the class creation allowlist. // // Since Revision 2 - RemoveClassCreator(context.Context, *MsgRemoveClassCreator) (*MsgRemoveClassCreatorResponse, error) + RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCreator, opts ...grpc.CallOption) (*MsgRemoveClassCreatorResponse, error) // UpdateClassFee is a governance method that allows for updating the credit // class creation fee. If no fee is specified in the request, the credit // class creation fee will be removed and no fee will be required to create // a credit class. // // Since Revision 2 - UpdateClassFee(context.Context, *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) + UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // // Since Revision 2 - AddAllowedBridgeChain(context.Context, *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) + AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) // RemoveAllowedBridgeChain is a governance method that allows for the // removal of a chain to bridge ecocredits to. // // Since Revision 2 - RemoveAllowedBridgeChain(context.Context, *MsgRemoveAllowedBridgeChain) (*MsgRemoveAllowedBridgeChainResponse, error) + RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveAllowedBridgeChain, opts ...grpc.CallOption) (*MsgRemoveAllowedBridgeChainResponse, error) // BurnRegen burns REGEN tokens to account for platform fees when creating or transferring credits. // // Since Revision 3 - BurnRegen(context.Context, *MsgBurnRegen) (*MsgBurnRegenResponse, error) + BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grpc.CallOption) (*MsgBurnRegenResponse, error) } -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { +type msgClient struct { + cc grpc1.ClientConn } -func (*UnimplementedMsgServer) CreateClass(ctx context.Context, req *MsgCreateClass) (*MsgCreateClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateClass not implemented") +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} } -func (*UnimplementedMsgServer) CreateProject(ctx context.Context, req *MsgCreateProject) (*MsgCreateProjectResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented") + +func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) { + out := new(MsgCreateClassResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateClass", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) CreateBatch(ctx context.Context, req *MsgCreateBatch) (*MsgCreateBatchResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") + +func (c *msgClient) CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) { + out := new(MsgCreateProjectResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateProject", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) MintBatchCredits(ctx context.Context, req *MsgMintBatchCredits) (*MsgMintBatchCreditsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MintBatchCredits not implemented") + +func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) { + out := new(MsgCreateUnregisteredProjectResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateUnregisteredProject", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) SealBatch(ctx context.Context, req *MsgSealBatch) (*MsgSealBatchResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SealBatch not implemented") + +func (c *msgClient) SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) { + out := new(MsgSubmitClassApplicationResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SubmitClassApplication", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) Send(ctx context.Context, req *MsgSend) (*MsgSendResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") + +func (c *msgClient) UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) { + out := new(MsgUpdateClassApplicationResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassApplication", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) Retire(ctx context.Context, req *MsgRetire) (*MsgRetireResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Retire not implemented") + +func (c *msgClient) WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) { + out := new(MsgWithdrawClassApplicationResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawClassApplication", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) Cancel(ctx context.Context, req *MsgCancel) (*MsgCancelResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") + +func (c *msgClient) EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) { + out := new(MsgEvaluateClassApplicationResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateClassApplication", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) UpdateClassAdmin(ctx context.Context, req *MsgUpdateClassAdmin) (*MsgUpdateClassAdminResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassAdmin not implemented") + +func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) { + out := new(MsgCreateBatchResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateBatch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) UpdateClassIssuers(ctx context.Context, req *MsgUpdateClassIssuers) (*MsgUpdateClassIssuersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassIssuers not implemented") + +func (c *msgClient) MintBatchCredits(ctx context.Context, in *MsgMintBatchCredits, opts ...grpc.CallOption) (*MsgMintBatchCreditsResponse, error) { + out := new(MsgMintBatchCreditsResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/MintBatchCredits", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (*UnimplementedMsgServer) UpdateClassMetadata(ctx context.Context, req *MsgUpdateClassMetadata) (*MsgUpdateClassMetadataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassMetadata not implemented") -} -func (*UnimplementedMsgServer) UpdateProjectAdmin(ctx context.Context, req *MsgUpdateProjectAdmin) (*MsgUpdateProjectAdminResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectAdmin not implemented") -} -func (*UnimplementedMsgServer) UpdateProjectMetadata(ctx context.Context, req *MsgUpdateProjectMetadata) (*MsgUpdateProjectMetadataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectMetadata not implemented") -} -func (*UnimplementedMsgServer) UpdateBatchMetadata(ctx context.Context, req *MsgUpdateBatchMetadata) (*MsgUpdateBatchMetadataResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateBatchMetadata not implemented") -} -func (*UnimplementedMsgServer) Bridge(ctx context.Context, req *MsgBridge) (*MsgBridgeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Bridge not implemented") -} -func (*UnimplementedMsgServer) BridgeReceive(ctx context.Context, req *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BridgeReceive not implemented") -} -func (*UnimplementedMsgServer) AddCreditType(ctx context.Context, req *MsgAddCreditType) (*MsgAddCreditTypeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddCreditType not implemented") -} -func (*UnimplementedMsgServer) SetClassCreatorAllowlist(ctx context.Context, req *MsgSetClassCreatorAllowlist) (*MsgSetClassCreatorAllowlistResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetClassCreatorAllowlist not implemented") -} -func (*UnimplementedMsgServer) AddClassCreator(ctx context.Context, req *MsgAddClassCreator) (*MsgAddClassCreatorResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddClassCreator not implemented") -} -func (*UnimplementedMsgServer) RemoveClassCreator(ctx context.Context, req *MsgRemoveClassCreator) (*MsgRemoveClassCreatorResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveClassCreator not implemented") -} -func (*UnimplementedMsgServer) UpdateClassFee(ctx context.Context, req *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassFee not implemented") -} -func (*UnimplementedMsgServer) AddAllowedBridgeChain(ctx context.Context, req *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddAllowedBridgeChain not implemented") -} -func (*UnimplementedMsgServer) RemoveAllowedBridgeChain(ctx context.Context, req *MsgRemoveAllowedBridgeChain) (*MsgRemoveAllowedBridgeChainResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveAllowedBridgeChain not implemented") -} -func (*UnimplementedMsgServer) BurnRegen(ctx context.Context, req *MsgBurnRegen) (*MsgBurnRegenResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BurnRegen not implemented") + +func (c *msgClient) SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grpc.CallOption) (*MsgSealBatchResponse, error) { + out := new(MsgSealBatchResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SealBatch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) +func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { + out := new(MsgSendResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Send", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil } -func _Msg_CreateClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateClass) - if err := dec(in); err != nil { +func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) { + out := new(MsgRetireResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Retire", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CreateClass(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/CreateClass", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateClass(ctx, req.(*MsgCreateClass)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateProject) - if err := dec(in); err != nil { +func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) { + out := new(MsgCancelResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Cancel", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CreateProject(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/CreateProject", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateProject(ctx, req.(*MsgCreateProject)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_CreateBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateBatch) - if err := dec(in); err != nil { +func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) { + out := new(MsgUpdateClassAdminResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassAdmin", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).CreateBatch(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/CreateBatch", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateBatch(ctx, req.(*MsgCreateBatch)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_MintBatchCredits_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMintBatchCredits) - if err := dec(in); err != nil { +func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) { + out := new(MsgUpdateClassIssuersResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassIssuers", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).MintBatchCredits(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/MintBatchCredits", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MintBatchCredits(ctx, req.(*MsgMintBatchCredits)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_SealBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSealBatch) - if err := dec(in); err != nil { +func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) { + out := new(MsgUpdateClassMetadataResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassMetadata", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).SealBatch(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/SealBatch", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SealBatch(ctx, req.(*MsgSealBatch)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_Send_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSend) - if err := dec(in); err != nil { +func (c *msgClient) UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProjectAdmin, opts ...grpc.CallOption) (*MsgUpdateProjectAdminResponse, error) { + out := new(MsgUpdateProjectAdminResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectAdmin", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).Send(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/Send", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Send(ctx, req.(*MsgSend)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_Retire_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRetire) - if err := dec(in); err != nil { +func (c *msgClient) UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProjectMetadata, opts ...grpc.CallOption) (*MsgUpdateProjectMetadataResponse, error) { + out := new(MsgUpdateProjectMetadataResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectMetadata", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).Retire(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/Retire", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Retire(ctx, req.(*MsgRetire)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCancel) - if err := dec(in); err != nil { +func (c *msgClient) UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchMetadata, opts ...grpc.CallOption) (*MsgUpdateBatchMetadataResponse, error) { + out := new(MsgUpdateBatchMetadataResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateBatchMetadata", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).Cancel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/Cancel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Cancel(ctx, req.(*MsgCancel)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_UpdateClassAdmin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassAdmin) - if err := dec(in); err != nil { +func (c *msgClient) Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.CallOption) (*MsgBridgeResponse, error) { + out := new(MsgBridgeResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/Bridge", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).UpdateClassAdmin(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassAdmin", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassAdmin(ctx, req.(*MsgUpdateClassAdmin)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_UpdateClassIssuers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassIssuers) - if err := dec(in); err != nil { +func (c *msgClient) BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) { + out := new(MsgBridgeReceiveResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/BridgeReceive", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).UpdateClassIssuers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassIssuers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassIssuers(ctx, req.(*MsgUpdateClassIssuers)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_UpdateClassMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassMetadata) - if err := dec(in); err != nil { +func (c *msgClient) AddCreditType(ctx context.Context, in *MsgAddCreditType, opts ...grpc.CallOption) (*MsgAddCreditTypeResponse, error) { + out := new(MsgAddCreditTypeResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddCreditType", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).UpdateClassMetadata(ctx, in) + return out, nil +} + +func (c *msgClient) SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClassCreatorAllowlist, opts ...grpc.CallOption) (*MsgSetClassCreatorAllowlistResponse, error) { + out := new(MsgSetClassCreatorAllowlistResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist", in, out, opts...) + if err != nil { + return nil, err } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassMetadata", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassMetadata(ctx, req.(*MsgUpdateClassMetadata)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateProjectAdmin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectAdmin) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProjectAdmin(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectAdmin", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectAdmin(ctx, req.(*MsgUpdateProjectAdmin)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateProjectMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectMetadata) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProjectMetadata(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectMetadata", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectMetadata(ctx, req.(*MsgUpdateProjectMetadata)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateBatchMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateBatchMetadata) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateBatchMetadata(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateBatchMetadata", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateBatchMetadata(ctx, req.(*MsgUpdateBatchMetadata)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_Bridge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBridge) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).Bridge(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/Bridge", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).Bridge(ctx, req.(*MsgBridge)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_BridgeReceive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBridgeReceive) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).BridgeReceive(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/BridgeReceive", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BridgeReceive(ctx, req.(*MsgBridgeReceive)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_AddCreditType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddCreditType) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).AddCreditType(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/AddCreditType", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddCreditType(ctx, req.(*MsgAddCreditType)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_SetClassCreatorAllowlist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetClassCreatorAllowlist) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SetClassCreatorAllowlist(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetClassCreatorAllowlist(ctx, req.(*MsgSetClassCreatorAllowlist)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_AddClassCreator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddClassCreator) - if err := dec(in); err != nil { +func (c *msgClient) AddClassCreator(ctx context.Context, in *MsgAddClassCreator, opts ...grpc.CallOption) (*MsgAddClassCreatorResponse, error) { + out := new(MsgAddClassCreatorResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddClassCreator", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).AddClassCreator(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/AddClassCreator", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddClassCreator(ctx, req.(*MsgAddClassCreator)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_RemoveClassCreator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRemoveClassCreator) - if err := dec(in); err != nil { +func (c *msgClient) RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCreator, opts ...grpc.CallOption) (*MsgRemoveClassCreatorResponse, error) { + out := new(MsgRemoveClassCreatorResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/RemoveClassCreator", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).RemoveClassCreator(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/RemoveClassCreator", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveClassCreator(ctx, req.(*MsgRemoveClassCreator)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_UpdateClassFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassFee) - if err := dec(in); err != nil { +func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) { + out := new(MsgUpdateClassFeeResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassFee", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).UpdateClassFee(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassFee", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassFee(ctx, req.(*MsgUpdateClassFee)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_AddAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddAllowedBridgeChain) - if err := dec(in); err != nil { +func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) { + out := new(MsgAddAllowedBridgeChainResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).AddAllowedBridgeChain(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddAllowedBridgeChain(ctx, req.(*MsgAddAllowedBridgeChain)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_RemoveAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRemoveAllowedBridgeChain) - if err := dec(in); err != nil { +func (c *msgClient) RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveAllowedBridgeChain, opts ...grpc.CallOption) (*MsgRemoveAllowedBridgeChainResponse, error) { + out := new(MsgRemoveAllowedBridgeChainResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).RemoveAllowedBridgeChain(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveAllowedBridgeChain(ctx, req.(*MsgRemoveAllowedBridgeChain)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -func _Msg_BurnRegen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBurnRegen) - if err := dec(in); err != nil { +func (c *msgClient) BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grpc.CallOption) (*MsgBurnRegenResponse, error) { + out := new(MsgBurnRegenResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/BurnRegen", in, out, opts...) + if err != nil { return nil, err } - if interceptor == nil { - return srv.(MsgServer).BurnRegen(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/BurnRegen", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BurnRegen(ctx, req.(*MsgBurnRegen)) - } - return interceptor(ctx, in, info, handler) + return out, nil } -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "regen.ecocredit.v1.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateClass", - Handler: _Msg_CreateClass_Handler, - }, - { - MethodName: "CreateProject", - Handler: _Msg_CreateProject_Handler, - }, - { - MethodName: "CreateBatch", - Handler: _Msg_CreateBatch_Handler, - }, - { - MethodName: "MintBatchCredits", - Handler: _Msg_MintBatchCredits_Handler, - }, - { - MethodName: "SealBatch", - Handler: _Msg_SealBatch_Handler, - }, - { - MethodName: "Send", - Handler: _Msg_Send_Handler, - }, - { - MethodName: "Retire", - Handler: _Msg_Retire_Handler, - }, - { - MethodName: "Cancel", - Handler: _Msg_Cancel_Handler, - }, - { - MethodName: "UpdateClassAdmin", - Handler: _Msg_UpdateClassAdmin_Handler, - }, - { - MethodName: "UpdateClassIssuers", - Handler: _Msg_UpdateClassIssuers_Handler, - }, - { - MethodName: "UpdateClassMetadata", - Handler: _Msg_UpdateClassMetadata_Handler, - }, - { - MethodName: "UpdateProjectAdmin", - Handler: _Msg_UpdateProjectAdmin_Handler, - }, - { - MethodName: "UpdateProjectMetadata", - Handler: _Msg_UpdateProjectMetadata_Handler, - }, - { - MethodName: "UpdateBatchMetadata", - Handler: _Msg_UpdateBatchMetadata_Handler, - }, - { - MethodName: "Bridge", - Handler: _Msg_Bridge_Handler, - }, - { - MethodName: "BridgeReceive", - Handler: _Msg_BridgeReceive_Handler, - }, - { - MethodName: "AddCreditType", - Handler: _Msg_AddCreditType_Handler, - }, - { - MethodName: "SetClassCreatorAllowlist", - Handler: _Msg_SetClassCreatorAllowlist_Handler, - }, - { - MethodName: "AddClassCreator", - Handler: _Msg_AddClassCreator_Handler, - }, - { - MethodName: "RemoveClassCreator", - Handler: _Msg_RemoveClassCreator_Handler, - }, - { - MethodName: "UpdateClassFee", - Handler: _Msg_UpdateClassFee_Handler, - }, - { - MethodName: "AddAllowedBridgeChain", - Handler: _Msg_AddAllowedBridgeChain_Handler, - }, - { - MethodName: "RemoveAllowedBridgeChain", - Handler: _Msg_RemoveAllowedBridgeChain_Handler, - }, - { - MethodName: "BurnRegen", - Handler: _Msg_BurnRegen_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "regen/ecocredit/v1/tx.proto", +// MsgServer is the server API for Msg service. +type MsgServer interface { + // CreateClass creates a new credit class under the given credit type with an + // approved list of issuers and optional metadata. If the class fee parameter + // is set, the fee field must be populated with equal value. A greater fee can + // be provided, however, the creator will only be charged the amount specified + // in the fee parameter. The creator of the credit class becomes the admin of + // the credit class upon creation. + CreateClass(context.Context, *MsgCreateClass) (*MsgCreateClassResponse, error) + // CreateProject creates a new project under the given credit class with a + // jurisdiction, optional metadata, and an optional reference ID. The creator + // of the project must be an approved credit class issuer for the given credit + // class. The creator becomes the admin of the project upon creation. + CreateProject(context.Context, *MsgCreateProject) (*MsgCreateProjectResponse, error) + // CreateUnregisteredProject creates a new project without registering it + // under a credit class. This method is intended to be used by project proponents + // who are not yet ready to register their project under a credit class, but who + // want to create a project and receive a project ID. + CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) + // SubmitClassApplication submits an application for a project to be added to + // a credit class. The project admin must submit an application to a specific + // issuer of a specific credit class for it to be considered. Currently, + // a project can only apply to one credit class at a time via a single + // issuer. + // + // Since Revision 3 + SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) + // UpdateClassApplication updates the metadata of a submitted application. + // + // Since Revision 3 + UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) + // WithdrawClassApplication withdraws a submitted application. + // + // Since Revision 3 + WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) + // EvaluateClassApplication evaluates a submitted application. Only the issuer + // of the credit class can evaluate an application. The issuer can either + // approve, request changes to, or reject the application. + // + // Since Revision 3 + EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) + // CreateBatch creates a new batch of credits under the given project with a + // start and end date representing the monitoring period, a list of credits to + // be issued with each issuance specifying a recipient, the amount of tradable + // and retired credits, and the retirement jurisdiction (if credits are to be + // retired upon receipt), and optional metadata. The credit batch creator must + // be listed as an approved issuer within the credit class of the project that + // the credits are being issued under. + // + // The default behavior is for a new credit batch to be "sealed" as opposed to + // being "open". When a credit batch is "open", new credits can be dynamically + // minted to the credit batch following the creation of the credit batch. This + // "open" option should only be set to true when bridging credits from another + // chain or registry as a result of a bridge operation and is not intended for + // native credit issuance. + CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) + // MintBatchCredits dynamically mints credits to an "open" credit batch. This + // feature is only meant to be used when bridging credits from another chain + // or registry and is not intended for native credit issuance. When bridging + // credits from the same vintage (or monitoring period) as an existing credit + // batch, the credits can be dynamically minted to the existing credit batch + // if the credit batch is "open". + MintBatchCredits(context.Context, *MsgMintBatchCredits) (*MsgMintBatchCreditsResponse, error) + // MsgSealBatch seals an "open" credit batch. Once a credit batch is sealed + // (i.e. once "open" is set to false), credits can no longer be dynamically + // minted to the credit batch. A sealed credit batch cannot be unsealed and + // only the credit batch issuer can seal a credit batch. + SealBatch(context.Context, *MsgSealBatch) (*MsgSealBatchResponse, error) + // Send sends a specified amount of tradable credits from the credit owner's + // account to another account. Sent credits can either remain tradable or be + // retired upon receipt. + Send(context.Context, *MsgSend) (*MsgSendResponse, error) + // Retire retires a specified amount of tradable credits, removing the amount + // from the credit owner's tradable balance and adding it to their retired + // balance. Retiring credits is permanent and implies the credits are being + // consumed as a offset. + Retire(context.Context, *MsgRetire) (*MsgRetireResponse, error) + // Cancel cancels a specified amount of tradable credits, removing the amount + // from the credit owner's tradable balance and removing the amount from the + // credit batch's tradable supply. Cancelling credits is permanent and implies + // the credits have been moved to another chain or registry. + Cancel(context.Context, *MsgCancel) (*MsgCancelResponse, error) + // UpdateClassAdmin updates the credit class admin. Only the admin of the + // credit class can update the credit class. + UpdateClassAdmin(context.Context, *MsgUpdateClassAdmin) (*MsgUpdateClassAdminResponse, error) + // UpdateClassIssuers updates the credit class issuer list. Only the admin of + // the credit class can update the credit class. + UpdateClassIssuers(context.Context, *MsgUpdateClassIssuers) (*MsgUpdateClassIssuersResponse, error) + // UpdateClassMetadata updates the credit class metadata. Only the admin of + // the credit class can update the credit class. + UpdateClassMetadata(context.Context, *MsgUpdateClassMetadata) (*MsgUpdateClassMetadataResponse, error) + // UpdateProjectAdmin updates the project admin address. Only the admin of the + // project can update the project. + UpdateProjectAdmin(context.Context, *MsgUpdateProjectAdmin) (*MsgUpdateProjectAdminResponse, error) + // UpdateProjectMetadata updates the project metadata. Only the admin of the + // project can update the project. + UpdateProjectMetadata(context.Context, *MsgUpdateProjectMetadata) (*MsgUpdateProjectMetadataResponse, error) + // UpdateBatchMetadata updates the batch metadata. Only an "open" batch can be + // updated and only the issuer of the batch can update the batch. + // + // Since Revision 2 + UpdateBatchMetadata(context.Context, *MsgUpdateBatchMetadata) (*MsgUpdateBatchMetadataResponse, error) + // Bridge processes credits being sent back to the source chain. When credits + // are sent back to the source chain, the credits are cancelled and an event + // is emitted to be handled by an external bridge service. + Bridge(context.Context, *MsgBridge) (*MsgBridgeResponse, error) + // BridgeReceive processes credits being sent from another chain. When the + // credits are sent from the same vintage as an existing credit batch within + // the scope of the provided credit class, the credits will be minted to the + // existing credit batch, otherwise the credits will be issued in a new credit + // batch. The new credit batch will be created under an existing project if a + // project with a matching reference id already exists within the scope of the + // credit class, otherwise a new project will be created. + BridgeReceive(context.Context, *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) + // AddCreditType is a governance method that allows the addition of new + // credit types to the network. + // + // Since Revision 2 + AddCreditType(context.Context, *MsgAddCreditType) (*MsgAddCreditTypeResponse, error) + // SetClassCreatorAllowlist is a governance method that updates the class + // creator allowlist enabled setting. When enabled, only addresses listed in + // the allowlist can create credit classes. When disabled, any address can + // create credit classes. + // + // Since Revision 2 + SetClassCreatorAllowlist(context.Context, *MsgSetClassCreatorAllowlist) (*MsgSetClassCreatorAllowlistResponse, error) + // AddClassCreator is a governance method that allows the addition of a new + // address to the class creation allowlist. + // + // Since Revision 2 + AddClassCreator(context.Context, *MsgAddClassCreator) (*MsgAddClassCreatorResponse, error) + // RemoveClassCreator is a governance method that removes an + // address from the class creation allowlist. + // + // Since Revision 2 + RemoveClassCreator(context.Context, *MsgRemoveClassCreator) (*MsgRemoveClassCreatorResponse, error) + // UpdateClassFee is a governance method that allows for updating the credit + // class creation fee. If no fee is specified in the request, the credit + // class creation fee will be removed and no fee will be required to create + // a credit class. + // + // Since Revision 2 + UpdateClassFee(context.Context, *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) + // AddAllowedBridgeChain is a governance method that allows for the + // addition of a chain to bridge ecocredits to. + // + // Since Revision 2 + AddAllowedBridgeChain(context.Context, *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) + // RemoveAllowedBridgeChain is a governance method that allows for the + // removal of a chain to bridge ecocredits to. + // + // Since Revision 2 + RemoveAllowedBridgeChain(context.Context, *MsgRemoveAllowedBridgeChain) (*MsgRemoveAllowedBridgeChainResponse, error) + // BurnRegen burns REGEN tokens to account for platform fees when creating or transferring credits. + // + // Since Revision 3 + BurnRegen(context.Context, *MsgBurnRegen) (*MsgBurnRegenResponse, error) } -func (m *MsgAddCreditType) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { } -func (m *MsgAddCreditType) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) CreateClass(ctx context.Context, req *MsgCreateClass) (*MsgCreateClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateClass not implemented") } - -func (m *MsgAddCreditType) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CreditType != nil { - { - size, err := m.CreditType.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) CreateProject(ctx context.Context, req *MsgCreateProject) (*MsgCreateProjectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented") } - -func (m *MsgAddCreditTypeResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (*UnimplementedMsgServer) CreateUnregisteredProject(ctx context.Context, req *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } - -func (m *MsgAddCreditTypeResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func (*UnimplementedMsgServer) SubmitClassApplication(ctx context.Context, req *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SubmitClassApplication not implemented") } - -func (m *MsgAddCreditTypeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func (*UnimplementedMsgServer) UpdateClassApplication(ctx context.Context, req *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassApplication not implemented") } - -func (m *MsgCreateClass) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil +func (*UnimplementedMsgServer) WithdrawClassApplication(ctx context.Context, req *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawClassApplication not implemented") +} +func (*UnimplementedMsgServer) EvaluateClassApplication(ctx context.Context, req *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateClassApplication not implemented") +} +func (*UnimplementedMsgServer) CreateBatch(ctx context.Context, req *MsgCreateBatch) (*MsgCreateBatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") +} +func (*UnimplementedMsgServer) MintBatchCredits(ctx context.Context, req *MsgMintBatchCredits) (*MsgMintBatchCreditsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MintBatchCredits not implemented") +} +func (*UnimplementedMsgServer) SealBatch(ctx context.Context, req *MsgSealBatch) (*MsgSealBatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SealBatch not implemented") +} +func (*UnimplementedMsgServer) Send(ctx context.Context, req *MsgSend) (*MsgSendResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Send not implemented") +} +func (*UnimplementedMsgServer) Retire(ctx context.Context, req *MsgRetire) (*MsgRetireResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Retire not implemented") +} +func (*UnimplementedMsgServer) Cancel(ctx context.Context, req *MsgCancel) (*MsgCancelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") +} +func (*UnimplementedMsgServer) UpdateClassAdmin(ctx context.Context, req *MsgUpdateClassAdmin) (*MsgUpdateClassAdminResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassAdmin not implemented") +} +func (*UnimplementedMsgServer) UpdateClassIssuers(ctx context.Context, req *MsgUpdateClassIssuers) (*MsgUpdateClassIssuersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassIssuers not implemented") +} +func (*UnimplementedMsgServer) UpdateClassMetadata(ctx context.Context, req *MsgUpdateClassMetadata) (*MsgUpdateClassMetadataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassMetadata not implemented") +} +func (*UnimplementedMsgServer) UpdateProjectAdmin(ctx context.Context, req *MsgUpdateProjectAdmin) (*MsgUpdateProjectAdminResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectAdmin not implemented") +} +func (*UnimplementedMsgServer) UpdateProjectMetadata(ctx context.Context, req *MsgUpdateProjectMetadata) (*MsgUpdateProjectMetadataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectMetadata not implemented") +} +func (*UnimplementedMsgServer) UpdateBatchMetadata(ctx context.Context, req *MsgUpdateBatchMetadata) (*MsgUpdateBatchMetadataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateBatchMetadata not implemented") +} +func (*UnimplementedMsgServer) Bridge(ctx context.Context, req *MsgBridge) (*MsgBridgeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Bridge not implemented") +} +func (*UnimplementedMsgServer) BridgeReceive(ctx context.Context, req *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BridgeReceive not implemented") +} +func (*UnimplementedMsgServer) AddCreditType(ctx context.Context, req *MsgAddCreditType) (*MsgAddCreditTypeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddCreditType not implemented") +} +func (*UnimplementedMsgServer) SetClassCreatorAllowlist(ctx context.Context, req *MsgSetClassCreatorAllowlist) (*MsgSetClassCreatorAllowlistResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetClassCreatorAllowlist not implemented") +} +func (*UnimplementedMsgServer) AddClassCreator(ctx context.Context, req *MsgAddClassCreator) (*MsgAddClassCreatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddClassCreator not implemented") +} +func (*UnimplementedMsgServer) RemoveClassCreator(ctx context.Context, req *MsgRemoveClassCreator) (*MsgRemoveClassCreatorResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveClassCreator not implemented") +} +func (*UnimplementedMsgServer) UpdateClassFee(ctx context.Context, req *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateClassFee not implemented") +} +func (*UnimplementedMsgServer) AddAllowedBridgeChain(ctx context.Context, req *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddAllowedBridgeChain not implemented") +} +func (*UnimplementedMsgServer) RemoveAllowedBridgeChain(ctx context.Context, req *MsgRemoveAllowedBridgeChain) (*MsgRemoveAllowedBridgeChainResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveAllowedBridgeChain not implemented") +} +func (*UnimplementedMsgServer) BurnRegen(ctx context.Context, req *MsgBurnRegen) (*MsgBurnRegenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BurnRegen not implemented") } -func (m *MsgCreateClass) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) } -func (m *MsgCreateClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Fee != nil { - { - size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - } - if len(m.CreditTypeAbbrev) > 0 { - i -= len(m.CreditTypeAbbrev) - copy(dAtA[i:], m.CreditTypeAbbrev) - i = encodeVarintTx(dAtA, i, uint64(len(m.CreditTypeAbbrev))) - i-- - dAtA[i] = 0x22 +func _Msg_CreateClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateClass) + if err := dec(in); err != nil { + return nil, err } - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).CreateClass(ctx, in) } - if len(m.Issuers) > 0 { - for iNdEx := len(m.Issuers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Issuers[iNdEx]) - copy(dAtA[i:], m.Issuers[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuers[iNdEx]))) - i-- - dAtA[i] = 0x12 - } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/CreateClass", } - if len(m.Admin) > 0 { - i -= len(m.Admin) - copy(dAtA[i:], m.Admin) - i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateClass(ctx, req.(*MsgCreateClass)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateClassResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateProject) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCreateClassResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).CreateProject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/CreateProject", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateProject(ctx, req.(*MsgCreateProject)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) - i-- - dAtA[i] = 0xa +func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateUnregisteredProject) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).CreateUnregisteredProject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/CreateUnregisteredProject", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateUnregisteredProject(ctx, req.(*MsgCreateUnregisteredProject)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateProject) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SubmitClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSubmitClassApplication) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SubmitClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/SubmitClassApplication", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SubmitClassApplication(ctx, req.(*MsgSubmitClassApplication)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateProject) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_UpdateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassApplication) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateClassApplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassApplication", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassApplication(ctx, req.(*MsgUpdateClassApplication)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateProject) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ReferenceId) > 0 { - i -= len(m.ReferenceId) - copy(dAtA[i:], m.ReferenceId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) - i-- - dAtA[i] = 0x2a - } - if len(m.Jurisdiction) > 0 { - i -= len(m.Jurisdiction) - copy(dAtA[i:], m.Jurisdiction) - i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) - i-- - dAtA[i] = 0x22 +func _Msg_WithdrawClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawClassApplication) + if err := dec(in); err != nil { + return nil, err } - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).WithdrawClassApplication(ctx, in) } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/WithdrawClassApplication", } - if len(m.Admin) > 0 { - i -= len(m.Admin) - copy(dAtA[i:], m.Admin) - i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).WithdrawClassApplication(ctx, req.(*MsgWithdrawClassApplication)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateProjectResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_EvaluateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateClassApplication) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgCreateProjectResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateProjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0xa + if interceptor == nil { + return srv.(MsgServer).EvaluateClassApplication(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/EvaluateClassApplication", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).EvaluateClassApplication(ctx, req.(*MsgEvaluateClassApplication)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatch) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_CreateBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateBatch) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).CreateBatch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/CreateBatch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CreateBatch(ctx, req.(*MsgCreateBatch)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_MintBatchCredits_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMintBatchCredits) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MintBatchCredits(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/MintBatchCredits", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MintBatchCredits(ctx, req.(*MsgMintBatchCredits)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.OriginTx != nil { - { - size, err := m.OriginTx.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x42 +func _Msg_SealBatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSealBatch) + if err := dec(in); err != nil { + return nil, err } - if m.Open { - i-- - if m.Open { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 + if interceptor == nil { + return srv.(MsgServer).SealBatch(ctx, in) } - if m.EndDate != nil { - n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) - if err4 != nil { - return 0, err4 - } - i -= n4 - i = encodeVarintTx(dAtA, i, uint64(n4)) - i-- - dAtA[i] = 0x32 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/SealBatch", } - if m.StartDate != nil { - n5, err5 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) - if err5 != nil { - return 0, err5 - } - i -= n5 - i = encodeVarintTx(dAtA, i, uint64(n5)) - i-- - dAtA[i] = 0x2a + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SealBatch(ctx, req.(*MsgSealBatch)) } - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x22 + return interceptor(ctx, in, info, handler) +} + +func _Msg_Send_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSend) + if err := dec(in); err != nil { + return nil, err } - if len(m.Issuance) > 0 { - for iNdEx := len(m.Issuance) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Issuance[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } + if interceptor == nil { + return srv.(MsgServer).Send(ctx, in) } - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/Send", } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Send(ctx, req.(*MsgSend)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatchResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_Retire_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRetire) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).Retire(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/Retire", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Retire(ctx, req.(*MsgRetire)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCancel) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).Cancel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/Cancel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Cancel(ctx, req.(*MsgCancel)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgCreateBatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0xa +func _Msg_UpdateClassAdmin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassAdmin) + if err := dec(in); err != nil { + return nil, err } - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).UpdateClassAdmin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassAdmin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassAdmin(ctx, req.(*MsgUpdateClassAdmin)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMintBatchCredits) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_UpdateClassIssuers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassIssuers) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgMintBatchCredits) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).UpdateClassIssuers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassIssuers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassIssuers(ctx, req.(*MsgUpdateClassIssuers)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMintBatchCredits) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.OriginTx != nil { - { - size, err := m.OriginTx.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 +func _Msg_UpdateClassMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassMetadata) + if err := dec(in); err != nil { + return nil, err } - if len(m.Issuance) > 0 { - for iNdEx := len(m.Issuance) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Issuance[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } + if interceptor == nil { + return srv.(MsgServer).UpdateClassMetadata(ctx, in) } - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassMetadata", } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassMetadata(ctx, req.(*MsgUpdateClassMetadata)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgMintBatchCreditsResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_UpdateProjectAdmin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectAdmin) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).UpdateProjectAdmin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectAdmin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProjectAdmin(ctx, req.(*MsgUpdateProjectAdmin)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMintBatchCreditsResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_UpdateProjectMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectMetadata) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateProjectMetadata(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectMetadata", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProjectMetadata(ctx, req.(*MsgUpdateProjectMetadata)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgMintBatchCreditsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +func _Msg_UpdateBatchMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateBatchMetadata) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateBatchMetadata(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateBatchMetadata", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateBatchMetadata(ctx, req.(*MsgUpdateBatchMetadata)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSealBatch) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_Bridge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBridge) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).Bridge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/Bridge", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).Bridge(ctx, req.(*MsgBridge)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSealBatch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) +func _Msg_BridgeReceive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBridgeReceive) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).BridgeReceive(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/BridgeReceive", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BridgeReceive(ctx, req.(*MsgBridgeReceive)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSealBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0x12 +func _Msg_AddCreditType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddCreditType) + if err := dec(in); err != nil { + return nil, err } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0xa + if interceptor == nil { + return srv.(MsgServer).AddCreditType(ctx, in) } - return len(dAtA) - i, nil + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/AddCreditType", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AddCreditType(ctx, req.(*MsgAddCreditType)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSealBatchResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_SetClassCreatorAllowlist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetClassCreatorAllowlist) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).SetClassCreatorAllowlist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/SetClassCreatorAllowlist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetClassCreatorAllowlist(ctx, req.(*MsgSetClassCreatorAllowlist)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgSealBatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSealBatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSend) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_AddClassCreator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddClassCreator) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgSend) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSend) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Credits) > 0 { - for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } + if interceptor == nil { + return srv.(MsgServer).AddClassCreator(ctx, in) } - if len(m.Recipient) > 0 { - i -= len(m.Recipient) - copy(dAtA[i:], m.Recipient) - i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/AddClassCreator", } - if len(m.Sender) > 0 { - i -= len(m.Sender) - copy(dAtA[i:], m.Sender) - i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AddClassCreator(ctx, req.(*MsgAddClassCreator)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgSend_SendCredits) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_RemoveClassCreator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRemoveClassCreator) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgSend_SendCredits) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSend_SendCredits) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.RetirementReason) > 0 { - i -= len(m.RetirementReason) - copy(dAtA[i:], m.RetirementReason) - i = encodeVarintTx(dAtA, i, uint64(len(m.RetirementReason))) - i-- - dAtA[i] = 0x2a - } - if len(m.RetirementJurisdiction) > 0 { - i -= len(m.RetirementJurisdiction) - copy(dAtA[i:], m.RetirementJurisdiction) - i = encodeVarintTx(dAtA, i, uint64(len(m.RetirementJurisdiction))) - i-- - dAtA[i] = 0x22 - } - if len(m.RetiredAmount) > 0 { - i -= len(m.RetiredAmount) - copy(dAtA[i:], m.RetiredAmount) - i = encodeVarintTx(dAtA, i, uint64(len(m.RetiredAmount))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).RemoveClassCreator(ctx, in) } - if len(m.TradableAmount) > 0 { - i -= len(m.TradableAmount) - copy(dAtA[i:], m.TradableAmount) - i = encodeVarintTx(dAtA, i, uint64(len(m.TradableAmount))) - i-- - dAtA[i] = 0x12 + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/RemoveClassCreator", } - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RemoveClassCreator(ctx, req.(*MsgRemoveClassCreator)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgSendResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_UpdateClassFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateClassFee) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgSendResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSendResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil + if interceptor == nil { + return srv.(MsgServer).UpdateClassFee(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassFee", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateClassFee(ctx, req.(*MsgUpdateClassFee)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgRetire) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_AddAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddAllowedBridgeChain) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil -} - -func (m *MsgRetire) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) + if interceptor == nil { + return srv.(MsgServer).AddAllowedBridgeChain(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AddAllowedBridgeChain(ctx, req.(*MsgAddAllowedBridgeChain)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgRetire) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) - i-- - dAtA[i] = 0x22 +func _Msg_RemoveAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRemoveAllowedBridgeChain) + if err := dec(in); err != nil { + return nil, err } - if len(m.Jurisdiction) > 0 { - i -= len(m.Jurisdiction) - copy(dAtA[i:], m.Jurisdiction) - i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) - i-- - dAtA[i] = 0x1a + if interceptor == nil { + return srv.(MsgServer).RemoveAllowedBridgeChain(ctx, in) } - if len(m.Credits) > 0 { - for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain", } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) - i-- - dAtA[i] = 0xa + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RemoveAllowedBridgeChain(ctx, req.(*MsgRemoveAllowedBridgeChain)) } - return len(dAtA) - i, nil + return interceptor(ctx, in, info, handler) } -func (m *MsgRetireResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { +func _Msg_BurnRegen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBurnRegen) + if err := dec(in); err != nil { return nil, err } - return dAtA[:n], nil + if interceptor == nil { + return srv.(MsgServer).BurnRegen(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/BurnRegen", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).BurnRegen(ctx, req.(*MsgBurnRegen)) + } + return interceptor(ctx, in, info, handler) } -func (m *MsgRetireResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRetireResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "regen.ecocredit.v1.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateClass", + Handler: _Msg_CreateClass_Handler, + }, + { + MethodName: "CreateProject", + Handler: _Msg_CreateProject_Handler, + }, + { + MethodName: "CreateUnregisteredProject", + Handler: _Msg_CreateUnregisteredProject_Handler, + }, + { + MethodName: "SubmitClassApplication", + Handler: _Msg_SubmitClassApplication_Handler, + }, + { + MethodName: "UpdateClassApplication", + Handler: _Msg_UpdateClassApplication_Handler, + }, + { + MethodName: "WithdrawClassApplication", + Handler: _Msg_WithdrawClassApplication_Handler, + }, + { + MethodName: "EvaluateClassApplication", + Handler: _Msg_EvaluateClassApplication_Handler, + }, + { + MethodName: "CreateBatch", + Handler: _Msg_CreateBatch_Handler, + }, + { + MethodName: "MintBatchCredits", + Handler: _Msg_MintBatchCredits_Handler, + }, + { + MethodName: "SealBatch", + Handler: _Msg_SealBatch_Handler, + }, + { + MethodName: "Send", + Handler: _Msg_Send_Handler, + }, + { + MethodName: "Retire", + Handler: _Msg_Retire_Handler, + }, + { + MethodName: "Cancel", + Handler: _Msg_Cancel_Handler, + }, + { + MethodName: "UpdateClassAdmin", + Handler: _Msg_UpdateClassAdmin_Handler, + }, + { + MethodName: "UpdateClassIssuers", + Handler: _Msg_UpdateClassIssuers_Handler, + }, + { + MethodName: "UpdateClassMetadata", + Handler: _Msg_UpdateClassMetadata_Handler, + }, + { + MethodName: "UpdateProjectAdmin", + Handler: _Msg_UpdateProjectAdmin_Handler, + }, + { + MethodName: "UpdateProjectMetadata", + Handler: _Msg_UpdateProjectMetadata_Handler, + }, + { + MethodName: "UpdateBatchMetadata", + Handler: _Msg_UpdateBatchMetadata_Handler, + }, + { + MethodName: "Bridge", + Handler: _Msg_Bridge_Handler, + }, + { + MethodName: "BridgeReceive", + Handler: _Msg_BridgeReceive_Handler, + }, + { + MethodName: "AddCreditType", + Handler: _Msg_AddCreditType_Handler, + }, + { + MethodName: "SetClassCreatorAllowlist", + Handler: _Msg_SetClassCreatorAllowlist_Handler, + }, + { + MethodName: "AddClassCreator", + Handler: _Msg_AddClassCreator_Handler, + }, + { + MethodName: "RemoveClassCreator", + Handler: _Msg_RemoveClassCreator_Handler, + }, + { + MethodName: "UpdateClassFee", + Handler: _Msg_UpdateClassFee_Handler, + }, + { + MethodName: "AddAllowedBridgeChain", + Handler: _Msg_AddAllowedBridgeChain_Handler, + }, + { + MethodName: "RemoveAllowedBridgeChain", + Handler: _Msg_RemoveAllowedBridgeChain_Handler, + }, + { + MethodName: "BurnRegen", + Handler: _Msg_BurnRegen_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "regen/ecocredit/v1/tx.proto", } -func (m *MsgCancel) Marshal() (dAtA []byte, err error) { +func (m *MsgAddCreditType) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -4972,48 +5060,39 @@ func (m *MsgCancel) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCancel) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddCreditType) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCancel) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddCreditType) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) - i-- - dAtA[i] = 0x1a - } - if len(m.Credits) > 0 { - for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + if m.CreditType != nil { + { + size, err := m.CreditType.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0x12 + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgCancelResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAddCreditTypeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5023,12 +5102,12 @@ func (m *MsgCancelResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCancelResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddCreditTypeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCancelResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddCreditTypeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5036,7 +5115,7 @@ func (m *MsgCancelResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgUpdateClassAdmin) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateClass) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5046,29 +5125,50 @@ func (m *MsgUpdateClassAdmin) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassAdmin) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateClass) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewAdmin) > 0 { - i -= len(m.NewAdmin) - copy(dAtA[i:], m.NewAdmin) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewAdmin))) + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x1a + dAtA[i] = 0x2a } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + if len(m.CreditTypeAbbrev) > 0 { + i -= len(m.CreditTypeAbbrev) + copy(dAtA[i:], m.CreditTypeAbbrev) + i = encodeVarintTx(dAtA, i, uint64(len(m.CreditTypeAbbrev))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x22 + } + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x1a + } + if len(m.Issuers) > 0 { + for iNdEx := len(m.Issuers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Issuers[iNdEx]) + copy(dAtA[i:], m.Issuers[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuers[iNdEx]))) + i-- + dAtA[i] = 0x12 + } } if len(m.Admin) > 0 { i -= len(m.Admin) @@ -5080,7 +5180,7 @@ func (m *MsgUpdateClassAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgUpdateClassAdminResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateClassResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5090,20 +5190,27 @@ func (m *MsgUpdateClassAdminResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassAdminResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateClassResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassAdminResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgUpdateClassIssuers) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateProject) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5113,33 +5220,36 @@ func (m *MsgUpdateClassIssuers) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassIssuers) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateProject) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassIssuers) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateProject) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.RemoveIssuers) > 0 { - for iNdEx := len(m.RemoveIssuers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.RemoveIssuers[iNdEx]) - copy(dAtA[i:], m.RemoveIssuers[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.RemoveIssuers[iNdEx]))) - i-- - dAtA[i] = 0x22 - } + if len(m.ReferenceId) > 0 { + i -= len(m.ReferenceId) + copy(dAtA[i:], m.ReferenceId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) + i-- + dAtA[i] = 0x2a } - if len(m.AddIssuers) > 0 { - for iNdEx := len(m.AddIssuers) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.AddIssuers[iNdEx]) - copy(dAtA[i:], m.AddIssuers[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.AddIssuers[iNdEx]))) - i-- - dAtA[i] = 0x1a - } + if len(m.Jurisdiction) > 0 { + i -= len(m.Jurisdiction) + copy(dAtA[i:], m.Jurisdiction) + i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) + i-- + dAtA[i] = 0x22 + } + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x1a } if len(m.ClassId) > 0 { i -= len(m.ClassId) @@ -5158,7 +5268,7 @@ func (m *MsgUpdateClassIssuers) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgUpdateClassIssuersResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateProjectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5168,20 +5278,27 @@ func (m *MsgUpdateClassIssuersResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassIssuersResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateProjectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassIssuersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateProjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgUpdateClassMetadata) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateUnregisteredProject) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5191,41 +5308,48 @@ func (m *MsgUpdateClassMetadata) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassMetadata) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProject) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProject) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewMetadata) > 0 { - i -= len(m.NewMetadata) - copy(dAtA[i:], m.NewMetadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) + if len(m.ReferenceId) > 0 { + i -= len(m.ReferenceId) + copy(dAtA[i:], m.ReferenceId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) + i-- + dAtA[i] = 0x22 + } + if len(m.Jurisdiction) > 0 { + i -= len(m.Jurisdiction) + copy(dAtA[i:], m.Jurisdiction) + i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) i-- dAtA[i] = 0x1a } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) i-- dAtA[i] = 0x12 } - if len(m.Admin) > 0 { - i -= len(m.Admin) - copy(dAtA[i:], m.Admin) - i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgUpdateClassMetadataResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateUnregisteredProjectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5235,20 +5359,27 @@ func (m *MsgUpdateClassMetadataResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassMetadataResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProjectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgUpdateProjectAdmin) Marshal() (dAtA []byte, err error) { +func (m *MsgSubmitClassApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5258,20 +5389,34 @@ func (m *MsgUpdateProjectAdmin) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectAdmin) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubmitClassApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubmitClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewAdmin) > 0 { - i -= len(m.NewAdmin) - copy(dAtA[i:], m.NewAdmin) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewAdmin))) + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x2a + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0x22 + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) i-- dAtA[i] = 0x1a } @@ -5282,17 +5427,17 @@ func (m *MsgUpdateProjectAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if len(m.Admin) > 0 { - i -= len(m.Admin) - copy(dAtA[i:], m.Admin) - i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + if len(m.ProjectAdmin) > 0 { + i -= len(m.ProjectAdmin) + copy(dAtA[i:], m.ProjectAdmin) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectAdmin))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgUpdateProjectAdminResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSubmitClassApplicationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5302,20 +5447,25 @@ func (m *MsgUpdateProjectAdminResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectAdminResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubmitClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectAdminResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubmitClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.ApplicationId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgUpdateProjectMetadata) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5325,41 +5475,39 @@ func (m *MsgUpdateProjectMetadata) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectMetadata) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewMetadata) > 0 { - i -= len(m.NewMetadata) - copy(dAtA[i:], m.NewMetadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) i-- dAtA[i] = 0x1a } - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + if m.ApplicationId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(m.Admin) > 0 { - i -= len(m.Admin) - copy(dAtA[i:], m.Admin) - i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + if len(m.ProjectAdmin) > 0 { + i -= len(m.ProjectAdmin) + copy(dAtA[i:], m.ProjectAdmin) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectAdmin))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgUpdateProjectMetadataResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassApplicationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5369,12 +5517,12 @@ func (m *MsgUpdateProjectMetadataResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectMetadataResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5382,7 +5530,7 @@ func (m *MsgUpdateProjectMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgBridge) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawClassApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5392,55 +5540,32 @@ func (m *MsgBridge) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridge) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawClassApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridge) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Credits) > 0 { - for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - } - if len(m.Recipient) > 0 { - i -= len(m.Recipient) - copy(dAtA[i:], m.Recipient) - i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) + if m.ApplicationId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) i-- - dAtA[i] = 0x1a - } - if len(m.Target) > 0 { - i -= len(m.Target) - copy(dAtA[i:], m.Target) - i = encodeVarintTx(dAtA, i, uint64(len(m.Target))) - i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + if len(m.ProjectAdmin) > 0 { + i -= len(m.ProjectAdmin) + copy(dAtA[i:], m.ProjectAdmin) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectAdmin))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgUpdateBatchMetadata) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawClassApplicationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5450,41 +5575,20 @@ func (m *MsgUpdateBatchMetadata) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateBatchMetadata) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateBatchMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewMetadata) > 0 { - i -= len(m.NewMetadata) - copy(dAtA[i:], m.NewMetadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) - i-- - dAtA[i] = 0x1a - } - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0x12 - } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgUpdateBatchMetadataResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateClassApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5494,20 +5598,44 @@ func (m *MsgUpdateBatchMetadataResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateBatchMetadataResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateClassApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateBatchMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0x22 + } + if m.Evaluation != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Evaluation)) + i-- + dAtA[i] = 0x18 + } + if m.ApplicationId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) + i-- + dAtA[i] = 0x10 + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgBridgeResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateClassApplicationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5517,12 +5645,12 @@ func (m *MsgBridgeResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridgeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridgeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5530,7 +5658,7 @@ func (m *MsgBridgeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBridgeReceive) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateBatch) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5540,12 +5668,12 @@ func (m *MsgBridgeReceive) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridgeReceive) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateBatch) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridgeReceive) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5560,36 +5688,63 @@ func (m *MsgBridgeReceive) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintTx(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x2a + dAtA[i] = 0x42 } - if m.Batch != nil { - { - size, err := m.Batch.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + if m.Open { + i-- + if m.Open { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } i-- - dAtA[i] = 0x22 + dAtA[i] = 0x38 } - if m.Project != nil { - { - size, err := m.Project.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + if m.EndDate != nil { + n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) + if err4 != nil { + return 0, err4 } + i -= n4 + i = encodeVarintTx(dAtA, i, uint64(n4)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x32 } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + if m.StartDate != nil { + n5, err5 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) + if err5 != nil { + return 0, err5 + } + i -= n5 + i = encodeVarintTx(dAtA, i, uint64(n5)) + i-- + dAtA[i] = 0x2a + } + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x22 + } + if len(m.Issuance) > 0 { + for iNdEx := len(m.Issuance) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Issuance[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) i-- dAtA[i] = 0x12 } @@ -5603,7 +5758,7 @@ func (m *MsgBridgeReceive) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBridgeReceive_Batch) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateBatchResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5613,61 +5768,27 @@ func (m *MsgBridgeReceive_Batch) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridgeReceive_Batch) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateBatchResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridgeReceive_Batch) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateBatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x2a - } - if m.EndDate != nil { - n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) - if err10 != nil { - return 0, err10 - } - i -= n10 - i = encodeVarintTx(dAtA, i, uint64(n10)) - i-- - dAtA[i] = 0x22 - } - if m.StartDate != nil { - n11, err11 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) - if err11 != nil { - return 0, err11 - } - i -= n11 - i = encodeVarintTx(dAtA, i, uint64(n11)) - i-- - dAtA[i] = 0x1a - } - if len(m.Amount) > 0 { - i -= len(m.Amount) - copy(dAtA[i:], m.Amount) - i = encodeVarintTx(dAtA, i, uint64(len(m.Amount))) - i-- - dAtA[i] = 0x12 - } - if len(m.Recipient) > 0 { - i -= len(m.Recipient) - copy(dAtA[i:], m.Recipient) - i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgBridgeReceive_Project) Marshal() (dAtA []byte, err error) { +func (m *MsgMintBatchCredits) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5677,41 +5798,60 @@ func (m *MsgBridgeReceive_Project) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridgeReceive_Project) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMintBatchCredits) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridgeReceive_Project) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMintBatchCredits) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + if m.OriginTx != nil { + { + size, err := m.OriginTx.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } - if len(m.Jurisdiction) > 0 { - i -= len(m.Jurisdiction) - copy(dAtA[i:], m.Jurisdiction) - i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) + if len(m.Issuance) > 0 { + for iNdEx := len(m.Issuance) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Issuance[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) i-- dAtA[i] = 0x12 } - if len(m.ReferenceId) > 0 { - i -= len(m.ReferenceId) - copy(dAtA[i:], m.ReferenceId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgBridgeReceiveResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMintBatchCreditsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5721,34 +5861,20 @@ func (m *MsgBridgeReceiveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBridgeReceiveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMintBatchCreditsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBridgeReceiveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMintBatchCreditsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0x12 - } - if len(m.BatchDenom) > 0 { - i -= len(m.BatchDenom) - copy(dAtA[i:], m.BatchDenom) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgAddClassCreator) Marshal() (dAtA []byte, err error) { +func (m *MsgSealBatch) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5758,34 +5884,34 @@ func (m *MsgAddClassCreator) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddClassCreator) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSealBatch) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddClassCreator) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSealBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) i-- dAtA[i] = 0x12 } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgAddClassCreatorResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSealBatchResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5795,12 +5921,12 @@ func (m *MsgAddClassCreatorResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddClassCreatorResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSealBatchResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSealBatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5808,7 +5934,7 @@ func (m *MsgAddClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgSetClassCreatorAllowlist) Marshal() (dAtA []byte, err error) { +func (m *MsgSend) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5818,37 +5944,48 @@ func (m *MsgSetClassCreatorAllowlist) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetClassCreatorAllowlist) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSend) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetClassCreatorAllowlist) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSend) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Enabled { - i-- - if m.Enabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(m.Credits) > 0 { + for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a } + } + if len(m.Recipient) > 0 { + i -= len(m.Recipient) + copy(dAtA[i:], m.Recipient) + i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgSetClassCreatorAllowlistResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSend_SendCredits) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5858,57 +5995,55 @@ func (m *MsgSetClassCreatorAllowlistResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgSetClassCreatorAllowlistResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSend_SendCredits) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetClassCreatorAllowlistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSend_SendCredits) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - return len(dAtA) - i, nil -} - -func (m *MsgRemoveClassCreator) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if len(m.RetirementReason) > 0 { + i -= len(m.RetirementReason) + copy(dAtA[i:], m.RetirementReason) + i = encodeVarintTx(dAtA, i, uint64(len(m.RetirementReason))) + i-- + dAtA[i] = 0x2a } - return dAtA[:n], nil -} - -func (m *MsgRemoveClassCreator) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRemoveClassCreator) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + if len(m.RetirementJurisdiction) > 0 { + i -= len(m.RetirementJurisdiction) + copy(dAtA[i:], m.RetirementJurisdiction) + i = encodeVarintTx(dAtA, i, uint64(len(m.RetirementJurisdiction))) + i-- + dAtA[i] = 0x22 + } + if len(m.RetiredAmount) > 0 { + i -= len(m.RetiredAmount) + copy(dAtA[i:], m.RetiredAmount) + i = encodeVarintTx(dAtA, i, uint64(len(m.RetiredAmount))) + i-- + dAtA[i] = 0x1a + } + if len(m.TradableAmount) > 0 { + i -= len(m.TradableAmount) + copy(dAtA[i:], m.TradableAmount) + i = encodeVarintTx(dAtA, i, uint64(len(m.TradableAmount))) i-- dAtA[i] = 0x12 } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgRemoveClassCreatorResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSendResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5918,12 +6053,12 @@ func (m *MsgRemoveClassCreatorResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgRemoveClassCreatorResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSendResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSendResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5931,7 +6066,7 @@ func (m *MsgRemoveClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgUpdateClassFee) Marshal() (dAtA []byte, err error) { +func (m *MsgRetire) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5941,39 +6076,55 @@ func (m *MsgUpdateClassFee) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassFee) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRetire) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassFee) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRetire) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Fee != nil { - { - size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0x22 + } + if len(m.Jurisdiction) > 0 { + i -= len(m.Jurisdiction) + copy(dAtA[i:], m.Jurisdiction) + i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) + i-- + dAtA[i] = 0x1a + } + if len(m.Credits) > 0 { + for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - i-- - dAtA[i] = 0x12 } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgUpdateClassFeeResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgRetireResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5983,12 +6134,12 @@ func (m *MsgUpdateClassFeeResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassFeeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRetireResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassFeeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRetireResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5996,7 +6147,7 @@ func (m *MsgUpdateClassFeeResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgAddAllowedBridgeChain) Marshal() (dAtA []byte, err error) { +func (m *MsgCancel) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6006,34 +6157,48 @@ func (m *MsgAddAllowedBridgeChain) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddAllowedBridgeChain) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCancel) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddAllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCancel) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ChainName) > 0 { - i -= len(m.ChainName) - copy(dAtA[i:], m.ChainName) - i = encodeVarintTx(dAtA, i, uint64(len(m.ChainName))) + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.Credits) > 0 { + for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgAddAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCancelResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6043,12 +6208,12 @@ func (m *MsgAddAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddAllowedBridgeChainResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCancelResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCancelResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6056,7 +6221,7 @@ func (m *MsgAddAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgRemoveAllowedBridgeChain) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassAdmin) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6066,34 +6231,41 @@ func (m *MsgRemoveAllowedBridgeChain) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgRemoveAllowedBridgeChain) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassAdmin) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveAllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ChainName) > 0 { - i -= len(m.ChainName) - copy(dAtA[i:], m.ChainName) - i = encodeVarintTx(dAtA, i, uint64(len(m.ChainName))) + if len(m.NewAdmin) > 0 { + i -= len(m.NewAdmin) + copy(dAtA[i:], m.NewAdmin) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewAdmin))) + i-- + dAtA[i] = 0x1a + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) i-- dAtA[i] = 0x12 } - if len(m.Authority) > 0 { - i -= len(m.Authority) - copy(dAtA[i:], m.Authority) - i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgRemoveAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassAdminResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6103,12 +6275,12 @@ func (m *MsgRemoveAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgRemoveAllowedBridgeChainResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassAdminResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassAdminResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6116,7 +6288,7 @@ func (m *MsgRemoveAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgBurnRegen) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassIssuers) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6126,41 +6298,52 @@ func (m *MsgBurnRegen) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBurnRegen) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassIssuers) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBurnRegen) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassIssuers) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) - i-- - dAtA[i] = 0x1a + if len(m.RemoveIssuers) > 0 { + for iNdEx := len(m.RemoveIssuers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.RemoveIssuers[iNdEx]) + copy(dAtA[i:], m.RemoveIssuers[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.RemoveIssuers[iNdEx]))) + i-- + dAtA[i] = 0x22 + } } - if len(m.Amount) > 0 { - i -= len(m.Amount) - copy(dAtA[i:], m.Amount) - i = encodeVarintTx(dAtA, i, uint64(len(m.Amount))) + if len(m.AddIssuers) > 0 { + for iNdEx := len(m.AddIssuers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.AddIssuers[iNdEx]) + copy(dAtA[i:], m.AddIssuers[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.AddIssuers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) i-- dAtA[i] = 0x12 } - if len(m.Burner) > 0 { - i -= len(m.Burner) - copy(dAtA[i:], m.Burner) - i = encodeVarintTx(dAtA, i, uint64(len(m.Burner))) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgBurnRegenResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateClassIssuersResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6170,12 +6353,12 @@ func (m *MsgBurnRegenResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBurnRegenResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateClassIssuersResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBurnRegenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateClassIssuersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6183,887 +6366,2810 @@ func (m *MsgBurnRegenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *MsgUpdateClassMetadata) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *MsgAddCreditType) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CreditType != nil { - l = m.CreditType.Size() - n += 1 + l + sovTx(uint64(l)) - } - return n + +func (m *MsgUpdateClassMetadata) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddCreditTypeResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgCreateClass) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgUpdateClassMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Issuers) > 0 { - for _, s := range m.Issuers { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.NewMetadata) > 0 { + i -= len(m.NewMetadata) + copy(dAtA[i:], m.NewMetadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) + i-- + dAtA[i] = 0x1a } - l = len(m.CreditTypeAbbrev) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 } - if m.Fee != nil { - l = m.Fee.Size() - n += 1 + l + sovTx(uint64(l)) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgCreateClassResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateClassMetadataResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgUpdateClassMetadataResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateClassMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgCreateProject) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateProjectAdmin) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgUpdateProjectAdmin) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProjectAdmin) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.NewAdmin) > 0 { + i -= len(m.NewAdmin) + copy(dAtA[i:], m.NewAdmin) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewAdmin))) + i-- + dAtA[i] = 0x1a } - l = len(m.Jurisdiction) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0x12 } - l = len(m.ReferenceId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgCreateProjectResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateProjectAdminResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgUpdateProjectAdminResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProjectAdminResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgCreateBatch) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateProjectMetadata) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgUpdateProjectMetadata) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProjectMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Issuance) > 0 { - for _, e := range m.Issuance { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.StartDate != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate) - n += 1 + l + sovTx(uint64(l)) - } - if m.EndDate != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate) - n += 1 + l + sovTx(uint64(l)) + if len(m.NewMetadata) > 0 { + i -= len(m.NewMetadata) + copy(dAtA[i:], m.NewMetadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) + i-- + dAtA[i] = 0x1a } - if m.Open { - n += 2 + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0x12 } - if m.OriginTx != nil { - l = m.OriginTx.Size() - n += 1 + l + sovTx(uint64(l)) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgCreateBatchResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgUpdateProjectMetadataResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgMintBatchCredits) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Issuance) > 0 { - for _, e := range m.Issuance { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } - } - if m.OriginTx != nil { - l = m.OriginTx.Size() - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgUpdateProjectMetadataResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMintBatchCreditsResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgUpdateProjectMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSealBatch) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgBridge) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgSealBatchResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgBridge) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSend) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBridge) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Sender) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Recipient) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } if len(m.Credits) > 0 { - for _, e := range m.Credits { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) + for iNdEx := len(m.Credits) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Credits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 } } - return n -} - -func (m *MsgSend_SendCredits) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.TradableAmount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.RetiredAmount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Recipient) > 0 { + i -= len(m.Recipient) + copy(dAtA[i:], m.Recipient) + i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) + i-- + dAtA[i] = 0x1a } - l = len(m.RetirementJurisdiction) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Target) > 0 { + i -= len(m.Target) + copy(dAtA[i:], m.Target) + i = encodeVarintTx(dAtA, i, uint64(len(m.Target))) + i-- + dAtA[i] = 0x12 } - l = len(m.RetirementReason) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgSendResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateBatchMetadata) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgRetire) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgUpdateBatchMetadata) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateBatchMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Credits) > 0 { - for _, e := range m.Credits { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } + if len(m.NewMetadata) > 0 { + i -= len(m.NewMetadata) + copy(dAtA[i:], m.NewMetadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.NewMetadata))) + i-- + dAtA[i] = 0x1a } - l = len(m.Jurisdiction) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) + i-- + dAtA[i] = 0x12 } - l = len(m.Reason) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgRetireResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateBatchMetadataResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgCancel) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Credits) > 0 { - for _, e := range m.Credits { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } - } - l = len(m.Reason) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgUpdateBatchMetadataResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCancelResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgUpdateBatchMetadataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateClassAdmin) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBridgeResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NewAdmin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return dAtA[:n], nil } -func (m *MsgUpdateClassAdminResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBridgeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBridgeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateClassIssuers) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBridgeReceive) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgBridgeReceive) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBridgeReceive) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.OriginTx != nil { + { + size, err := m.OriginTx.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a } - if len(m.AddIssuers) > 0 { - for _, s := range m.AddIssuers { - l = len(s) - n += 1 + l + sovTx(uint64(l)) + if m.Batch != nil { + { + size, err := m.Batch.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x22 } - if len(m.RemoveIssuers) > 0 { - for _, s := range m.RemoveIssuers { - l = len(s) - n += 1 + l + sovTx(uint64(l)) + if m.Project != nil { + { + size, err := m.Project.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x1a } - return n + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgUpdateClassIssuersResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBridgeReceive_Batch) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgUpdateClassMetadata) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBridgeReceive_Batch) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBridgeReceive_Batch) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x2a } - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.EndDate != nil { + n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) + if err10 != nil { + return 0, err10 + } + i -= n10 + i = encodeVarintTx(dAtA, i, uint64(n10)) + i-- + dAtA[i] = 0x22 } - l = len(m.NewMetadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.StartDate != nil { + n11, err11 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) + if err11 != nil { + return 0, err11 + } + i -= n11 + i = encodeVarintTx(dAtA, i, uint64(n11)) + i-- + dAtA[i] = 0x1a } - return n + if len(m.Amount) > 0 { + i -= len(m.Amount) + copy(dAtA[i:], m.Amount) + i = encodeVarintTx(dAtA, i, uint64(len(m.Amount))) + i-- + dAtA[i] = 0x12 + } + if len(m.Recipient) > 0 { + i -= len(m.Recipient) + copy(dAtA[i:], m.Recipient) + i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgUpdateClassMetadataResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBridgeReceive_Project) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgUpdateProjectAdmin) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBridgeReceive_Project) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBridgeReceive_Project) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x1a } - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Jurisdiction) > 0 { + i -= len(m.Jurisdiction) + copy(dAtA[i:], m.Jurisdiction) + i = encodeVarintTx(dAtA, i, uint64(len(m.Jurisdiction))) + i-- + dAtA[i] = 0x12 } - l = len(m.NewAdmin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ReferenceId) > 0 { + i -= len(m.ReferenceId) + copy(dAtA[i:], m.ReferenceId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateProjectAdminResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBridgeReceiveResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgUpdateProjectMetadata) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NewMetadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgBridgeReceiveResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectMetadataResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgBridgeReceiveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0x12 + } + if len(m.BatchDenom) > 0 { + i -= len(m.BatchDenom) + copy(dAtA[i:], m.BatchDenom) + i = encodeVarintTx(dAtA, i, uint64(len(m.BatchDenom))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgBridge) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAddClassCreator) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgAddClassCreator) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAddClassCreator) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Target) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Recipient) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0x12 } - if len(m.Credits) > 0 { - for _, e := range m.Credits { - l = e.Size() - n += 1 + l + sovTx(uint64(l)) - } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateBatchMetadata) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAddClassCreatorResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgAddClassCreatorResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAddClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.NewMetadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateBatchMetadataResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetClassCreatorAllowlist) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgSetClassCreatorAllowlist) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetClassCreatorAllowlist) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgBridgeResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgSetClassCreatorAllowlistResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgSetClassCreatorAllowlistResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetClassCreatorAllowlistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgBridgeReceive) Size() (n int) { - if m == nil { - return 0 +func (m *MsgRemoveClassCreator) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgRemoveClassCreator) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRemoveClassCreator) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ClassId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.Project != nil { - l = m.Project.Size() - n += 1 + l + sovTx(uint64(l)) - } - if m.Batch != nil { - l = m.Batch.Size() - n += 1 + l + sovTx(uint64(l)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0x12 } - if m.OriginTx != nil { - l = m.OriginTx.Size() - n += 1 + l + sovTx(uint64(l)) + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgBridgeReceive_Batch) Size() (n int) { - if m == nil { - return 0 +func (m *MsgRemoveClassCreatorResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgRemoveClassCreatorResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRemoveClassCreatorResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Recipient) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Amount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.StartDate != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate) - n += 1 + l + sovTx(uint64(l)) - } - if m.EndDate != nil { - l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate) - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgBridgeReceive_Project) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ReferenceId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Jurisdiction) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgUpdateClassFee) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgBridgeReceiveResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.BatchDenom) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n +func (m *MsgUpdateClassFee) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddClassCreator) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgUpdateClassFee) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 } - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgAddClassCreatorResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgUpdateClassFeeResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgUpdateClassFeeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateClassFeeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgSetClassCreatorAllowlist) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAddAllowedBridgeChain) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgAddAllowedBridgeChain) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAddAllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ChainName) > 0 { + i -= len(m.ChainName) + copy(dAtA[i:], m.ChainName) + i = encodeVarintTx(dAtA, i, uint64(len(m.ChainName))) + i-- + dAtA[i] = 0x12 } - if m.Enabled { - n += 2 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgSetClassCreatorAllowlistResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgAddAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgAddAllowedBridgeChainResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAddAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgRemoveClassCreator) Size() (n int) { - if m == nil { - return 0 +func (m *MsgRemoveAllowedBridgeChain) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgRemoveAllowedBridgeChain) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRemoveAllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ChainName) > 0 { + i -= len(m.ChainName) + copy(dAtA[i:], m.ChainName) + i = encodeVarintTx(dAtA, i, uint64(len(m.ChainName))) + i-- + dAtA[i] = 0x12 } - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgRemoveClassCreatorResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgRemoveAllowedBridgeChainResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgRemoveAllowedBridgeChainResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRemoveAllowedBridgeChainResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - return n + return len(dAtA) - i, nil } -func (m *MsgUpdateClassFee) Size() (n int) { - if m == nil { - return 0 +func (m *MsgBurnRegen) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return dAtA[:n], nil +} + +func (m *MsgBurnRegen) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBurnRegen) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0x1a + } + if len(m.Amount) > 0 { + i -= len(m.Amount) + copy(dAtA[i:], m.Amount) + i = encodeVarintTx(dAtA, i, uint64(len(m.Amount))) + i-- + dAtA[i] = 0x12 + } + if len(m.Burner) > 0 { + i -= len(m.Burner) + copy(dAtA[i:], m.Burner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Burner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgBurnRegenResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgBurnRegenResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgBurnRegenResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgAddCreditType) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CreditType != nil { + l = m.CreditType.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgAddCreditTypeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCreateClass) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Issuers) > 0 { + for _, s := range m.Issuers { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.CreditTypeAbbrev) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } if m.Fee != nil { l = m.Fee.Size() n += 1 + l + sovTx(uint64(l)) } - return n -} + return n +} + +func (m *MsgCreateClassResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateProject) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Jurisdiction) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ReferenceId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateProjectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateUnregisteredProject) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Jurisdiction) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ReferenceId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateUnregisteredProjectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubmitClassApplication) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectAdmin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubmitClassApplicationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ApplicationId != 0 { + n += 1 + sovTx(uint64(m.ApplicationId)) + } + return n +} + +func (m *MsgUpdateClassApplication) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectAdmin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.ApplicationId != 0 { + n += 1 + sovTx(uint64(m.ApplicationId)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateClassApplicationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgWithdrawClassApplication) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectAdmin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.ApplicationId != 0 { + n += 1 + sovTx(uint64(m.ApplicationId)) + } + return n +} + +func (m *MsgWithdrawClassApplicationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgEvaluateClassApplication) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.ApplicationId != 0 { + n += 1 + sovTx(uint64(m.ApplicationId)) + } + if m.Evaluation != 0 { + n += 1 + sovTx(uint64(m.Evaluation)) + } + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgEvaluateClassApplicationResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCreateBatch) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Issuance) > 0 { + for _, e := range m.Issuance { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.StartDate != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate) + n += 1 + l + sovTx(uint64(l)) + } + if m.EndDate != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate) + n += 1 + l + sovTx(uint64(l)) + } + if m.Open { + n += 2 + } + if m.OriginTx != nil { + l = m.OriginTx.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCreateBatchResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgMintBatchCredits) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Issuance) > 0 { + for _, e := range m.Issuance { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + if m.OriginTx != nil { + l = m.OriginTx.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgMintBatchCreditsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSealBatch) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSealBatchResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSend) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Recipient) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Credits) > 0 { + for _, e := range m.Credits { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSend_SendCredits) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.TradableAmount) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.RetiredAmount) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.RetirementJurisdiction) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.RetirementReason) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSendResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRetire) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Credits) > 0 { + for _, e := range m.Credits { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.Jurisdiction) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgRetireResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgCancel) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Credits) > 0 { + for _, e := range m.Credits { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgCancelResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateClassAdmin) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewAdmin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateClassAdminResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateClassIssuers) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.AddIssuers) > 0 { + for _, s := range m.AddIssuers { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + if len(m.RemoveIssuers) > 0 { + for _, s := range m.RemoveIssuers { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgUpdateClassIssuersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateClassMetadata) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewMetadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateClassMetadataResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateProjectAdmin) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewAdmin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateProjectAdminResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateProjectMetadata) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewMetadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateProjectMetadataResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBridge) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Target) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Recipient) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Credits) > 0 { + for _, e := range m.Credits { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgUpdateBatchMetadata) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.NewMetadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateBatchMetadataResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBridgeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBridgeReceive) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Project != nil { + l = m.Project.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.Batch != nil { + l = m.Batch.Size() + n += 1 + l + sovTx(uint64(l)) + } + if m.OriginTx != nil { + l = m.OriginTx.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBridgeReceive_Batch) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Recipient) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Amount) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.StartDate != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate) + n += 1 + l + sovTx(uint64(l)) + } + if m.EndDate != nil { + l = github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate) + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBridgeReceive_Project) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ReferenceId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Jurisdiction) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBridgeReceiveResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.BatchDenom) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgAddClassCreator) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgAddClassCreatorResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSetClassCreatorAllowlist) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Enabled { + n += 2 + } + return n +} + +func (m *MsgSetClassCreatorAllowlistResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRemoveClassCreator) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgRemoveClassCreatorResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgUpdateClassFee) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Fee != nil { + l = m.Fee.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateClassFeeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgAddAllowedBridgeChain) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ChainName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgAddAllowedBridgeChainResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgRemoveAllowedBridgeChain) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ChainName) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgRemoveAllowedBridgeChainResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgBurnRegen) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Burner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Amount) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Reason) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgBurnRegenResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddCreditType: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddCreditType: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreditType", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CreditType == nil { + m.CreditType = &CreditType{} + } + if err := m.CreditType.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAddCreditTypeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddCreditTypeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddCreditTypeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateClass: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Issuers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Issuers = append(m.Issuers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreditTypeAbbrev", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CreditTypeAbbrev = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &types.Coin{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } -func (m *MsgUpdateClassFeeResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - return n + return nil } - -func (m *MsgAddAllowedBridgeChain) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ChainName) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgCreateClassResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateClassResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - return n -} -func (m *MsgAddAllowedBridgeChainResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - return n + return nil } - -func (m *MsgRemoveAllowedBridgeChain) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ChainName) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateProject: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateProject: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Jurisdiction = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ReferenceId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - return n -} -func (m *MsgRemoveAllowedBridgeChainResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - return n + return nil } - -func (m *MsgBurnRegen) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Burner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Amount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Reason) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgCreateProjectResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCreateProjectResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCreateProjectResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - return n -} -func (m *MsgBurnRegenResponse) Size() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + return nil } -func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { +func (m *MsgCreateUnregisteredProject) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7086,15 +9192,79 @@ func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddCreditType: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateUnregisteredProject: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddCreditType: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateUnregisteredProject: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7122,13 +9292,13 @@ func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.Jurisdiction = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreditType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7138,27 +9308,23 @@ func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CreditType == nil { - m.CreditType = &CreditType{} - } - if err := m.CreditType.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.ReferenceId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7181,7 +9347,7 @@ func (m *MsgAddCreditType) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddCreditTypeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateUnregisteredProjectResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7204,12 +9370,44 @@ func (m *MsgAddCreditTypeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddCreditTypeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateUnregisteredProjectResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddCreditTypeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateUnregisteredProjectResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -7231,7 +9429,7 @@ func (m *MsgAddCreditTypeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { +func (m *MsgSubmitClassApplication) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7254,15 +9452,15 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateClass: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSubmitClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSubmitClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7290,11 +9488,11 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Admin = string(dAtA[iNdEx:postIndex]) + m.ProjectAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Issuers", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7322,9 +9520,73 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Issuers = append(m.Issuers, string(dAtA[iNdEx:postIndex])) + m.ProjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Issuer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -7356,9 +9618,128 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { } m.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgSubmitClassApplicationResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgSubmitClassApplicationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgSubmitClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) + } + m.ApplicationId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ApplicationId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateClassApplication) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateClassApplication: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreditTypeAbbrev", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7386,13 +9767,32 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.CreditTypeAbbrev = string(dAtA[iNdEx:postIndex]) + m.ProjectAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) + } + m.ApplicationId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ApplicationId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7402,27 +9802,23 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Fee == nil { - m.Fee = &types.Coin{} - } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7445,7 +9841,7 @@ func (m *MsgCreateClass) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateClassResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateClassApplicationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7468,44 +9864,12 @@ func (m *MsgCreateClassResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateClassResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ClassId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -7527,7 +9891,7 @@ func (m *MsgCreateClassResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawClassApplication) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7550,15 +9914,15 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateProject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawClassApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateProject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7586,13 +9950,13 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Admin = string(dAtA[iNdEx:postIndex]) + m.ProjectAdmin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) } - var stringLen uint64 + m.ApplicationId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7602,27 +9966,114 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.ApplicationId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgWithdrawClassApplicationResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.ClassId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgEvaluateClassApplication: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgEvaluateClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7650,13 +10101,13 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Metadata = string(dAtA[iNdEx:postIndex]) + m.Issuer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Jurisdiction", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) } - var stringLen uint64 + m.ApplicationId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -7666,27 +10117,33 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.ApplicationId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Evaluation", wireType) } - if postIndex > l { - return io.ErrUnexpectedEOF + m.Evaluation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Evaluation |= ApplicationStatus(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Jurisdiction = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7714,7 +10171,7 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ReferenceId = string(dAtA[iNdEx:postIndex]) + m.Reason = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7737,7 +10194,7 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateProjectResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEvaluateClassApplicationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7760,44 +10217,12 @@ func (m *MsgCreateProjectResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateProjectResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateProjectResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProjectId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) From 78d71e10528cbc84405ae4a705cab5ad1dd4bc46 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 30 Jan 2024 11:49:49 -0500 Subject: [PATCH 004/112] updates --- go.mod | 4 +++- proto/regen/ecocredit/v1/tx.proto | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 3809689722..2ce0856769 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/regen-network/regen-ledger/v5 -go 1.19 +go 1.21 + +toolchain go1.21.4 require ( cosmossdk.io/math v1.1.2 diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index f90f2a7e4b..bf1d52baf6 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -39,7 +39,8 @@ service Msg { // a credit class. The project admin must submit an application to a specific // issuer of a specific credit class for it to be considered. Currently, // a project can only apply to one credit class at a time via a single - // issuer. + // issuer. A project in an existing credit class can apply to another credit + // class by submitting another application to a different issuer. // // Since Revision 3 rpc SubmitClassApplication(MsgSubmitClassApplication) From cf508306d798db0cf8950771efb5bb182912ef56 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 30 Jan 2024 14:59:56 -0500 Subject: [PATCH 005/112] add credit class to batch --- proto/regen/ecocredit/v1/state.proto | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 2eb7dcbfa0..1f5662609d 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -122,6 +122,7 @@ message Batch { index : {id : 2 fields : "project_key"} index : {id : 3 fields : "start_date"} index : {id : 4 fields : "issuer"} + index : {id: 5 fields : "class_key"} }; // key is the table row identifier of the credit batch used internally for @@ -137,8 +138,9 @@ message Batch { uint64 project_key = 3; // denom is the unique identifier of the credit batch formed from the - // project id, the batch sequence number, and the start and end date of the - // credit batch. + // credit class ID (or just project ID for old project IDs which included the credit class), + // project id, the batch sequence number, and the start and + // end date of the credit batch. string denom = 4; // metadata is any arbitrary metadata attached to the credit batch. @@ -158,6 +160,10 @@ message Batch { // open tells if it's possible to mint new credits in the future. // Once `open` is set to false, it can't be toggled any more. bool open = 9; + + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a batch to a credit class. + uint64 class_key = 10; } // ClassSequence stores and increments the sequence number for credit classes From 4a7370e2727dce3e0c8827e03d5676aa6ebfff26 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 6 Feb 2024 12:08:21 -0500 Subject: [PATCH 006/112] update to multiple credit classes per project --- proto/regen/ecocredit/v1/state.proto | 71 +++++++++--------- proto/regen/ecocredit/v1/tx.proto | 106 ++++++++++----------------- 2 files changed, 76 insertions(+), 101 deletions(-) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 1f5662609d..3ad682873c 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -388,54 +388,55 @@ message AllowedBridgeChain { string chain_name = 1; } -// ClassApplication stores the data for a credit class application. -message ClassApplication { +// ProjectClass stores the data a project - credit class relation. +message ProjectClass { option (cosmos.orm.v1.table) = { id : 17 - primary_key : {fields : "id", auto_increment : true} - index : {id : 1, fields : "project_key", unique : true} + primary_key : {fields : "project_key,class_key"} }; - // id is the unique identifier of the application. - uint64 id = 1; - // project_key is the table row identifier of the project used internally for - // efficient lookups. This links an application to a project. - uint64 project_key = 2; + // efficient lookups. + uint64 project_key = 1; // class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. + // for efficient lookups. uint64 class_key = 3; - // issuer is the issuer of the credit class which the application has been - // submitted to. - string issuer = 4; + // status is the status of the relation. + ProjectClassStatus status = 4; - // metadata is any arbitrary metadata attached to the application. - string metadata = 5; + // project_metadata is any arbitrary metadata set by the project + // admin. This should primarily be used to store metadata regarding the project's + // application to the credit class. + string project_metadata = 5; - // status is the status of the application. Note that accepted and rejected - // applications are removed from the table. - ApplicationStatus status = 6; + // credit_class_metadata is any arbitrary metadata set by a credit + // class issuer. This should primarily be used to store metadata regarding the + // project's application to the credit class. + string credit_class_metadata = 6; } // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -enum ApplicationStatus { - // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is - // unspecified and hasn't been evaluated yet. - APPLICATION_STATUS_UNSPECIFIED = 0; - - // APPLICATION_STATUS_ACCEPTED indicates that the application has been - // accepted and that the project has been admitted into the credit class. - APPLICATION_STATUS_ACCEPTED = 1; - - // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has - // been reviewed and that changes are required before the application can be - // accepted. - APPLICATION_STATUS_CHANGES_REQUESTED = 2; - - // APPLICATION_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be admitted into the credit class. - APPLICATION_STATUS_REJECTED = 3; +enum ProjectClassStatus { + // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application + // has been submitted but not evaluated. + PROJECT_CLASS_STATUS_UNSPECIFIED = 0; + + // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + // accepted into the credit class. + PROJECT_CLASS_STATUS_ACCEPTED = 1; + + // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + // a credit class has been reviewed and that changes to the application have + // been requested. It can also be used to indicate that a project within a credit + // class has had its status reassessed and that changes to the project are + // requested in order to continue in the credit class. + PROJECT_CLASS_STATUS_CHANGES_REQUESTED = 2; + + // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class + // or that a project previously accepted has been removed from the credit class. + PROJECT_CLASS_STATUS_REJECTED = 3; } diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index bf1d52baf6..58792f6b79 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -35,36 +35,37 @@ service Msg { rpc CreateUnregisteredProject(MsgCreateUnregisteredProject) returns (MsgCreateUnregisteredProjectResponse); - // SubmitClassApplication submits an application for a project to be added to - // a credit class. The project admin must submit an application to a specific - // issuer of a specific credit class for it to be considered. Currently, - // a project can only apply to one credit class at a time via a single - // issuer. A project in an existing credit class can apply to another credit - // class by submitting another application to a different issuer. + // UpdateProjectClass creates a new project credit class application, updates + // an existing one or updates an existing relationship when changes are requested. + // A project may have a relationship with at most one credit class per credit type + // but can have relationships with multiple credit classes across different credit + // types. This can be useful, for example for issuing pre-financing forward contracts + // while making progress towards issuing credits in an outcome based program. + // Projects that are already accepted into a credit class can only update + // their metadata when an issuer has changed the status of the relations + // to "changes requested". // // Since Revision 3 - rpc SubmitClassApplication(MsgSubmitClassApplication) - returns (MsgSubmitClassApplicationResponse); + rpc UpdateProjectClass(MsgUpdateProjectClass) + returns (MsgUpdateProjectClassResponse); - // UpdateClassApplication updates the metadata of a submitted application. + // WithdrawProjectClass withdraws a project from a credit class application + // or relationship unilaterally on the part of a project admin. // // Since Revision 3 - rpc UpdateClassApplication(MsgUpdateClassApplication) - returns (MsgUpdateClassApplicationResponse); - - // WithdrawClassApplication withdraws a submitted application. - // - // Since Revision 3 - rpc WithdrawClassApplication(MsgWithdrawClassApplication) - returns (MsgWithdrawClassApplicationResponse); - - // EvaluateClassApplication evaluates a submitted application. Only the issuer - // of the credit class can evaluate an application. The issuer can either - // approve, request changes to, or reject the application. + rpc WithdrawProjectClass(MsgWithdrawProjectClass) + returns (MsgWithdrawProjectClassResponse); + + // EvaluateProjectClass allows a credit class issuer to evaluate a project + // application or existing relationship, either approving, requesting changes to, or + // rejecting it. Any issuer in the credit class may update the project credit + // class status using this method. If more sophisticated rules are required to coordinate + // between different issuers, the credit class admin should set up an on or off-chain + // governance process to coordinate this. // // Since Revision 3 - rpc EvaluateClassApplication(MsgEvaluateClassApplication) - returns (MsgEvaluateClassApplicationResponse); + rpc EvaluateProjectClass(MsgEvaluateProjectClass) + returns (MsgEvaluateProjectClassResponse); // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to @@ -343,8 +344,8 @@ message MsgCreateUnregisteredProjectResponse { string project_id = 1; } -// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. -message MsgSubmitClassApplication { +// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. +message MsgUpdateProjectClass { option (cosmos.msg.v1.signer) = "project_admin"; // project_admin is the address of the account that is the admin of the @@ -359,44 +360,17 @@ message MsgSubmitClassApplication { // applying to. string class_id = 3; - // issuer is the address of the account that is an issuer of the credit class - // to whom the project is applying to for approval. - string issuer = 4; - // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. - string metadata = 5; -} - -// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. -message MsgSubmitClassApplicationResponse { - // application_id is the identifier assigned to the application. - uint64 application_id = 1; -} - -// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. -message MsgUpdateClassApplication { - option (cosmos.msg.v1.signer) = "project_admin"; - - // project_admin is the address of the account that is the admin of the - // project which is updating its application to the credit class. - string project_admin = 1; - - // application_id is the identifier of the application to update. - uint64 application_id = 2; - - // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata relevant to the application. If it - // is left empty, the existing metadata will be deleted. - string metadata = 3; + string metadata = 4; } -// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. -message MsgUpdateClassApplicationResponse {} +// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. +message MsgUpdateProjectClassResponse {} -// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. -message MsgWithdrawClassApplication { +// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. +message MsgWithdrawProjectClass { option (cosmos.msg.v1.signer) = "project_admin"; // project_admin is the address of the account that is the admin of the @@ -407,11 +381,11 @@ message MsgWithdrawClassApplication { uint64 application_id = 2; } -// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. -message MsgWithdrawClassApplicationResponse {} +// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. +message MsgWithdrawProjectClassResponse {} -// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. -message MsgEvaluateClassApplication { +// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. +message MsgEvaluateProjectClass { option (cosmos.msg.v1.signer) = "issuer"; // issuer is the address of the account that is the issuer of the credit class @@ -422,16 +396,16 @@ message MsgEvaluateClassApplication { uint64 application_id = 2; // evaluation is the evaluation of the application. - ApplicationStatus evaluation = 3; + ProjectClassStatus evaluation = 3; - // reason is any arbitrary string with a maximum length of 256 characters + // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. - string reason = 4; + string metadata = 4; } -// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. -message MsgEvaluateClassApplicationResponse {} +// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. +message MsgEvaluateProjectClassResponse {} // MsgCreateBatch is the Msg/CreateBatch request type. message MsgCreateBatch { From f4146a3e6966571de490b06a8a508ed84c524629 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 6 Feb 2024 12:13:37 -0500 Subject: [PATCH 007/112] updates --- .../ecocredit/marketplace/v1/tx.pulsar.go | 12 +- api/regen/ecocredit/v1/state.cosmos_orm.go | 171 +- api/regen/ecocredit/v1/state.pulsar.go | 835 ++-- api/regen/ecocredit/v1/tx.pulsar.go | 3972 ++++++----------- api/regen/ecocredit/v1/tx_grpc.pb.go | 191 +- proto/regen/ecocredit/v1/tx.proto | 11 +- x/ecocredit/base/types/v1/state.pb.go | 472 +- x/ecocredit/base/types/v1/tx.pb.go | 1408 ++---- x/ecocredit/marketplace/types/v1/tx.pb.go | 134 +- 9 files changed, 2763 insertions(+), 4443 deletions(-) diff --git a/api/regen/ecocredit/marketplace/v1/tx.pulsar.go b/api/regen/ecocredit/marketplace/v1/tx.pulsar.go index 917f9c6339..48f16558e4 100644 --- a/api/regen/ecocredit/marketplace/v1/tx.pulsar.go +++ b/api/regen/ecocredit/marketplace/v1/tx.pulsar.go @@ -9415,12 +9415,12 @@ var file_regen_ecocredit_marketplace_v1_tx_proto_rawDesc = []byte{ 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 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, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 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, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x73, 0x67, - 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, + 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 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, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 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, diff --git a/api/regen/ecocredit/v1/state.cosmos_orm.go b/api/regen/ecocredit/v1/state.cosmos_orm.go index 11ee010f05..06a67ba958 100644 --- a/api/regen/ecocredit/v1/state.cosmos_orm.go +++ b/api/regen/ecocredit/v1/state.cosmos_orm.go @@ -806,6 +806,19 @@ func (this BatchIssuerIndexKey) WithIssuer(issuer []byte) BatchIssuerIndexKey { return this } +type BatchClassKeyIndexKey struct { + vs []interface{} +} + +func (x BatchClassKeyIndexKey) id() uint32 { return 5 } +func (x BatchClassKeyIndexKey) values() []interface{} { return x.vs } +func (x BatchClassKeyIndexKey) batchIndexKey() {} + +func (this BatchClassKeyIndexKey) WithClassKey(class_key uint64) BatchClassKeyIndexKey { + this.vs = []interface{}{class_key} + return this +} + type batchTable struct { table ormtable.AutoIncrementTable } @@ -2058,159 +2071,123 @@ func NewAllowedBridgeChainTable(db ormtable.Schema) (AllowedBridgeChainTable, er return allowedBridgeChainTable{table}, nil } -type ClassApplicationTable interface { - Insert(ctx context.Context, classApplication *ClassApplication) error - InsertReturningID(ctx context.Context, classApplication *ClassApplication) (uint64, error) - Update(ctx context.Context, classApplication *ClassApplication) error - Save(ctx context.Context, classApplication *ClassApplication) error - Delete(ctx context.Context, classApplication *ClassApplication) error - Has(ctx context.Context, id uint64) (found bool, err error) +type ProjectClassTable interface { + Insert(ctx context.Context, projectClass *ProjectClass) error + Update(ctx context.Context, projectClass *ProjectClass) error + Save(ctx context.Context, projectClass *ProjectClass) error + Delete(ctx context.Context, projectClass *ProjectClass) error + Has(ctx context.Context, project_key uint64, class_key uint64) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, id uint64) (*ClassApplication, error) - HasByProjectKey(ctx context.Context, project_key uint64) (found bool, err error) - // GetByProjectKey returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - GetByProjectKey(ctx context.Context, project_key uint64) (*ClassApplication, error) - List(ctx context.Context, prefixKey ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) - ListRange(ctx context.Context, from, to ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) - DeleteBy(ctx context.Context, prefixKey ClassApplicationIndexKey) error - DeleteRange(ctx context.Context, from, to ClassApplicationIndexKey) error + Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectClass, error) + List(ctx context.Context, prefixKey ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) + ListRange(ctx context.Context, from, to ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) + DeleteBy(ctx context.Context, prefixKey ProjectClassIndexKey) error + DeleteRange(ctx context.Context, from, to ProjectClassIndexKey) error doNotImplement() } -type ClassApplicationIterator struct { +type ProjectClassIterator struct { ormtable.Iterator } -func (i ClassApplicationIterator) Value() (*ClassApplication, error) { - var classApplication ClassApplication - err := i.UnmarshalMessage(&classApplication) - return &classApplication, err +func (i ProjectClassIterator) Value() (*ProjectClass, error) { + var projectClass ProjectClass + err := i.UnmarshalMessage(&projectClass) + return &projectClass, err } -type ClassApplicationIndexKey interface { +type ProjectClassIndexKey interface { id() uint32 values() []interface{} - classApplicationIndexKey() + projectClassIndexKey() } // primary key starting index.. -type ClassApplicationPrimaryKey = ClassApplicationIdIndexKey - -type ClassApplicationIdIndexKey struct { - vs []interface{} -} - -func (x ClassApplicationIdIndexKey) id() uint32 { return 0 } -func (x ClassApplicationIdIndexKey) values() []interface{} { return x.vs } -func (x ClassApplicationIdIndexKey) classApplicationIndexKey() {} - -func (this ClassApplicationIdIndexKey) WithId(id uint64) ClassApplicationIdIndexKey { - this.vs = []interface{}{id} - return this -} +type ProjectClassPrimaryKey = ProjectClassProjectKeyClassKeyIndexKey -type ClassApplicationProjectKeyIndexKey struct { +type ProjectClassProjectKeyClassKeyIndexKey struct { vs []interface{} } -func (x ClassApplicationProjectKeyIndexKey) id() uint32 { return 1 } -func (x ClassApplicationProjectKeyIndexKey) values() []interface{} { return x.vs } -func (x ClassApplicationProjectKeyIndexKey) classApplicationIndexKey() {} +func (x ProjectClassProjectKeyClassKeyIndexKey) id() uint32 { return 0 } +func (x ProjectClassProjectKeyClassKeyIndexKey) values() []interface{} { return x.vs } +func (x ProjectClassProjectKeyClassKeyIndexKey) projectClassIndexKey() {} -func (this ClassApplicationProjectKeyIndexKey) WithProjectKey(project_key uint64) ClassApplicationProjectKeyIndexKey { +func (this ProjectClassProjectKeyClassKeyIndexKey) WithProjectKey(project_key uint64) ProjectClassProjectKeyClassKeyIndexKey { this.vs = []interface{}{project_key} return this } -type classApplicationTable struct { - table ormtable.AutoIncrementTable -} - -func (this classApplicationTable) Insert(ctx context.Context, classApplication *ClassApplication) error { - return this.table.Insert(ctx, classApplication) -} - -func (this classApplicationTable) Update(ctx context.Context, classApplication *ClassApplication) error { - return this.table.Update(ctx, classApplication) +func (this ProjectClassProjectKeyClassKeyIndexKey) WithProjectKeyClassKey(project_key uint64, class_key uint64) ProjectClassProjectKeyClassKeyIndexKey { + this.vs = []interface{}{project_key, class_key} + return this } -func (this classApplicationTable) Save(ctx context.Context, classApplication *ClassApplication) error { - return this.table.Save(ctx, classApplication) +type projectClassTable struct { + table ormtable.Table } -func (this classApplicationTable) Delete(ctx context.Context, classApplication *ClassApplication) error { - return this.table.Delete(ctx, classApplication) +func (this projectClassTable) Insert(ctx context.Context, projectClass *ProjectClass) error { + return this.table.Insert(ctx, projectClass) } -func (this classApplicationTable) InsertReturningID(ctx context.Context, classApplication *ClassApplication) (uint64, error) { - return this.table.InsertReturningID(ctx, classApplication) +func (this projectClassTable) Update(ctx context.Context, projectClass *ProjectClass) error { + return this.table.Update(ctx, projectClass) } -func (this classApplicationTable) Has(ctx context.Context, id uint64) (found bool, err error) { - return this.table.PrimaryKey().Has(ctx, id) +func (this projectClassTable) Save(ctx context.Context, projectClass *ProjectClass) error { + return this.table.Save(ctx, projectClass) } -func (this classApplicationTable) Get(ctx context.Context, id uint64) (*ClassApplication, error) { - var classApplication ClassApplication - found, err := this.table.PrimaryKey().Get(ctx, &classApplication, id) - if err != nil { - return nil, err - } - if !found { - return nil, ormerrors.NotFound - } - return &classApplication, nil +func (this projectClassTable) Delete(ctx context.Context, projectClass *ProjectClass) error { + return this.table.Delete(ctx, projectClass) } -func (this classApplicationTable) HasByProjectKey(ctx context.Context, project_key uint64) (found bool, err error) { - return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, - project_key, - ) +func (this projectClassTable) Has(ctx context.Context, project_key uint64, class_key uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, project_key, class_key) } -func (this classApplicationTable) GetByProjectKey(ctx context.Context, project_key uint64) (*ClassApplication, error) { - var classApplication ClassApplication - found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &classApplication, - project_key, - ) +func (this projectClassTable) Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectClass, error) { + var projectClass ProjectClass + found, err := this.table.PrimaryKey().Get(ctx, &projectClass, project_key, class_key) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } - return &classApplication, nil + return &projectClass, nil } -func (this classApplicationTable) List(ctx context.Context, prefixKey ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) { +func (this projectClassTable) List(ctx context.Context, prefixKey ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return ClassApplicationIterator{it}, err + return ProjectClassIterator{it}, err } -func (this classApplicationTable) ListRange(ctx context.Context, from, to ClassApplicationIndexKey, opts ...ormlist.Option) (ClassApplicationIterator, error) { +func (this projectClassTable) ListRange(ctx context.Context, from, to ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return ClassApplicationIterator{it}, err + return ProjectClassIterator{it}, err } -func (this classApplicationTable) DeleteBy(ctx context.Context, prefixKey ClassApplicationIndexKey) error { +func (this projectClassTable) DeleteBy(ctx context.Context, prefixKey ProjectClassIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } -func (this classApplicationTable) DeleteRange(ctx context.Context, from, to ClassApplicationIndexKey) error { +func (this projectClassTable) DeleteRange(ctx context.Context, from, to ProjectClassIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } -func (this classApplicationTable) doNotImplement() {} +func (this projectClassTable) doNotImplement() {} -var _ ClassApplicationTable = classApplicationTable{} +var _ ProjectClassTable = projectClassTable{} -func NewClassApplicationTable(db ormtable.Schema) (ClassApplicationTable, error) { - table := db.GetTable(&ClassApplication{}) +func NewProjectClassTable(db ormtable.Schema) (ProjectClassTable, error) { + table := db.GetTable(&ProjectClass{}) if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&ClassApplication{}).ProtoReflect().Descriptor().FullName())) + return nil, ormerrors.TableNotFound.Wrap(string((&ProjectClass{}).ProtoReflect().Descriptor().FullName())) } - return classApplicationTable{table.(ormtable.AutoIncrementTable)}, nil + return projectClassTable{table}, nil } type StateStore interface { @@ -2230,7 +2207,7 @@ type StateStore interface { AllowedClassCreatorTable() AllowedClassCreatorTable ClassFeeTable() ClassFeeTable AllowedBridgeChainTable() AllowedBridgeChainTable - ClassApplicationTable() ClassApplicationTable + ProjectClassTable() ProjectClassTable doNotImplement() } @@ -2252,7 +2229,7 @@ type stateStore struct { allowedClassCreator AllowedClassCreatorTable classFee ClassFeeTable allowedBridgeChain AllowedBridgeChainTable - classApplication ClassApplicationTable + projectClass ProjectClassTable } func (x stateStore) CreditTypeTable() CreditTypeTable { @@ -2319,8 +2296,8 @@ func (x stateStore) AllowedBridgeChainTable() AllowedBridgeChainTable { return x.allowedBridgeChain } -func (x stateStore) ClassApplicationTable() ClassApplicationTable { - return x.classApplication +func (x stateStore) ProjectClassTable() ProjectClassTable { + return x.projectClass } func (stateStore) doNotImplement() {} @@ -2408,7 +2385,7 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { return nil, err } - classApplicationTable, err := NewClassApplicationTable(db) + projectClassTable, err := NewProjectClassTable(db) if err != nil { return nil, err } @@ -2430,6 +2407,6 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { allowedClassCreatorTable, classFeeTable, allowedBridgeChainTable, - classApplicationTable, + projectClassTable, }, nil } diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 41ce1a66de..7efcf06f97 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -2528,6 +2528,7 @@ var ( fd_Batch_end_date protoreflect.FieldDescriptor fd_Batch_issuance_date protoreflect.FieldDescriptor fd_Batch_open protoreflect.FieldDescriptor + fd_Batch_class_key protoreflect.FieldDescriptor ) func init() { @@ -2542,6 +2543,7 @@ func init() { fd_Batch_end_date = md_Batch.Fields().ByName("end_date") fd_Batch_issuance_date = md_Batch.Fields().ByName("issuance_date") fd_Batch_open = md_Batch.Fields().ByName("open") + fd_Batch_class_key = md_Batch.Fields().ByName("class_key") } var _ protoreflect.Message = (*fastReflection_Batch)(nil) @@ -2663,6 +2665,12 @@ func (x *fastReflection_Batch) Range(f func(protoreflect.FieldDescriptor, protor return } } + if x.ClassKey != uint64(0) { + value := protoreflect.ValueOfUint64(x.ClassKey) + if !f(fd_Batch_class_key, value) { + return + } + } } // Has reports whether a field is populated. @@ -2696,6 +2704,8 @@ func (x *fastReflection_Batch) Has(fd protoreflect.FieldDescriptor) bool { return x.IssuanceDate != nil case "regen.ecocredit.v1.Batch.open": return x.Open != false + case "regen.ecocredit.v1.Batch.class_key": + return x.ClassKey != uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2730,6 +2740,8 @@ func (x *fastReflection_Batch) Clear(fd protoreflect.FieldDescriptor) { x.IssuanceDate = nil case "regen.ecocredit.v1.Batch.open": x.Open = false + case "regen.ecocredit.v1.Batch.class_key": + x.ClassKey = uint64(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2773,6 +2785,9 @@ func (x *fastReflection_Batch) Get(descriptor protoreflect.FieldDescriptor) prot case "regen.ecocredit.v1.Batch.open": value := x.Open return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1.Batch.class_key": + value := x.ClassKey + return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2811,6 +2826,8 @@ func (x *fastReflection_Batch) Set(fd protoreflect.FieldDescriptor, value protor x.IssuanceDate = value.Message().Interface().(*timestamppb.Timestamp) case "regen.ecocredit.v1.Batch.open": x.Open = value.Bool() + case "regen.ecocredit.v1.Batch.class_key": + x.ClassKey = value.Uint() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2858,6 +2875,8 @@ func (x *fastReflection_Batch) Mutable(fd protoreflect.FieldDescriptor) protoref panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.Batch is not mutable")) case "regen.ecocredit.v1.Batch.open": panic(fmt.Errorf("field open of message regen.ecocredit.v1.Batch is not mutable")) + case "regen.ecocredit.v1.Batch.class_key": + panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.Batch is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2892,6 +2911,8 @@ func (x *fastReflection_Batch) NewField(fd protoreflect.FieldDescriptor) protore return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1.Batch.open": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1.Batch.class_key": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.Batch")) @@ -2994,6 +3015,9 @@ func (x *fastReflection_Batch) ProtoMethods() *protoiface.Methods { if x.Open { n += 2 } + if x.ClassKey != 0 { + n += 1 + runtime.Sov(uint64(x.ClassKey)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -3023,6 +3047,11 @@ func (x *fastReflection_Batch) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.ClassKey != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ClassKey)) + i-- + dAtA[i] = 0x50 + } if x.Open { i-- if x.Open { @@ -3419,6 +3448,25 @@ func (x *fastReflection_Batch) ProtoMethods() *protoiface.Methods { } } x.Open = bool(v != 0) + case 10: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) + } + x.ClassKey = 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.ClassKey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -8820,35 +8868,33 @@ func (x *fastReflection_AllowedBridgeChain) ProtoMethods() *protoiface.Methods { } var ( - md_ClassApplication protoreflect.MessageDescriptor - fd_ClassApplication_id protoreflect.FieldDescriptor - fd_ClassApplication_project_key protoreflect.FieldDescriptor - fd_ClassApplication_class_key protoreflect.FieldDescriptor - fd_ClassApplication_issuer protoreflect.FieldDescriptor - fd_ClassApplication_metadata protoreflect.FieldDescriptor - fd_ClassApplication_status protoreflect.FieldDescriptor + md_ProjectClass protoreflect.MessageDescriptor + fd_ProjectClass_project_key protoreflect.FieldDescriptor + fd_ProjectClass_class_key protoreflect.FieldDescriptor + fd_ProjectClass_status protoreflect.FieldDescriptor + fd_ProjectClass_project_metadata protoreflect.FieldDescriptor + fd_ProjectClass_credit_class_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_state_proto_init() - md_ClassApplication = File_regen_ecocredit_v1_state_proto.Messages().ByName("ClassApplication") - fd_ClassApplication_id = md_ClassApplication.Fields().ByName("id") - fd_ClassApplication_project_key = md_ClassApplication.Fields().ByName("project_key") - fd_ClassApplication_class_key = md_ClassApplication.Fields().ByName("class_key") - fd_ClassApplication_issuer = md_ClassApplication.Fields().ByName("issuer") - fd_ClassApplication_metadata = md_ClassApplication.Fields().ByName("metadata") - fd_ClassApplication_status = md_ClassApplication.Fields().ByName("status") + md_ProjectClass = File_regen_ecocredit_v1_state_proto.Messages().ByName("ProjectClass") + fd_ProjectClass_project_key = md_ProjectClass.Fields().ByName("project_key") + fd_ProjectClass_class_key = md_ProjectClass.Fields().ByName("class_key") + fd_ProjectClass_status = md_ProjectClass.Fields().ByName("status") + fd_ProjectClass_project_metadata = md_ProjectClass.Fields().ByName("project_metadata") + fd_ProjectClass_credit_class_metadata = md_ProjectClass.Fields().ByName("credit_class_metadata") } -var _ protoreflect.Message = (*fastReflection_ClassApplication)(nil) +var _ protoreflect.Message = (*fastReflection_ProjectClass)(nil) -type fastReflection_ClassApplication ClassApplication +type fastReflection_ProjectClass ProjectClass -func (x *ClassApplication) ProtoReflect() protoreflect.Message { - return (*fastReflection_ClassApplication)(x) +func (x *ProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProjectClass)(x) } -func (x *ClassApplication) slowProtoReflect() protoreflect.Message { +func (x *ProjectClass) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8860,43 +8906,43 @@ func (x *ClassApplication) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ClassApplication_messageType fastReflection_ClassApplication_messageType -var _ protoreflect.MessageType = fastReflection_ClassApplication_messageType{} +var _fastReflection_ProjectClass_messageType fastReflection_ProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_ProjectClass_messageType{} -type fastReflection_ClassApplication_messageType struct{} +type fastReflection_ProjectClass_messageType struct{} -func (x fastReflection_ClassApplication_messageType) Zero() protoreflect.Message { - return (*fastReflection_ClassApplication)(nil) +func (x fastReflection_ProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProjectClass)(nil) } -func (x fastReflection_ClassApplication_messageType) New() protoreflect.Message { - return new(fastReflection_ClassApplication) +func (x fastReflection_ProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_ProjectClass) } -func (x fastReflection_ClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ClassApplication +func (x fastReflection_ProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectClass } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ClassApplication) Descriptor() protoreflect.MessageDescriptor { - return md_ClassApplication +func (x *fastReflection_ProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectClass } // 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_ClassApplication) Type() protoreflect.MessageType { - return _fastReflection_ClassApplication_messageType +func (x *fastReflection_ProjectClass) Type() protoreflect.MessageType { + return _fastReflection_ProjectClass_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ClassApplication) New() protoreflect.Message { - return new(fastReflection_ClassApplication) +func (x *fastReflection_ProjectClass) New() protoreflect.Message { + return new(fastReflection_ProjectClass) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ClassApplication) Interface() protoreflect.ProtoMessage { - return (*ClassApplication)(x) +func (x *fastReflection_ProjectClass) Interface() protoreflect.ProtoMessage { + return (*ProjectClass)(x) } // Range iterates over every populated field in an undefined order, @@ -8904,40 +8950,34 @@ func (x *fastReflection_ClassApplication) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != uint64(0) { - value := protoreflect.ValueOfUint64(x.Id) - if !f(fd_ClassApplication_id, value) { - return - } - } +func (x *fastReflection_ProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectKey != uint64(0) { value := protoreflect.ValueOfUint64(x.ProjectKey) - if !f(fd_ClassApplication_project_key, value) { + if !f(fd_ProjectClass_project_key, value) { return } } if x.ClassKey != uint64(0) { value := protoreflect.ValueOfUint64(x.ClassKey) - if !f(fd_ClassApplication_class_key, value) { + if !f(fd_ProjectClass_class_key, value) { return } } - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_ClassApplication_issuer, value) { + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_ProjectClass_status, value) { return } } - if x.Metadata != "" { - value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_ClassApplication_metadata, value) { + if x.ProjectMetadata != "" { + value := protoreflect.ValueOfString(x.ProjectMetadata) + if !f(fd_ProjectClass_project_metadata, value) { return } } - if x.Status != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) - if !f(fd_ClassApplication_status, value) { + if x.CreditClassMetadata != "" { + value := protoreflect.ValueOfString(x.CreditClassMetadata) + if !f(fd_ProjectClass_credit_class_metadata, value) { return } } @@ -8954,25 +8994,23 @@ func (x *fastReflection_ClassApplication) Range(f func(protoreflect.FieldDescrip // 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_ClassApplication) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_ProjectClass) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - return x.Id != uint64(0) - case "regen.ecocredit.v1.ClassApplication.project_key": + case "regen.ecocredit.v1.ProjectClass.project_key": return x.ProjectKey != uint64(0) - case "regen.ecocredit.v1.ClassApplication.class_key": + case "regen.ecocredit.v1.ProjectClass.class_key": return x.ClassKey != uint64(0) - case "regen.ecocredit.v1.ClassApplication.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.ClassApplication.metadata": - return x.Metadata != "" - case "regen.ecocredit.v1.ClassApplication.status": + case "regen.ecocredit.v1.ProjectClass.status": return x.Status != 0 + case "regen.ecocredit.v1.ProjectClass.project_metadata": + return x.ProjectMetadata != "" + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + return x.CreditClassMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) } } @@ -8982,25 +9020,23 @@ func (x *fastReflection_ClassApplication) Has(fd protoreflect.FieldDescriptor) b // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ClassApplication) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_ProjectClass) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - x.Id = uint64(0) - case "regen.ecocredit.v1.ClassApplication.project_key": + case "regen.ecocredit.v1.ProjectClass.project_key": x.ProjectKey = uint64(0) - case "regen.ecocredit.v1.ClassApplication.class_key": + case "regen.ecocredit.v1.ProjectClass.class_key": x.ClassKey = uint64(0) - case "regen.ecocredit.v1.ClassApplication.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.ClassApplication.metadata": - x.Metadata = "" - case "regen.ecocredit.v1.ClassApplication.status": + case "regen.ecocredit.v1.ProjectClass.status": x.Status = 0 + case "regen.ecocredit.v1.ProjectClass.project_metadata": + x.ProjectMetadata = "" + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + x.CreditClassMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) } } @@ -9010,31 +9046,28 @@ func (x *fastReflection_ClassApplication) Clear(fd protoreflect.FieldDescriptor) // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - value := x.Id - return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.ClassApplication.project_key": + case "regen.ecocredit.v1.ProjectClass.project_key": value := x.ProjectKey return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.ClassApplication.class_key": + case "regen.ecocredit.v1.ProjectClass.class_key": value := x.ClassKey return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.ClassApplication.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.ClassApplication.metadata": - value := x.Metadata - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.ClassApplication.status": + case "regen.ecocredit.v1.ProjectClass.status": value := x.Status return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.ProjectClass.project_metadata": + value := x.ProjectMetadata + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + value := x.CreditClassMetadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", descriptor.FullName())) } } @@ -9048,25 +9081,23 @@ func (x *fastReflection_ClassApplication) Get(descriptor protoreflect.FieldDescr // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_ProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - x.Id = value.Uint() - case "regen.ecocredit.v1.ClassApplication.project_key": + case "regen.ecocredit.v1.ProjectClass.project_key": x.ProjectKey = value.Uint() - case "regen.ecocredit.v1.ClassApplication.class_key": + case "regen.ecocredit.v1.ProjectClass.class_key": x.ClassKey = value.Uint() - case "regen.ecocredit.v1.ClassApplication.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.ClassApplication.metadata": - x.Metadata = value.Interface().(string) - case "regen.ecocredit.v1.ClassApplication.status": - x.Status = (ApplicationStatus)(value.Enum()) + case "regen.ecocredit.v1.ProjectClass.status": + x.Status = (ProjectClassStatus)(value.Enum()) + case "regen.ecocredit.v1.ProjectClass.project_metadata": + x.ProjectMetadata = value.Interface().(string) + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + x.CreditClassMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) } } @@ -9080,60 +9111,56 @@ func (x *fastReflection_ClassApplication) Set(fd protoreflect.FieldDescriptor, v // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - panic(fmt.Errorf("field id of message regen.ecocredit.v1.ClassApplication is not mutable")) - case "regen.ecocredit.v1.ClassApplication.project_key": - panic(fmt.Errorf("field project_key of message regen.ecocredit.v1.ClassApplication is not mutable")) - case "regen.ecocredit.v1.ClassApplication.class_key": - panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ClassApplication is not mutable")) - case "regen.ecocredit.v1.ClassApplication.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.ClassApplication is not mutable")) - case "regen.ecocredit.v1.ClassApplication.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.ClassApplication is not mutable")) - case "regen.ecocredit.v1.ClassApplication.status": - panic(fmt.Errorf("field status of message regen.ecocredit.v1.ClassApplication is not mutable")) + case "regen.ecocredit.v1.ProjectClass.project_key": + panic(fmt.Errorf("field project_key of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectClass.class_key": + panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectClass.status": + panic(fmt.Errorf("field status of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectClass.project_metadata": + panic(fmt.Errorf("field project_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + panic(fmt.Errorf("field credit_class_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass 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_ClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.ClassApplication.id": - return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.ClassApplication.project_key": + case "regen.ecocredit.v1.ProjectClass.project_key": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.ClassApplication.class_key": + case "regen.ecocredit.v1.ProjectClass.class_key": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.ClassApplication.issuer": + case "regen.ecocredit.v1.ProjectClass.status": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.ProjectClass.project_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.ClassApplication.metadata": + case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.ClassApplication.status": - return protoreflect.ValueOfEnum(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass 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_ClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_ProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ClassApplication", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ProjectClass", d.FullName())) } panic("unreachable") } @@ -9141,7 +9168,7 @@ func (x *fastReflection_ClassApplication) WhichOneof(d protoreflect.OneofDescrip // 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_ClassApplication) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_ProjectClass) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -9152,7 +9179,7 @@ func (x *fastReflection_ClassApplication) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ClassApplication) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_ProjectClass) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -9164,7 +9191,7 @@ func (x *fastReflection_ClassApplication) SetUnknown(fields protoreflect.RawFiel // 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_ClassApplication) IsValid() bool { +func (x *fastReflection_ProjectClass) IsValid() bool { return x != nil } @@ -9174,9 +9201,9 @@ func (x *fastReflection_ClassApplication) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ClassApplication) + x := input.Message.Interface().(*ProjectClass) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9188,26 +9215,23 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - if x.Id != 0 { - n += 1 + runtime.Sov(uint64(x.Id)) - } if x.ProjectKey != 0 { n += 1 + runtime.Sov(uint64(x.ProjectKey)) } if x.ClassKey != 0 { n += 1 + runtime.Sov(uint64(x.ClassKey)) } - l = len(x.Issuer) + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + l = len(x.ProjectMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Metadata) + l = len(x.CreditClassMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.Status != 0 { - n += 1 + runtime.Sov(uint64(x.Status)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9218,7 +9242,7 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ClassApplication) + x := input.Message.Interface().(*ProjectClass) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9237,24 +9261,24 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Status != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + if len(x.CreditClassMetadata) > 0 { + i -= len(x.CreditClassMetadata) + copy(dAtA[i:], x.CreditClassMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditClassMetadata))) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x32 } - if len(x.Metadata) > 0 { - i -= len(x.Metadata) - copy(dAtA[i:], x.Metadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) + if len(x.ProjectMetadata) > 0 { + i -= len(x.ProjectMetadata) + copy(dAtA[i:], x.ProjectMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectMetadata))) i-- dAtA[i] = 0x2a } - if len(x.Issuer) > 0 { - i -= len(x.Issuer) - copy(dAtA[i:], x.Issuer) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x20 } if x.ClassKey != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ClassKey)) @@ -9264,11 +9288,6 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { if x.ProjectKey != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ProjectKey)) i-- - dAtA[i] = 0x10 - } - if x.Id != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) - i-- dAtA[i] = 0x8 } if input.Buf != nil { @@ -9282,7 +9301,7 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ClassApplication) + x := input.Message.Interface().(*ProjectClass) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9314,17 +9333,17 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassApplication: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectClass: 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) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectKey", wireType) } - x.Id = 0 + x.ProjectKey = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -9334,16 +9353,16 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Id |= uint64(b&0x7F) << shift + x.ProjectKey |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 2: + case 3: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectKey", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) } - x.ProjectKey = 0 + x.ClassKey = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -9353,16 +9372,16 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.ProjectKey |= uint64(b&0x7F) << shift + x.ClassKey |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 3: + case 4: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - x.ClassKey = 0 + x.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -9372,14 +9391,14 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.ClassKey |= uint64(b&0x7F) << shift + x.Status |= ProjectClassStatus(b&0x7F) << shift if b < 0x80 { break } } - case 4: + case 5: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9407,11 +9426,11 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Issuer = string(dAtA[iNdEx:postIndex]) + x.ProjectMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreditClassMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9439,27 +9458,8 @@ func (x *fastReflection_ClassApplication) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Metadata = string(dAtA[iNdEx:postIndex]) + x.CreditClassMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - x.Status = 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.Status |= ApplicationStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -9510,64 +9510,67 @@ const ( // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -type ApplicationStatus int32 +type ProjectClassStatus int32 const ( - // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is - // unspecified and hasn't been evaluated yet. - ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED ApplicationStatus = 0 - // APPLICATION_STATUS_ACCEPTED indicates that the application has been - // accepted and that the project has been admitted into the credit class. - ApplicationStatus_APPLICATION_STATUS_ACCEPTED ApplicationStatus = 1 - // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has - // been reviewed and that changes are required before the application can be - // accepted. - ApplicationStatus_APPLICATION_STATUS_CHANGES_REQUESTED ApplicationStatus = 2 - // APPLICATION_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be admitted into the credit class. - ApplicationStatus_APPLICATION_STATUS_REJECTED ApplicationStatus = 3 + // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application + // has been submitted but not evaluated. + ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED ProjectClassStatus = 0 + // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + // accepted into the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_ACCEPTED ProjectClassStatus = 1 + // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + // a credit class has been reviewed and that changes to the application have + // been requested. It can also be used to indicate that a project within a credit + // class has had its status reassessed and that changes to the project are + // requested in order to continue in the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_CHANGES_REQUESTED ProjectClassStatus = 2 + // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class + // or that a project previously accepted has been removed from the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_REJECTED ProjectClassStatus = 3 ) -// Enum value maps for ApplicationStatus. +// Enum value maps for ProjectClassStatus. var ( - ApplicationStatus_name = map[int32]string{ - 0: "APPLICATION_STATUS_UNSPECIFIED", - 1: "APPLICATION_STATUS_ACCEPTED", - 2: "APPLICATION_STATUS_CHANGES_REQUESTED", - 3: "APPLICATION_STATUS_REJECTED", - } - ApplicationStatus_value = map[string]int32{ - "APPLICATION_STATUS_UNSPECIFIED": 0, - "APPLICATION_STATUS_ACCEPTED": 1, - "APPLICATION_STATUS_CHANGES_REQUESTED": 2, - "APPLICATION_STATUS_REJECTED": 3, + ProjectClassStatus_name = map[int32]string{ + 0: "PROJECT_CLASS_STATUS_UNSPECIFIED", + 1: "PROJECT_CLASS_STATUS_ACCEPTED", + 2: "PROJECT_CLASS_STATUS_CHANGES_REQUESTED", + 3: "PROJECT_CLASS_STATUS_REJECTED", + } + ProjectClassStatus_value = map[string]int32{ + "PROJECT_CLASS_STATUS_UNSPECIFIED": 0, + "PROJECT_CLASS_STATUS_ACCEPTED": 1, + "PROJECT_CLASS_STATUS_CHANGES_REQUESTED": 2, + "PROJECT_CLASS_STATUS_REJECTED": 3, } ) -func (x ApplicationStatus) Enum() *ApplicationStatus { - p := new(ApplicationStatus) +func (x ProjectClassStatus) Enum() *ProjectClassStatus { + p := new(ProjectClassStatus) *p = x return p } -func (x ApplicationStatus) String() string { +func (x ProjectClassStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ApplicationStatus) Descriptor() protoreflect.EnumDescriptor { +func (ProjectClassStatus) Descriptor() protoreflect.EnumDescriptor { return file_regen_ecocredit_v1_state_proto_enumTypes[0].Descriptor() } -func (ApplicationStatus) Type() protoreflect.EnumType { +func (ProjectClassStatus) Type() protoreflect.EnumType { return &file_regen_ecocredit_v1_state_proto_enumTypes[0] } -func (x ApplicationStatus) Number() protoreflect.EnumNumber { +func (x ProjectClassStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ApplicationStatus.Descriptor instead. -func (ApplicationStatus) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use ProjectClassStatus.Descriptor instead. +func (ProjectClassStatus) EnumDescriptor() ([]byte, []int) { return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{0} } @@ -9871,8 +9874,9 @@ type Batch struct { // for efficient lookups. This links a credit batch to a project. ProjectKey uint64 `protobuf:"varint,3,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` // denom is the unique identifier of the credit batch formed from the - // project id, the batch sequence number, and the start and end date of the - // credit batch. + // credit class ID (or just project ID for old project IDs which included the credit class), + // project id, the batch sequence number, and the start and + // end date of the credit batch. Denom string `protobuf:"bytes,4,opt,name=denom,proto3" json:"denom,omitempty"` // metadata is any arbitrary metadata attached to the credit batch. Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -9887,6 +9891,9 @@ type Batch struct { // open tells if it's possible to mint new credits in the future. // Once `open` is set to false, it can't be toggled any more. Open bool `protobuf:"varint,9,opt,name=open,proto3" json:"open,omitempty"` + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a batch to a credit class. + ClassKey uint64 `protobuf:"varint,10,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` } func (x *Batch) Reset() { @@ -9972,6 +9979,13 @@ func (x *Batch) GetOpen() bool { return false } +func (x *Batch) GetClassKey() uint64 { + if x != nil { + return x.ClassKey + } + return 0 +} + // ClassSequence stores and increments the sequence number for credit classes // within a credit type. type ClassSequence struct { @@ -10564,32 +10578,32 @@ func (x *AllowedBridgeChain) GetChainName() string { return "" } -// ClassApplication stores the data for a credit class application. -type ClassApplication struct { +// ProjectClass stores the data a project - credit class relation. +type ProjectClass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // id is the unique identifier of the application. - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // project_key is the table row identifier of the project used internally for - // efficient lookups. This links an application to a project. - ProjectKey uint64 `protobuf:"varint,2,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` + // efficient lookups. + ProjectKey uint64 `protobuf:"varint,1,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` // class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. + // for efficient lookups. ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` - // issuer is the issuer of the credit class which the application has been - // submitted to. - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` - // metadata is any arbitrary metadata attached to the application. - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` - // status is the status of the application. Note that accepted and rejected - // applications are removed from the table. - Status ApplicationStatus `protobuf:"varint,6,opt,name=status,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"status,omitempty"` -} - -func (x *ClassApplication) Reset() { - *x = ClassApplication{} + // status is the status of the relation. + Status ProjectClassStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"status,omitempty"` + // project_metadata is any arbitrary metadata set by the project + // admin. This should primarily be used to store metadata regarding the project's + // application to the credit class. + ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` + // credit_class_metadata is any arbitrary metadata set by a credit + // class issuer. This should primarily be used to store metadata regarding the + // project's application to the credit class. + CreditClassMetadata string `protobuf:"bytes,6,opt,name=credit_class_metadata,json=creditClassMetadata,proto3" json:"credit_class_metadata,omitempty"` +} + +func (x *ProjectClass) Reset() { + *x = ProjectClass{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10597,57 +10611,50 @@ func (x *ClassApplication) Reset() { } } -func (x *ClassApplication) String() string { +func (x *ProjectClass) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClassApplication) ProtoMessage() {} +func (*ProjectClass) ProtoMessage() {} -// Deprecated: Use ClassApplication.ProtoReflect.Descriptor instead. -func (*ClassApplication) Descriptor() ([]byte, []int) { +// Deprecated: Use ProjectClass.ProtoReflect.Descriptor instead. +func (*ProjectClass) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{16} } -func (x *ClassApplication) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ClassApplication) GetProjectKey() uint64 { +func (x *ProjectClass) GetProjectKey() uint64 { if x != nil { return x.ProjectKey } return 0 } -func (x *ClassApplication) GetClassKey() uint64 { +func (x *ProjectClass) GetClassKey() uint64 { if x != nil { return x.ClassKey } return 0 } -func (x *ClassApplication) GetIssuer() string { +func (x *ProjectClass) GetStatus() ProjectClassStatus { if x != nil { - return x.Issuer + return x.Status } - return "" + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED } -func (x *ClassApplication) GetMetadata() string { +func (x *ProjectClass) GetProjectMetadata() string { if x != nil { - return x.Metadata + return x.ProjectMetadata } return "" } -func (x *ClassApplication) GetStatus() ApplicationStatus { +func (x *ProjectClass) GetCreditClassMetadata() string { if x != nil { - return x.Status + return x.CreditClassMetadata } - return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED + return "" } var File_regen_ecocredit_v1_state_proto protoreflect.FileDescriptor @@ -10709,7 +10716,7 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0x98, 0x03, 0x0a, 0x05, 0x42, 0x61, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0xc4, 0x03, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1f, 0x0a, @@ -10730,136 +10737,140 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x3a, 0x4b, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x45, 0x0a, - 0x07, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x10, 0x01, 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x10, 0x04, 0x18, 0x05, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, - 0x62, 0x72, 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, - 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, - 0x18, 0x0a, 0x14, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x15, - 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, 0xf2, 0x9e, - 0xd3, 0x8e, 0x03, 0x11, 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, - 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x13, - 0x0a, 0x11, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x6b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, - 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, 0x01, 0x0a, - 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x5a, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x54, 0x0a, 0x07, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x10, 0x01, + 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x10, 0x04, 0x12, + 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x05, 0x18, 0x05, + 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, + 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x18, 0x0a, 0x14, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, + 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, + 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, + 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x11, + 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, 0x0d, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x3a, 0x1f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x0b, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, - 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, 0xd3, 0x8e, - 0x03, 0x29, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, - 0x18, 0x0a, 0x12, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, 0x15, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x08, - 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, - 0x0d, 0x0a, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x22, 0x41, - 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, - 0x0f, 0x22, 0x4b, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0xf8, - 0x01, 0x0a, 0x10, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x3a, 0x23, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1d, 0x0a, 0x06, 0x0a, 0x02, - 0x69, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x01, 0x18, 0x11, 0x2a, 0xa3, 0x01, 0x0a, 0x11, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x22, 0x0a, 0x1e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1f, - 0x0a, 0x1b, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, - 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, + 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x13, 0x0a, 0x11, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, + 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x4b, 0x65, 0x79, 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x1f, 0xf2, + 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, + 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x22, 0x96, + 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, + 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x29, 0x0a, 0x0b, + 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x12, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, + 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0d, 0x0a, 0x09, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x22, 0x41, 0x0a, 0x08, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, + 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0f, 0x22, 0x4b, 0x0a, + 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, 0x0a, 0x0a, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x21, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1b, + 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x11, 0x2a, 0xac, 0x01, 0x0a, 0x12, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, + 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, + 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10877,7 +10888,7 @@ func file_regen_ecocredit_v1_state_proto_rawDescGZIP() []byte { var file_regen_ecocredit_v1_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ - (ApplicationStatus)(0), // 0: regen.ecocredit.v1.ApplicationStatus + (ProjectClassStatus)(0), // 0: regen.ecocredit.v1.ProjectClassStatus (*CreditType)(nil), // 1: regen.ecocredit.v1.CreditType (*Class)(nil), // 2: regen.ecocredit.v1.Class (*ClassIssuer)(nil), // 3: regen.ecocredit.v1.ClassIssuer @@ -10894,7 +10905,7 @@ var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ (*AllowedClassCreator)(nil), // 14: regen.ecocredit.v1.AllowedClassCreator (*ClassFee)(nil), // 15: regen.ecocredit.v1.ClassFee (*AllowedBridgeChain)(nil), // 16: regen.ecocredit.v1.AllowedBridgeChain - (*ClassApplication)(nil), // 17: regen.ecocredit.v1.ClassApplication + (*ProjectClass)(nil), // 17: regen.ecocredit.v1.ProjectClass (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin } @@ -10903,7 +10914,7 @@ var file_regen_ecocredit_v1_state_proto_depIdxs = []int32{ 18, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp 18, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp 19, // 3: regen.ecocredit.v1.ClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 0, // 4: regen.ecocredit.v1.ClassApplication.status:type_name -> regen.ecocredit.v1.ApplicationStatus + 0, // 4: regen.ecocredit.v1.ProjectClass.status:type_name -> regen.ecocredit.v1.ProjectClassStatus 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 @@ -11110,7 +11121,7 @@ func file_regen_ecocredit_v1_state_proto_init() { } } file_regen_ecocredit_v1_state_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClassApplication); i { + switch v := v.(*ProjectClass); i { case 0: return &v.state case 1: diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 562ab79976..8c56cf52a2 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -15,6 +11,9 @@ import ( 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 ( @@ -3141,7 +3140,7 @@ func (x *fastReflection_MsgCreateProjectResponse) ProtoMethods() *protoiface.Met var ( md_MsgCreateUnregisteredProject protoreflect.MessageDescriptor - fd_MsgCreateUnregisteredProject_creator protoreflect.FieldDescriptor + fd_MsgCreateUnregisteredProject_admin protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_metadata protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_jurisdiction protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_reference_id protoreflect.FieldDescriptor @@ -3150,7 +3149,7 @@ var ( func init() { file_regen_ecocredit_v1_tx_proto_init() md_MsgCreateUnregisteredProject = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateUnregisteredProject") - fd_MsgCreateUnregisteredProject_creator = md_MsgCreateUnregisteredProject.Fields().ByName("creator") + fd_MsgCreateUnregisteredProject_admin = md_MsgCreateUnregisteredProject.Fields().ByName("admin") fd_MsgCreateUnregisteredProject_metadata = md_MsgCreateUnregisteredProject.Fields().ByName("metadata") fd_MsgCreateUnregisteredProject_jurisdiction = md_MsgCreateUnregisteredProject.Fields().ByName("jurisdiction") fd_MsgCreateUnregisteredProject_reference_id = md_MsgCreateUnregisteredProject.Fields().ByName("reference_id") @@ -3221,9 +3220,9 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Interface() protoreflect.P // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_MsgCreateUnregisteredProject) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgCreateUnregisteredProject_creator, value) { + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_MsgCreateUnregisteredProject_admin, value) { return } } @@ -3260,8 +3259,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Range(f func(protoreflect. // a repeated field is populated if it is non-empty. func (x *fastReflection_MsgCreateUnregisteredProject) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": - return x.Creator != "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": + return x.Admin != "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": return x.Metadata != "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": @@ -3284,8 +3283,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Has(fd protoreflect.FieldD // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgCreateUnregisteredProject) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": - x.Creator = "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": + x.Admin = "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": x.Metadata = "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": @@ -3308,8 +3307,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Clear(fd protoreflect.Fiel // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_MsgCreateUnregisteredProject) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": - value := x.Creator + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": + value := x.Admin return protoreflect.ValueOfString(value) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": value := x.Metadata @@ -3340,8 +3339,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Get(descriptor protoreflec // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": - x.Creator = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": + x.Admin = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": x.Metadata = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": @@ -3368,8 +3367,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldD // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgCreateUnregisteredProject) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": - panic(fmt.Errorf("field creator of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": @@ -3389,7 +3388,7 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Mutable(fd protoreflect.Fi // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_MsgCreateUnregisteredProject) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.creator": + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": return protoreflect.ValueOfString("") @@ -3466,7 +3465,7 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface var n int var l int _ = l - l = len(x.Creator) + l = len(x.Admin) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -3532,10 +3531,10 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface i-- dAtA[i] = 0x12 } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + 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] = 0xa } @@ -3590,7 +3589,7 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + 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 { @@ -3618,7 +3617,7 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Creator = string(dAtA[iNdEx:postIndex]) + x.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -4172,33 +4171,31 @@ func (x *fastReflection_MsgCreateUnregisteredProjectResponse) ProtoMethods() *pr } var ( - md_MsgSubmitClassApplication protoreflect.MessageDescriptor - fd_MsgSubmitClassApplication_project_admin protoreflect.FieldDescriptor - fd_MsgSubmitClassApplication_project_id protoreflect.FieldDescriptor - fd_MsgSubmitClassApplication_class_id protoreflect.FieldDescriptor - fd_MsgSubmitClassApplication_issuer protoreflect.FieldDescriptor - fd_MsgSubmitClassApplication_metadata protoreflect.FieldDescriptor + md_MsgUpdateProjectClass protoreflect.MessageDescriptor + fd_MsgUpdateProjectClass_project_admin protoreflect.FieldDescriptor + fd_MsgUpdateProjectClass_project_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectClass_class_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectClass_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSubmitClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSubmitClassApplication") - fd_MsgSubmitClassApplication_project_admin = md_MsgSubmitClassApplication.Fields().ByName("project_admin") - fd_MsgSubmitClassApplication_project_id = md_MsgSubmitClassApplication.Fields().ByName("project_id") - fd_MsgSubmitClassApplication_class_id = md_MsgSubmitClassApplication.Fields().ByName("class_id") - fd_MsgSubmitClassApplication_issuer = md_MsgSubmitClassApplication.Fields().ByName("issuer") - fd_MsgSubmitClassApplication_metadata = md_MsgSubmitClassApplication.Fields().ByName("metadata") + md_MsgUpdateProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectClass") + fd_MsgUpdateProjectClass_project_admin = md_MsgUpdateProjectClass.Fields().ByName("project_admin") + fd_MsgUpdateProjectClass_project_id = md_MsgUpdateProjectClass.Fields().ByName("project_id") + fd_MsgUpdateProjectClass_class_id = md_MsgUpdateProjectClass.Fields().ByName("class_id") + fd_MsgUpdateProjectClass_metadata = md_MsgUpdateProjectClass.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgSubmitClassApplication)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectClass)(nil) -type fastReflection_MsgSubmitClassApplication MsgSubmitClassApplication +type fastReflection_MsgUpdateProjectClass MsgUpdateProjectClass -func (x *MsgSubmitClassApplication) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSubmitClassApplication)(x) +func (x *MsgUpdateProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectClass)(x) } -func (x *MsgSubmitClassApplication) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectClass) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4210,43 +4207,43 @@ func (x *MsgSubmitClassApplication) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgSubmitClassApplication_messageType fastReflection_MsgSubmitClassApplication_messageType -var _ protoreflect.MessageType = fastReflection_MsgSubmitClassApplication_messageType{} +var _fastReflection_MsgUpdateProjectClass_messageType fastReflection_MsgUpdateProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectClass_messageType{} -type fastReflection_MsgSubmitClassApplication_messageType struct{} +type fastReflection_MsgUpdateProjectClass_messageType struct{} -func (x fastReflection_MsgSubmitClassApplication_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSubmitClassApplication)(nil) +func (x fastReflection_MsgUpdateProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectClass)(nil) } -func (x fastReflection_MsgSubmitClassApplication_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSubmitClassApplication) +func (x fastReflection_MsgUpdateProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectClass) } -func (x fastReflection_MsgSubmitClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSubmitClassApplication +func (x fastReflection_MsgUpdateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectClass } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSubmitClassApplication) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSubmitClassApplication +func (x *fastReflection_MsgUpdateProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectClass } // 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_MsgSubmitClassApplication) Type() protoreflect.MessageType { - return _fastReflection_MsgSubmitClassApplication_messageType +func (x *fastReflection_MsgUpdateProjectClass) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectClass_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSubmitClassApplication) New() protoreflect.Message { - return new(fastReflection_MsgSubmitClassApplication) +func (x *fastReflection_MsgUpdateProjectClass) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectClass) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSubmitClassApplication) Interface() protoreflect.ProtoMessage { - return (*MsgSubmitClassApplication)(x) +func (x *fastReflection_MsgUpdateProjectClass) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectClass)(x) } // Range iterates over every populated field in an undefined order, @@ -4254,34 +4251,28 @@ func (x *fastReflection_MsgSubmitClassApplication) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSubmitClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectAdmin != "" { value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgSubmitClassApplication_project_admin, value) { + if !f(fd_MsgUpdateProjectClass_project_admin, value) { return } } if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgSubmitClassApplication_project_id, value) { + if !f(fd_MsgUpdateProjectClass_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgSubmitClassApplication_class_id, value) { - return - } - } - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgSubmitClassApplication_issuer, value) { + if !f(fd_MsgUpdateProjectClass_class_id, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgSubmitClassApplication_metadata, value) { + if !f(fd_MsgUpdateProjectClass_metadata, value) { return } } @@ -4298,23 +4289,21 @@ func (x *fastReflection_MsgSubmitClassApplication) Range(f func(protoreflect.Fie // 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_MsgSubmitClassApplication) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) } } @@ -4324,23 +4313,21 @@ func (x *fastReflection_MsgSubmitClassApplication) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplication) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectClass) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": x.ClassId = "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) } } @@ -4350,28 +4337,25 @@ func (x *fastReflection_MsgSubmitClassApplication) Clear(fd protoreflect.FieldDe // 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_MsgSubmitClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", descriptor.FullName())) } } @@ -4385,23 +4369,21 @@ func (x *fastReflection_MsgSubmitClassApplication) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) } } @@ -4415,56 +4397,52 @@ func (x *fastReflection_MsgSubmitClassApplication) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgSubmitClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass 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_MsgSubmitClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_admin": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSubmitClassApplication.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSubmitClassApplication.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSubmitClassApplication.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgSubmitClassApplication.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass 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_MsgSubmitClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSubmitClassApplication", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectClass", d.FullName())) } panic("unreachable") } @@ -4472,7 +4450,7 @@ func (x *fastReflection_MsgSubmitClassApplication) WhichOneof(d protoreflect.One // 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_MsgSubmitClassApplication) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectClass) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4483,7 +4461,7 @@ func (x *fastReflection_MsgSubmitClassApplication) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplication) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectClass) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4495,7 +4473,7 @@ func (x *fastReflection_MsgSubmitClassApplication) SetUnknown(fields protoreflec // 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_MsgSubmitClassApplication) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectClass) IsValid() bool { return x != nil } @@ -4505,9 +4483,9 @@ func (x *fastReflection_MsgSubmitClassApplication) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSubmitClassApplication) + x := input.Message.Interface().(*MsgUpdateProjectClass) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4531,10 +4509,6 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Issuer) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } l = len(x.Metadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) @@ -4549,7 +4523,7 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSubmitClassApplication) + x := input.Message.Interface().(*MsgUpdateProjectClass) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4573,13 +4547,6 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me copy(dAtA[i:], x.Metadata) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) i-- - dAtA[i] = 0x2a - } - 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] = 0x22 } if len(x.ClassId) > 0 { @@ -4614,7 +4581,7 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSubmitClassApplication) + x := input.Message.Interface().(*MsgUpdateProjectClass) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4646,10 +4613,10 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplication: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4749,38 +4716,6 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me x.ClassId = 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 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 - case 5: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -4848,25 +4783,23 @@ func (x *fastReflection_MsgSubmitClassApplication) ProtoMethods() *protoiface.Me } var ( - md_MsgSubmitClassApplicationResponse protoreflect.MessageDescriptor - fd_MsgSubmitClassApplicationResponse_application_id protoreflect.FieldDescriptor + md_MsgUpdateProjectClassResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgSubmitClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgSubmitClassApplicationResponse") - fd_MsgSubmitClassApplicationResponse_application_id = md_MsgSubmitClassApplicationResponse.Fields().ByName("application_id") + md_MsgUpdateProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectClassResponse") } -var _ protoreflect.Message = (*fastReflection_MsgSubmitClassApplicationResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectClassResponse)(nil) -type fastReflection_MsgSubmitClassApplicationResponse MsgSubmitClassApplicationResponse +type fastReflection_MsgUpdateProjectClassResponse MsgUpdateProjectClassResponse -func (x *MsgSubmitClassApplicationResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgSubmitClassApplicationResponse)(x) +func (x *MsgUpdateProjectClassResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectClassResponse)(x) } -func (x *MsgSubmitClassApplicationResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectClassResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4878,43 +4811,43 @@ func (x *MsgSubmitClassApplicationResponse) slowProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -var _fastReflection_MsgSubmitClassApplicationResponse_messageType fastReflection_MsgSubmitClassApplicationResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgSubmitClassApplicationResponse_messageType{} +var _fastReflection_MsgUpdateProjectClassResponse_messageType fastReflection_MsgUpdateProjectClassResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectClassResponse_messageType{} -type fastReflection_MsgSubmitClassApplicationResponse_messageType struct{} +type fastReflection_MsgUpdateProjectClassResponse_messageType struct{} -func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgSubmitClassApplicationResponse)(nil) +func (x fastReflection_MsgUpdateProjectClassResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectClassResponse)(nil) } -func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgSubmitClassApplicationResponse) +func (x fastReflection_MsgUpdateProjectClassResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectClassResponse) } -func (x fastReflection_MsgSubmitClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSubmitClassApplicationResponse +func (x fastReflection_MsgUpdateProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectClassResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgSubmitClassApplicationResponse +func (x *fastReflection_MsgUpdateProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectClassResponse } // 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_MsgSubmitClassApplicationResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgSubmitClassApplicationResponse_messageType +func (x *fastReflection_MsgUpdateProjectClassResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectClassResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgSubmitClassApplicationResponse) New() protoreflect.Message { - return new(fastReflection_MsgSubmitClassApplicationResponse) +func (x *fastReflection_MsgUpdateProjectClassResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectClassResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Interface() protoreflect.ProtoMessage { - return (*MsgSubmitClassApplicationResponse)(x) +func (x *fastReflection_MsgUpdateProjectClassResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectClassResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -4922,13 +4855,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Interface() protorefl // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ApplicationId != uint64(0) { - value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgSubmitClassApplicationResponse_application_id, value) { - return - } - } +func (x *fastReflection_MsgUpdateProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -4942,15 +4869,13 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Range(f func(protoref // 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_MsgSubmitClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - return x.ApplicationId != uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -4960,15 +4885,13 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Has(fd protoreflect.F // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - x.ApplicationId = uint64(0) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -4978,16 +4901,13 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Clear(fd protoreflect // 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_MsgSubmitClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - value := x.ApplicationId - return protoreflect.ValueOfUint64(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", descriptor.FullName())) } } @@ -5001,15 +4921,13 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Get(descriptor protor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - x.ApplicationId = value.Uint() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -5023,40 +4941,36 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) Set(fd protoreflect.F // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgSubmitClassApplicationResponse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse 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_MsgSubmitClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgSubmitClassApplicationResponse.application_id": - return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgSubmitClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgSubmitClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse 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_MsgSubmitClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgSubmitClassApplicationResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectClassResponse", d.FullName())) } panic("unreachable") } @@ -5064,7 +4978,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) WhichOneof(d protoref // 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_MsgSubmitClassApplicationResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectClassResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5075,7 +4989,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) GetUnknown() protoref // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgSubmitClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5087,7 +5001,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) SetUnknown(fields pro // 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_MsgSubmitClassApplicationResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectClassResponse) IsValid() bool { return x != nil } @@ -5097,9 +5011,9 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) + x := input.Message.Interface().(*MsgUpdateProjectClassResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5111,9 +5025,6 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto var n int var l int _ = l - if x.ApplicationId != 0 { - n += 1 + runtime.Sov(uint64(x.ApplicationId)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5124,7 +5035,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) + x := input.Message.Interface().(*MsgUpdateProjectClassResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5143,11 +5054,6 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ApplicationId != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) - i-- - dAtA[i] = 0x8 - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -5159,7 +5065,7 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgSubmitClassApplicationResponse) + x := input.Message.Interface().(*MsgUpdateProjectClassResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5191,31 +5097,12 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplicationResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgSubmitClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClassResponse: 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 ApplicationId", wireType) - } - x.ApplicationId = 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.ApplicationId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5252,29 +5139,27 @@ func (x *fastReflection_MsgSubmitClassApplicationResponse) ProtoMethods() *proto } var ( - md_MsgUpdateClassApplication protoreflect.MessageDescriptor - fd_MsgUpdateClassApplication_project_admin protoreflect.FieldDescriptor - fd_MsgUpdateClassApplication_application_id protoreflect.FieldDescriptor - fd_MsgUpdateClassApplication_metadata protoreflect.FieldDescriptor + md_MsgWithdrawProjectClass protoreflect.MessageDescriptor + fd_MsgWithdrawProjectClass_project_admin protoreflect.FieldDescriptor + fd_MsgWithdrawProjectClass_application_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassApplication") - fd_MsgUpdateClassApplication_project_admin = md_MsgUpdateClassApplication.Fields().ByName("project_admin") - fd_MsgUpdateClassApplication_application_id = md_MsgUpdateClassApplication.Fields().ByName("application_id") - fd_MsgUpdateClassApplication_metadata = md_MsgUpdateClassApplication.Fields().ByName("metadata") + md_MsgWithdrawProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectClass") + fd_MsgWithdrawProjectClass_project_admin = md_MsgWithdrawProjectClass.Fields().ByName("project_admin") + fd_MsgWithdrawProjectClass_application_id = md_MsgWithdrawProjectClass.Fields().ByName("application_id") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassApplication)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectClass)(nil) -type fastReflection_MsgUpdateClassApplication MsgUpdateClassApplication +type fastReflection_MsgWithdrawProjectClass MsgWithdrawProjectClass -func (x *MsgUpdateClassApplication) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassApplication)(x) +func (x *MsgWithdrawProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectClass)(x) } -func (x *MsgUpdateClassApplication) slowProtoReflect() protoreflect.Message { +func (x *MsgWithdrawProjectClass) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5286,43 +5171,43 @@ func (x *MsgUpdateClassApplication) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassApplication_messageType fastReflection_MsgUpdateClassApplication_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassApplication_messageType{} +var _fastReflection_MsgWithdrawProjectClass_messageType fastReflection_MsgWithdrawProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectClass_messageType{} -type fastReflection_MsgUpdateClassApplication_messageType struct{} +type fastReflection_MsgWithdrawProjectClass_messageType struct{} -func (x fastReflection_MsgUpdateClassApplication_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassApplication)(nil) +func (x fastReflection_MsgWithdrawProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectClass)(nil) } -func (x fastReflection_MsgUpdateClassApplication_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassApplication) +func (x fastReflection_MsgWithdrawProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectClass) } -func (x fastReflection_MsgUpdateClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassApplication +func (x fastReflection_MsgWithdrawProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectClass } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassApplication) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassApplication +func (x *fastReflection_MsgWithdrawProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectClass } // 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_MsgUpdateClassApplication) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassApplication_messageType +func (x *fastReflection_MsgWithdrawProjectClass) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawProjectClass_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassApplication) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassApplication) +func (x *fastReflection_MsgWithdrawProjectClass) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectClass) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassApplication) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassApplication)(x) +func (x *fastReflection_MsgWithdrawProjectClass) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawProjectClass)(x) } // Range iterates over every populated field in an undefined order, @@ -5330,22 +5215,16 @@ func (x *fastReflection_MsgUpdateClassApplication) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgWithdrawProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectAdmin != "" { value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgUpdateClassApplication_project_admin, value) { + if !f(fd_MsgWithdrawProjectClass_project_admin, value) { return } } if x.ApplicationId != uint64(0) { value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgUpdateClassApplication_application_id, value) { - return - } - } - if x.Metadata != "" { - value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgUpdateClassApplication_metadata, value) { + if !f(fd_MsgWithdrawProjectClass_application_id, value) { return } } @@ -5362,19 +5241,17 @@ func (x *fastReflection_MsgUpdateClassApplication) Range(f func(protoreflect.Fie // 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_MsgUpdateClassApplication) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawProjectClass) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) } } @@ -5384,19 +5261,17 @@ func (x *fastReflection_MsgUpdateClassApplication) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplication) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawProjectClass) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) } } @@ -5406,22 +5281,19 @@ func (x *fastReflection_MsgUpdateClassApplication) Clear(fd protoreflect.FieldDe // 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_MsgUpdateClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": value := x.ApplicationId return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - value := x.Metadata - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", descriptor.FullName())) } } @@ -5435,19 +5307,17 @@ func (x *fastReflection_MsgUpdateClassApplication) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) } } @@ -5461,48 +5331,44 @@ func (x *fastReflection_MsgUpdateClassApplication) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass 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_MsgUpdateClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateClassApplication.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateClassApplication.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgUpdateClassApplication.metadata": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass 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_MsgUpdateClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassApplication", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectClass", d.FullName())) } panic("unreachable") } @@ -5510,7 +5376,7 @@ func (x *fastReflection_MsgUpdateClassApplication) WhichOneof(d protoreflect.One // 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_MsgUpdateClassApplication) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawProjectClass) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5521,7 +5387,7 @@ func (x *fastReflection_MsgUpdateClassApplication) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplication) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawProjectClass) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5533,7 +5399,7 @@ func (x *fastReflection_MsgUpdateClassApplication) SetUnknown(fields protoreflec // 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_MsgUpdateClassApplication) IsValid() bool { +func (x *fastReflection_MsgWithdrawProjectClass) IsValid() bool { return x != nil } @@ -5543,9 +5409,9 @@ func (x *fastReflection_MsgUpdateClassApplication) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassApplication) + x := input.Message.Interface().(*MsgWithdrawProjectClass) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5564,10 +5430,6 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me if x.ApplicationId != 0 { n += 1 + runtime.Sov(uint64(x.ApplicationId)) } - l = len(x.Metadata) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5578,7 +5440,7 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassApplication) + x := input.Message.Interface().(*MsgWithdrawProjectClass) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5597,13 +5459,6 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me 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] = 0x1a - } if x.ApplicationId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) i-- @@ -5627,7 +5482,7 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassApplication) + x := input.Message.Interface().(*MsgWithdrawProjectClass) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5659,10 +5514,10 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplication: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5716,38 +5571,6 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me break } } - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", 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.Metadata = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5784,23 +5607,23 @@ func (x *fastReflection_MsgUpdateClassApplication) ProtoMethods() *protoiface.Me } var ( - md_MsgUpdateClassApplicationResponse protoreflect.MessageDescriptor + md_MsgWithdrawProjectClassResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateClassApplicationResponse") + md_MsgWithdrawProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectClassResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateClassApplicationResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectClassResponse)(nil) -type fastReflection_MsgUpdateClassApplicationResponse MsgUpdateClassApplicationResponse +type fastReflection_MsgWithdrawProjectClassResponse MsgWithdrawProjectClassResponse -func (x *MsgUpdateClassApplicationResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateClassApplicationResponse)(x) +func (x *MsgWithdrawProjectClassResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectClassResponse)(x) } -func (x *MsgUpdateClassApplicationResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgWithdrawProjectClassResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5812,43 +5635,43 @@ func (x *MsgUpdateClassApplicationResponse) slowProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -var _fastReflection_MsgUpdateClassApplicationResponse_messageType fastReflection_MsgUpdateClassApplicationResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateClassApplicationResponse_messageType{} +var _fastReflection_MsgWithdrawProjectClassResponse_messageType fastReflection_MsgWithdrawProjectClassResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectClassResponse_messageType{} -type fastReflection_MsgUpdateClassApplicationResponse_messageType struct{} +type fastReflection_MsgWithdrawProjectClassResponse_messageType struct{} -func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateClassApplicationResponse)(nil) +func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectClassResponse)(nil) } -func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassApplicationResponse) +func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectClassResponse) } -func (x fastReflection_MsgUpdateClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassApplicationResponse +func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectClassResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateClassApplicationResponse +func (x *fastReflection_MsgWithdrawProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectClassResponse } // 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_MsgUpdateClassApplicationResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateClassApplicationResponse_messageType +func (x *fastReflection_MsgWithdrawProjectClassResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawProjectClassResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateClassApplicationResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateClassApplicationResponse) +func (x *fastReflection_MsgWithdrawProjectClassResponse) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectClassResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateClassApplicationResponse)(x) +func (x *fastReflection_MsgWithdrawProjectClassResponse) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawProjectClassResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -5856,7 +5679,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Interface() protorefl // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -5870,13 +5693,13 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Range(f func(protoref // 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_MsgUpdateClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -5886,13 +5709,13 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Has(fd protoreflect.F // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -5902,13 +5725,13 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Clear(fd protoreflect // 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_MsgUpdateClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", descriptor.FullName())) } } @@ -5922,13 +5745,13 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Get(descriptor protor // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -5942,36 +5765,36 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) Set(fd protoreflect.F // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse 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_MsgUpdateClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse 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_MsgUpdateClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateClassApplicationResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectClassResponse", d.FullName())) } panic("unreachable") } @@ -5979,7 +5802,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) WhichOneof(d protoref // 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_MsgUpdateClassApplicationResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawProjectClassResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5990,7 +5813,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) GetUnknown() protoref // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6002,7 +5825,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) SetUnknown(fields pro // 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_MsgUpdateClassApplicationResponse) IsValid() bool { +func (x *fastReflection_MsgWithdrawProjectClassResponse) IsValid() bool { return x != nil } @@ -6012,9 +5835,9 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) + x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6036,7 +5859,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *proto } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) + x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6066,7 +5889,7 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *proto }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateClassApplicationResponse) + x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6098,10 +5921,10 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *proto fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplicationResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -6140,27 +5963,31 @@ func (x *fastReflection_MsgUpdateClassApplicationResponse) ProtoMethods() *proto } var ( - md_MsgWithdrawClassApplication protoreflect.MessageDescriptor - fd_MsgWithdrawClassApplication_project_admin protoreflect.FieldDescriptor - fd_MsgWithdrawClassApplication_application_id protoreflect.FieldDescriptor + md_MsgEvaluateProjectClass protoreflect.MessageDescriptor + fd_MsgEvaluateProjectClass_issuer protoreflect.FieldDescriptor + fd_MsgEvaluateProjectClass_application_id protoreflect.FieldDescriptor + fd_MsgEvaluateProjectClass_evaluation protoreflect.FieldDescriptor + fd_MsgEvaluateProjectClass_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawClassApplication") - fd_MsgWithdrawClassApplication_project_admin = md_MsgWithdrawClassApplication.Fields().ByName("project_admin") - fd_MsgWithdrawClassApplication_application_id = md_MsgWithdrawClassApplication.Fields().ByName("application_id") + md_MsgEvaluateProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectClass") + fd_MsgEvaluateProjectClass_issuer = md_MsgEvaluateProjectClass.Fields().ByName("issuer") + fd_MsgEvaluateProjectClass_application_id = md_MsgEvaluateProjectClass.Fields().ByName("application_id") + fd_MsgEvaluateProjectClass_evaluation = md_MsgEvaluateProjectClass.Fields().ByName("evaluation") + fd_MsgEvaluateProjectClass_metadata = md_MsgEvaluateProjectClass.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgWithdrawClassApplication)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectClass)(nil) -type fastReflection_MsgWithdrawClassApplication MsgWithdrawClassApplication +type fastReflection_MsgEvaluateProjectClass MsgEvaluateProjectClass -func (x *MsgWithdrawClassApplication) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawClassApplication)(x) +func (x *MsgEvaluateProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectClass)(x) } -func (x *MsgWithdrawClassApplication) slowProtoReflect() protoreflect.Message { +func (x *MsgEvaluateProjectClass) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6172,43 +5999,43 @@ func (x *MsgWithdrawClassApplication) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgWithdrawClassApplication_messageType fastReflection_MsgWithdrawClassApplication_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawClassApplication_messageType{} +var _fastReflection_MsgEvaluateProjectClass_messageType fastReflection_MsgEvaluateProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectClass_messageType{} -type fastReflection_MsgWithdrawClassApplication_messageType struct{} +type fastReflection_MsgEvaluateProjectClass_messageType struct{} -func (x fastReflection_MsgWithdrawClassApplication_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawClassApplication)(nil) +func (x fastReflection_MsgEvaluateProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectClass)(nil) } -func (x fastReflection_MsgWithdrawClassApplication_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawClassApplication) +func (x fastReflection_MsgEvaluateProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectClass) } -func (x fastReflection_MsgWithdrawClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawClassApplication +func (x fastReflection_MsgEvaluateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectClass } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgWithdrawClassApplication) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawClassApplication +func (x *fastReflection_MsgEvaluateProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectClass } // 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_MsgWithdrawClassApplication) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawClassApplication_messageType +func (x *fastReflection_MsgEvaluateProjectClass) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateProjectClass_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawClassApplication) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawClassApplication) +func (x *fastReflection_MsgEvaluateProjectClass) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectClass) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawClassApplication) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawClassApplication)(x) +func (x *fastReflection_MsgEvaluateProjectClass) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateProjectClass)(x) } // Range iterates over every populated field in an undefined order, @@ -6216,16 +6043,28 @@ func (x *fastReflection_MsgWithdrawClassApplication) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgWithdrawClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProjectAdmin != "" { - value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgWithdrawClassApplication_project_admin, value) { +func (x *fastReflection_MsgEvaluateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_MsgEvaluateProjectClass_issuer, value) { return } } if x.ApplicationId != uint64(0) { value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgWithdrawClassApplication_application_id, value) { + if !f(fd_MsgEvaluateProjectClass_application_id, value) { + return + } + } + if x.Evaluation != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Evaluation)) + if !f(fd_MsgEvaluateProjectClass_evaluation, value) { + return + } + } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgEvaluateProjectClass_metadata, value) { return } } @@ -6242,17 +6081,21 @@ func (x *fastReflection_MsgWithdrawClassApplication) Range(f func(protoreflect.F // 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_MsgWithdrawClassApplication) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": - return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": return x.ApplicationId != uint64(0) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + return x.Evaluation != 0 + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) } } @@ -6262,17 +6105,21 @@ func (x *fastReflection_MsgWithdrawClassApplication) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawClassApplication) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateProjectClass) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": - x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": x.ApplicationId = uint64(0) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + x.Evaluation = 0 + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) } } @@ -6282,19 +6129,25 @@ func (x *fastReflection_MsgWithdrawClassApplication) Clear(fd protoreflect.Field // 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_MsgWithdrawClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": - value := x.ProjectAdmin + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": value := x.ApplicationId return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + value := x.Evaluation + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + value := x.Metadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", descriptor.FullName())) } } @@ -6308,17 +6161,21 @@ func (x *fastReflection_MsgWithdrawClassApplication) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": - x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": x.ApplicationId = value.Uint() + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + x.Evaluation = (ProjectClassStatus)(value.Enum()) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) } } @@ -6332,44 +6189,52 @@ func (x *fastReflection_MsgWithdrawClassApplication) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawClassApplication is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass 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_MsgWithdrawClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawClassApplication.project_admin": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgWithdrawClassApplication.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplication")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplication does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass 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_MsgWithdrawClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawClassApplication", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectClass", d.FullName())) } panic("unreachable") } @@ -6377,7 +6242,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) WhichOneof(d protoreflect.O // 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_MsgWithdrawClassApplication) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateProjectClass) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6388,7 +6253,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawClassApplication) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateProjectClass) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6400,7 +6265,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) SetUnknown(fields protorefl // 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_MsgWithdrawClassApplication) IsValid() bool { +func (x *fastReflection_MsgEvaluateProjectClass) IsValid() bool { return x != nil } @@ -6410,9 +6275,9 @@ func (x *fastReflection_MsgWithdrawClassApplication) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawClassApplication) + x := input.Message.Interface().(*MsgEvaluateProjectClass) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6424,13 +6289,20 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. var n int var l int _ = l - l = len(x.ProjectAdmin) + l = len(x.Issuer) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } if x.ApplicationId != 0 { n += 1 + runtime.Sov(uint64(x.ApplicationId)) } + if x.Evaluation != 0 { + n += 1 + runtime.Sov(uint64(x.Evaluation)) + } + l = len(x.Metadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6441,7 +6313,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawClassApplication) + x := input.Message.Interface().(*MsgEvaluateProjectClass) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6460,15 +6332,27 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. 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] = 0x22 + } + if x.Evaluation != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Evaluation)) + i-- + dAtA[i] = 0x18 + } if x.ApplicationId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) i-- dAtA[i] = 0x10 } - if len(x.ProjectAdmin) > 0 { - i -= len(x.ProjectAdmin) - copy(dAtA[i:], x.ProjectAdmin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectAdmin))) + 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] = 0xa } @@ -6483,7 +6367,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawClassApplication) + x := input.Message.Interface().(*MsgEvaluateProjectClass) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6515,15 +6399,15 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplication: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClass: 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 ProjectAdmin", wireType) + 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 { @@ -6551,7 +6435,7 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ProjectAdmin = string(dAtA[iNdEx:postIndex]) + x.Issuer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 0 { @@ -6572,894 +6456,9 @@ func (x *fastReflection_MsgWithdrawClassApplication) ProtoMethods() *protoiface. 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_MsgWithdrawClassApplicationResponse protoreflect.MessageDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawClassApplicationResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgWithdrawClassApplicationResponse)(nil) - -type fastReflection_MsgWithdrawClassApplicationResponse MsgWithdrawClassApplicationResponse - -func (x *MsgWithdrawClassApplicationResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawClassApplicationResponse)(x) -} - -func (x *MsgWithdrawClassApplicationResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] - 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_MsgWithdrawClassApplicationResponse_messageType fastReflection_MsgWithdrawClassApplicationResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawClassApplicationResponse_messageType{} - -type fastReflection_MsgWithdrawClassApplicationResponse_messageType struct{} - -func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawClassApplicationResponse)(nil) -} -func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawClassApplicationResponse) -} -func (x fastReflection_MsgWithdrawClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawClassApplicationResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgWithdrawClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawClassApplicationResponse -} - -// 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_MsgWithdrawClassApplicationResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawClassApplicationResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawClassApplicationResponse) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawClassApplicationResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawClassApplicationResponse) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawClassApplicationResponse)(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_MsgWithdrawClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgWithdrawClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawClassApplicationResponse 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_MsgWithdrawClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawClassApplicationResponse", 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_MsgWithdrawClassApplicationResponse) 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_MsgWithdrawClassApplicationResponse) 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_MsgWithdrawClassApplicationResponse) 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_MsgWithdrawClassApplicationResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawClassApplicationResponse) - 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: MsgWithdrawClassApplicationResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgEvaluateClassApplication protoreflect.MessageDescriptor - fd_MsgEvaluateClassApplication_issuer protoreflect.FieldDescriptor - fd_MsgEvaluateClassApplication_application_id protoreflect.FieldDescriptor - fd_MsgEvaluateClassApplication_evaluation protoreflect.FieldDescriptor - fd_MsgEvaluateClassApplication_reason protoreflect.FieldDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateClassApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateClassApplication") - fd_MsgEvaluateClassApplication_issuer = md_MsgEvaluateClassApplication.Fields().ByName("issuer") - fd_MsgEvaluateClassApplication_application_id = md_MsgEvaluateClassApplication.Fields().ByName("application_id") - fd_MsgEvaluateClassApplication_evaluation = md_MsgEvaluateClassApplication.Fields().ByName("evaluation") - fd_MsgEvaluateClassApplication_reason = md_MsgEvaluateClassApplication.Fields().ByName("reason") -} - -var _ protoreflect.Message = (*fastReflection_MsgEvaluateClassApplication)(nil) - -type fastReflection_MsgEvaluateClassApplication MsgEvaluateClassApplication - -func (x *MsgEvaluateClassApplication) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateClassApplication)(x) -} - -func (x *MsgEvaluateClassApplication) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] - 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_MsgEvaluateClassApplication_messageType fastReflection_MsgEvaluateClassApplication_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateClassApplication_messageType{} - -type fastReflection_MsgEvaluateClassApplication_messageType struct{} - -func (x fastReflection_MsgEvaluateClassApplication_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateClassApplication)(nil) -} -func (x fastReflection_MsgEvaluateClassApplication_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateClassApplication) -} -func (x fastReflection_MsgEvaluateClassApplication_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateClassApplication -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgEvaluateClassApplication) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateClassApplication -} - -// 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_MsgEvaluateClassApplication) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateClassApplication_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateClassApplication) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateClassApplication) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateClassApplication) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateClassApplication)(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_MsgEvaluateClassApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Issuer != "" { - value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgEvaluateClassApplication_issuer, value) { - return - } - } - if x.ApplicationId != uint64(0) { - value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgEvaluateClassApplication_application_id, value) { - return - } - } - if x.Evaluation != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Evaluation)) - if !f(fd_MsgEvaluateClassApplication_evaluation, value) { - return - } - } - if x.Reason != "" { - value := protoreflect.ValueOfString(x.Reason) - if !f(fd_MsgEvaluateClassApplication_reason, 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_MsgEvaluateClassApplication) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - return x.Issuer != "" - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - return x.Evaluation != 0 - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - return x.Reason != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - x.Issuer = "" - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - x.Evaluation = 0 - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - x.Reason = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - value := x.Issuer - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - value := x.ApplicationId - return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - value := x.Evaluation - return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - value := x.Reason - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - x.Evaluation = (ApplicationStatus)(value.Enum()) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - x.Reason = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - panic(fmt.Errorf("field reason of message regen.ecocredit.v1.MsgEvaluateClassApplication is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateClassApplication.issuer": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgEvaluateClassApplication.application_id": - return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation": - return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.MsgEvaluateClassApplication.reason": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplication")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplication 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_MsgEvaluateClassApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateClassApplication", 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_MsgEvaluateClassApplication) 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_MsgEvaluateClassApplication) 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_MsgEvaluateClassApplication) 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_MsgEvaluateClassApplication) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateClassApplication) - 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.Issuer) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.ApplicationId != 0 { - n += 1 + runtime.Sov(uint64(x.ApplicationId)) - } - if x.Evaluation != 0 { - n += 1 + runtime.Sov(uint64(x.Evaluation)) - } - l = len(x.Reason) - 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().(*MsgEvaluateClassApplication) - 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.Reason) > 0 { - i -= len(x.Reason) - copy(dAtA[i:], x.Reason) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reason))) - i-- - dAtA[i] = 0x22 - } - if x.Evaluation != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Evaluation)) - i-- - dAtA[i] = 0x18 - } - if x.ApplicationId != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) - i-- - dAtA[i] = 0x10 - } - 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] = 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().(*MsgEvaluateClassApplication) - 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: MsgEvaluateClassApplication: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplication: 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 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 - case 2: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) - } - x.ApplicationId = 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.ApplicationId |= 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 Evaluation", wireType) + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Evaluation", wireType) } x.Evaluation = 0 for shift := uint(0); ; shift += 7 { @@ -7471,14 +6470,14 @@ func (x *fastReflection_MsgEvaluateClassApplication) ProtoMethods() *protoiface. } b := dAtA[iNdEx] iNdEx++ - x.Evaluation |= ApplicationStatus(b&0x7F) << shift + x.Evaluation |= ProjectClassStatus(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 Reason", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7506,7 +6505,7 @@ func (x *fastReflection_MsgEvaluateClassApplication) ProtoMethods() *protoiface. if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Reason = string(dAtA[iNdEx:postIndex]) + x.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -7544,24 +6543,24 @@ func (x *fastReflection_MsgEvaluateClassApplication) ProtoMethods() *protoiface. } var ( - md_MsgEvaluateClassApplicationResponse protoreflect.MessageDescriptor + md_MsgEvaluateProjectClassResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateClassApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateClassApplicationResponse") + md_MsgEvaluateProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectClassResponse") } -var _ protoreflect.Message = (*fastReflection_MsgEvaluateClassApplicationResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectClassResponse)(nil) -type fastReflection_MsgEvaluateClassApplicationResponse MsgEvaluateClassApplicationResponse +type fastReflection_MsgEvaluateProjectClassResponse MsgEvaluateProjectClassResponse -func (x *MsgEvaluateClassApplicationResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateClassApplicationResponse)(x) +func (x *MsgEvaluateProjectClassResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectClassResponse)(x) } -func (x *MsgEvaluateClassApplicationResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] +func (x *MsgEvaluateProjectClassResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7572,43 +6571,43 @@ func (x *MsgEvaluateClassApplicationResponse) slowProtoReflect() protoreflect.Me return mi.MessageOf(x) } -var _fastReflection_MsgEvaluateClassApplicationResponse_messageType fastReflection_MsgEvaluateClassApplicationResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateClassApplicationResponse_messageType{} +var _fastReflection_MsgEvaluateProjectClassResponse_messageType fastReflection_MsgEvaluateProjectClassResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectClassResponse_messageType{} -type fastReflection_MsgEvaluateClassApplicationResponse_messageType struct{} +type fastReflection_MsgEvaluateProjectClassResponse_messageType struct{} -func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateClassApplicationResponse)(nil) +func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectClassResponse)(nil) } -func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateClassApplicationResponse) +func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectClassResponse) } -func (x fastReflection_MsgEvaluateClassApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateClassApplicationResponse +func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectClassResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateClassApplicationResponse +func (x *fastReflection_MsgEvaluateProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectClassResponse } // 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_MsgEvaluateClassApplicationResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateClassApplicationResponse_messageType +func (x *fastReflection_MsgEvaluateProjectClassResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateProjectClassResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateClassApplicationResponse) +func (x *fastReflection_MsgEvaluateProjectClassResponse) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectClassResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateClassApplicationResponse)(x) +func (x *fastReflection_MsgEvaluateProjectClassResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateProjectClassResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -7616,7 +6615,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Interface() protore // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -7630,13 +6629,13 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Range(f func(protor // 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_MsgEvaluateClassApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -7646,13 +6645,13 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Has(fd protoreflect // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -7662,13 +6661,13 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Clear(fd protorefle // 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_MsgEvaluateClassApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", descriptor.FullName())) } } @@ -7682,13 +6681,13 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Get(descriptor prot // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) } } @@ -7702,36 +6701,36 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) Set(fd protoreflect // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse 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_MsgEvaluateClassApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateClassApplicationResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse 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_MsgEvaluateClassApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateClassApplicationResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectClassResponse", d.FullName())) } panic("unreachable") } @@ -7739,7 +6738,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) WhichOneof(d protor // 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_MsgEvaluateClassApplicationResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateProjectClassResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -7750,7 +6749,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) GetUnknown() protor // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -7762,7 +6761,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) SetUnknown(fields p // 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_MsgEvaluateClassApplicationResponse) IsValid() bool { +func (x *fastReflection_MsgEvaluateProjectClassResponse) IsValid() bool { return x != nil } @@ -7772,9 +6771,9 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgEvaluateClassApplicationResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateProjectClassResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) + x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7796,7 +6795,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) ProtoMethods() *pro } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) + x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7826,7 +6825,7 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) ProtoMethods() *pro }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateClassApplicationResponse) + x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -7858,10 +6857,10 @@ func (x *fastReflection_MsgEvaluateClassApplicationResponse) ProtoMethods() *pro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7984,7 +6983,7 @@ func (x *MsgCreateBatch) ProtoReflect() protoreflect.Message { } func (x *MsgCreateBatch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8896,7 +7895,7 @@ func (x *MsgCreateBatchResponse) ProtoReflect() protoreflect.Message { } func (x *MsgCreateBatchResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9373,7 +8372,7 @@ func (x *MsgMintBatchCredits) ProtoReflect() protoreflect.Message { } func (x *MsgMintBatchCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10015,7 +9014,7 @@ func (x *MsgMintBatchCreditsResponse) ProtoReflect() protoreflect.Message { } func (x *MsgMintBatchCreditsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10375,7 +9374,7 @@ func (x *MsgSealBatch) ProtoReflect() protoreflect.Message { } func (x *MsgSealBatch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10855,7 +9854,7 @@ func (x *MsgSealBatchResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSealBatchResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11268,7 +10267,7 @@ func (x *MsgSend) ProtoReflect() protoreflect.Message { } func (x *MsgSend) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11843,7 +10842,7 @@ func (x *MsgSend_SendCredits) ProtoReflect() protoreflect.Message { } func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12509,7 +11508,7 @@ func (x *MsgSendResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSendResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12924,7 +11923,7 @@ func (x *MsgRetire) ProtoReflect() protoreflect.Message { } func (x *MsgRetire) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13551,7 +12550,7 @@ func (x *MsgRetireResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRetireResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13964,7 +12963,7 @@ func (x *MsgCancel) ProtoReflect() protoreflect.Message { } func (x *MsgCancel) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14529,7 +13528,7 @@ func (x *MsgCancelResponse) ProtoReflect() protoreflect.Message { } func (x *MsgCancelResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14891,7 +13890,7 @@ func (x *MsgUpdateClassAdmin) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassAdmin) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15433,7 +14432,7 @@ func (x *MsgUpdateClassAdminResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassAdminResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15889,7 +14888,7 @@ func (x *MsgUpdateClassIssuers) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassIssuers) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16521,7 +15520,7 @@ func (x *MsgUpdateClassIssuersResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassIssuersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16883,7 +15882,7 @@ func (x *MsgUpdateClassMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17425,7 +16424,7 @@ func (x *MsgUpdateClassMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17787,7 +16786,7 @@ func (x *MsgUpdateProjectAdmin) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectAdmin) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18329,7 +17328,7 @@ func (x *MsgUpdateProjectAdminResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectAdminResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18691,7 +17690,7 @@ func (x *MsgUpdateProjectMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19233,7 +18232,7 @@ func (x *MsgUpdateProjectMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19648,7 +18647,7 @@ func (x *MsgBridge) ProtoReflect() protoreflect.Message { } func (x *MsgBridge) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20281,7 +19280,7 @@ func (x *MsgUpdateBatchMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateBatchMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20823,7 +19822,7 @@ func (x *MsgUpdateBatchMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateBatchMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21179,7 +20178,7 @@ func (x *MsgBridgeResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21545,7 +20544,7 @@ func (x *MsgBridgeReceive) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22266,7 +21265,7 @@ func (x *MsgBridgeReceive_Batch) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[59] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22968,7 +21967,7 @@ func (x *MsgBridgeReceive_Project) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[60] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23514,7 +22513,7 @@ func (x *MsgBridgeReceiveResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceiveResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23998,7 +22997,7 @@ func (x *MsgAddClassCreator) ProtoReflect() protoreflect.Message { } func (x *MsgAddClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24478,7 +23477,7 @@ func (x *MsgAddClassCreatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24838,7 +23837,7 @@ func (x *MsgSetClassCreatorAllowlist) ProtoReflect() protoreflect.Message { } func (x *MsgSetClassCreatorAllowlist) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25308,7 +24307,7 @@ func (x *MsgSetClassCreatorAllowlistResponse) ProtoReflect() protoreflect.Messag } func (x *MsgSetClassCreatorAllowlistResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25668,7 +24667,7 @@ func (x *MsgRemoveClassCreator) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26148,7 +25147,7 @@ func (x *MsgRemoveClassCreatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26508,7 +25507,7 @@ func (x *MsgUpdateClassFee) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassFee) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27003,7 +26002,7 @@ func (x *MsgUpdateClassFeeResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassFeeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27363,7 +26362,7 @@ func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { } func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27843,7 +26842,7 @@ func (x *MsgAddAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28203,7 +27202,7 @@ func (x *MsgRemoveAllowedBridgeChain) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28683,7 +27682,7 @@ func (x *MsgRemoveAllowedBridgeChainResponse) ProtoReflect() protoreflect.Messag } func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29045,7 +28044,7 @@ func (x *MsgBurnRegen) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29587,7 +28586,7 @@ func (x *MsgBurnRegenResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30263,9 +29262,9 @@ type MsgCreateUnregisteredProject struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // creator is the address of the account creating the project that will become + // admin is the address of the account creating the project that will become // the admin of the project upon creation. - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references metadata to attach to the project. Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -30302,9 +29301,9 @@ func (*MsgCreateUnregisteredProject) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{6} } -func (x *MsgCreateUnregisteredProject) GetCreator() string { +func (x *MsgCreateUnregisteredProject) GetAdmin() string { if x != nil { - return x.Creator + return x.Admin } return "" } @@ -30367,8 +29366,8 @@ func (x *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. -type MsgSubmitClassApplication struct { +// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. +type MsgUpdateProjectClass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -30382,17 +29381,14 @@ type MsgSubmitClassApplication struct { // class_id is the identifier of the credit class which the project is // applying to. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // issuer is the address of the account that is an issuer of the credit class - // to whom the project is applying to for approval. - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgSubmitClassApplication) Reset() { - *x = MsgSubmitClassApplication{} +func (x *MsgUpdateProjectClass) Reset() { + *x = MsgUpdateProjectClass{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30400,64 +29396,54 @@ func (x *MsgSubmitClassApplication) Reset() { } } -func (x *MsgSubmitClassApplication) String() string { +func (x *MsgUpdateProjectClass) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSubmitClassApplication) ProtoMessage() {} +func (*MsgUpdateProjectClass) ProtoMessage() {} -// Deprecated: Use MsgSubmitClassApplication.ProtoReflect.Descriptor instead. -func (*MsgSubmitClassApplication) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgUpdateProjectClass.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectClass) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{8} } -func (x *MsgSubmitClassApplication) GetProjectAdmin() string { +func (x *MsgUpdateProjectClass) GetProjectAdmin() string { if x != nil { return x.ProjectAdmin } return "" } -func (x *MsgSubmitClassApplication) GetProjectId() string { +func (x *MsgUpdateProjectClass) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *MsgSubmitClassApplication) GetClassId() string { +func (x *MsgUpdateProjectClass) GetClassId() string { if x != nil { return x.ClassId } return "" } -func (x *MsgSubmitClassApplication) GetIssuer() string { - if x != nil { - return x.Issuer - } - return "" -} - -func (x *MsgSubmitClassApplication) GetMetadata() string { +func (x *MsgUpdateProjectClass) GetMetadata() string { if x != nil { return x.Metadata } return "" } -// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. -type MsgSubmitClassApplicationResponse struct { +// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. +type MsgUpdateProjectClassResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // application_id is the identifier assigned to the application. - ApplicationId uint64 `protobuf:"varint,1,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` } -func (x *MsgSubmitClassApplicationResponse) Reset() { - *x = MsgSubmitClassApplicationResponse{} +func (x *MsgUpdateProjectClassResponse) Reset() { + *x = MsgUpdateProjectClassResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30465,43 +29451,32 @@ func (x *MsgSubmitClassApplicationResponse) Reset() { } } -func (x *MsgSubmitClassApplicationResponse) String() string { +func (x *MsgUpdateProjectClassResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgSubmitClassApplicationResponse) ProtoMessage() {} +func (*MsgUpdateProjectClassResponse) ProtoMessage() {} -// Deprecated: Use MsgSubmitClassApplicationResponse.ProtoReflect.Descriptor instead. -func (*MsgSubmitClassApplicationResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgUpdateProjectClassResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectClassResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{9} } -func (x *MsgSubmitClassApplicationResponse) GetApplicationId() uint64 { - if x != nil { - return x.ApplicationId - } - return 0 -} - -// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. -type MsgUpdateClassApplication struct { +// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. +type MsgWithdrawProjectClass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // project_admin is the address of the account that is the admin of the - // project which is updating its application to the credit class. + // project which is withdrawing its application to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` - // application_id is the identifier of the application to update. + // application_id is the identifier of the application to withdraw. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata relevant to the application. If it - // is left empty, the existing metadata will be deleted. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgUpdateClassApplication) Reset() { - *x = MsgUpdateClassApplication{} +func (x *MsgWithdrawProjectClass) Reset() { + *x = MsgWithdrawProjectClass{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30509,47 +29484,40 @@ func (x *MsgUpdateClassApplication) Reset() { } } -func (x *MsgUpdateClassApplication) String() string { +func (x *MsgWithdrawProjectClass) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateClassApplication) ProtoMessage() {} +func (*MsgWithdrawProjectClass) ProtoMessage() {} -// Deprecated: Use MsgUpdateClassApplication.ProtoReflect.Descriptor instead. -func (*MsgUpdateClassApplication) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgWithdrawProjectClass.ProtoReflect.Descriptor instead. +func (*MsgWithdrawProjectClass) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{10} } -func (x *MsgUpdateClassApplication) GetProjectAdmin() string { +func (x *MsgWithdrawProjectClass) GetProjectAdmin() string { if x != nil { return x.ProjectAdmin } return "" } -func (x *MsgUpdateClassApplication) GetApplicationId() uint64 { +func (x *MsgWithdrawProjectClass) GetApplicationId() uint64 { if x != nil { return x.ApplicationId } return 0 } -func (x *MsgUpdateClassApplication) GetMetadata() string { - if x != nil { - return x.Metadata - } - return "" -} - -// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. -type MsgUpdateClassApplicationResponse struct { +// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. +type MsgWithdrawProjectClassResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateClassApplicationResponse) Reset() { - *x = MsgUpdateClassApplicationResponse{} +func (x *MsgWithdrawProjectClassResponse) Reset() { + *x = MsgWithdrawProjectClassResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -30557,93 +29525,19 @@ func (x *MsgUpdateClassApplicationResponse) Reset() { } } -func (x *MsgUpdateClassApplicationResponse) String() string { +func (x *MsgWithdrawProjectClassResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateClassApplicationResponse) ProtoMessage() {} +func (*MsgWithdrawProjectClassResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateClassApplicationResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateClassApplicationResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgWithdrawProjectClassResponse.ProtoReflect.Descriptor instead. +func (*MsgWithdrawProjectClassResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} } -// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. -type MsgWithdrawClassApplication struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // project_admin is the address of the account that is the admin of the - // project which is withdrawing its application to the credit class. - ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` - // application_id is the identifier of the application to withdraw. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` -} - -func (x *MsgWithdrawClassApplication) Reset() { - *x = MsgWithdrawClassApplication{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgWithdrawClassApplication) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgWithdrawClassApplication) ProtoMessage() {} - -// Deprecated: Use MsgWithdrawClassApplication.ProtoReflect.Descriptor instead. -func (*MsgWithdrawClassApplication) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} -} - -func (x *MsgWithdrawClassApplication) GetProjectAdmin() string { - if x != nil { - return x.ProjectAdmin - } - return "" -} - -func (x *MsgWithdrawClassApplication) GetApplicationId() uint64 { - if x != nil { - return x.ApplicationId - } - return 0 -} - -// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. -type MsgWithdrawClassApplicationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgWithdrawClassApplicationResponse) Reset() { - *x = MsgWithdrawClassApplicationResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgWithdrawClassApplicationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgWithdrawClassApplicationResponse) ProtoMessage() {} - -// Deprecated: Use MsgWithdrawClassApplicationResponse.ProtoReflect.Descriptor instead. -func (*MsgWithdrawClassApplicationResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} -} - -// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. -type MsgEvaluateClassApplication struct { +// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. +type MsgEvaluateProjectClass struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -30654,86 +29548,86 @@ type MsgEvaluateClassApplication struct { // application_id is the identifier of the application to evaluate. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. - Evaluation ApplicationStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"evaluation,omitempty"` - // reason is any arbitrary string with a maximum length of 256 characters + Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgEvaluateClassApplication) Reset() { - *x = MsgEvaluateClassApplication{} +func (x *MsgEvaluateProjectClass) Reset() { + *x = MsgEvaluateProjectClass{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEvaluateClassApplication) String() string { +func (x *MsgEvaluateProjectClass) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEvaluateClassApplication) ProtoMessage() {} +func (*MsgEvaluateProjectClass) ProtoMessage() {} -// Deprecated: Use MsgEvaluateClassApplication.ProtoReflect.Descriptor instead. -func (*MsgEvaluateClassApplication) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} +// Deprecated: Use MsgEvaluateProjectClass.ProtoReflect.Descriptor instead. +func (*MsgEvaluateProjectClass) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} } -func (x *MsgEvaluateClassApplication) GetIssuer() string { +func (x *MsgEvaluateProjectClass) GetIssuer() string { if x != nil { return x.Issuer } return "" } -func (x *MsgEvaluateClassApplication) GetApplicationId() uint64 { +func (x *MsgEvaluateProjectClass) GetApplicationId() uint64 { if x != nil { return x.ApplicationId } return 0 } -func (x *MsgEvaluateClassApplication) GetEvaluation() ApplicationStatus { +func (x *MsgEvaluateProjectClass) GetEvaluation() ProjectClassStatus { if x != nil { return x.Evaluation } - return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED } -func (x *MsgEvaluateClassApplication) GetReason() string { +func (x *MsgEvaluateProjectClass) GetMetadata() string { if x != nil { - return x.Reason + return x.Metadata } return "" } -// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. -type MsgEvaluateClassApplicationResponse struct { +// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. +type MsgEvaluateProjectClassResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgEvaluateClassApplicationResponse) Reset() { - *x = MsgEvaluateClassApplicationResponse{} +func (x *MsgEvaluateProjectClassResponse) Reset() { + *x = MsgEvaluateProjectClassResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEvaluateClassApplicationResponse) String() string { +func (x *MsgEvaluateProjectClassResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEvaluateClassApplicationResponse) ProtoMessage() {} +func (*MsgEvaluateProjectClassResponse) ProtoMessage() {} -// Deprecated: Use MsgEvaluateClassApplicationResponse.ProtoReflect.Descriptor instead. -func (*MsgEvaluateClassApplicationResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} +// Deprecated: Use MsgEvaluateProjectClassResponse.ProtoReflect.Descriptor instead. +func (*MsgEvaluateProjectClassResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} } // MsgCreateBatch is the Msg/CreateBatch request type. @@ -30776,7 +29670,7 @@ type MsgCreateBatch struct { func (x *MsgCreateBatch) Reset() { *x = MsgCreateBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30790,7 +29684,7 @@ func (*MsgCreateBatch) ProtoMessage() {} // Deprecated: Use MsgCreateBatch.ProtoReflect.Descriptor instead. func (*MsgCreateBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} } func (x *MsgCreateBatch) GetIssuer() string { @@ -30862,7 +29756,7 @@ type MsgCreateBatchResponse struct { func (x *MsgCreateBatchResponse) Reset() { *x = MsgCreateBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30876,7 +29770,7 @@ func (*MsgCreateBatchResponse) ProtoMessage() {} // Deprecated: Use MsgCreateBatchResponse.ProtoReflect.Descriptor instead. func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} } func (x *MsgCreateBatchResponse) GetBatchDenom() string { @@ -30909,7 +29803,7 @@ type MsgMintBatchCredits struct { func (x *MsgMintBatchCredits) Reset() { *x = MsgMintBatchCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30923,7 +29817,7 @@ func (*MsgMintBatchCredits) ProtoMessage() {} // Deprecated: Use MsgMintBatchCredits.ProtoReflect.Descriptor instead. func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} } func (x *MsgMintBatchCredits) GetIssuer() string { @@ -30964,7 +29858,7 @@ type MsgMintBatchCreditsResponse struct { func (x *MsgMintBatchCreditsResponse) Reset() { *x = MsgMintBatchCreditsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30978,7 +29872,7 @@ func (*MsgMintBatchCreditsResponse) ProtoMessage() {} // Deprecated: Use MsgMintBatchCreditsResponse.ProtoReflect.Descriptor instead. func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} } // MsgSealBatch is the Msg/MintBatchCredits request type. @@ -30997,7 +29891,7 @@ type MsgSealBatch struct { func (x *MsgSealBatch) Reset() { *x = MsgSealBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31011,7 +29905,7 @@ func (*MsgSealBatch) ProtoMessage() {} // Deprecated: Use MsgSealBatch.ProtoReflect.Descriptor instead. func (*MsgSealBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} } func (x *MsgSealBatch) GetIssuer() string { @@ -31038,7 +29932,7 @@ type MsgSealBatchResponse struct { func (x *MsgSealBatchResponse) Reset() { *x = MsgSealBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31052,7 +29946,7 @@ func (*MsgSealBatchResponse) ProtoMessage() {} // Deprecated: Use MsgSealBatchResponse.ProtoReflect.Descriptor instead. func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} } // MsgSend is the Msg/Send request type. @@ -31072,7 +29966,7 @@ type MsgSend struct { func (x *MsgSend) Reset() { *x = MsgSend{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31086,7 +29980,7 @@ func (*MsgSend) ProtoMessage() {} // Deprecated: Use MsgSend.ProtoReflect.Descriptor instead. func (*MsgSend) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} } func (x *MsgSend) GetSender() string { @@ -31120,7 +30014,7 @@ type MsgSendResponse struct { func (x *MsgSendResponse) Reset() { *x = MsgSendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31134,7 +30028,7 @@ func (*MsgSendResponse) ProtoMessage() {} // Deprecated: Use MsgSendResponse.ProtoReflect.Descriptor instead. func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} } // MsgRetire is the Msg/Retire request type. @@ -31165,7 +30059,7 @@ type MsgRetire struct { func (x *MsgRetire) Reset() { *x = MsgRetire{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31179,7 +30073,7 @@ func (*MsgRetire) ProtoMessage() {} // Deprecated: Use MsgRetire.ProtoReflect.Descriptor instead. func (*MsgRetire) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} } func (x *MsgRetire) GetOwner() string { @@ -31220,7 +30114,7 @@ type MsgRetireResponse struct { func (x *MsgRetireResponse) Reset() { *x = MsgRetireResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31234,7 +30128,7 @@ func (*MsgRetireResponse) ProtoMessage() {} // Deprecated: Use MsgRetireResponse.ProtoReflect.Descriptor instead. func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} } // MsgCancel is the Msg/Cancel request type. @@ -31255,7 +30149,7 @@ type MsgCancel struct { func (x *MsgCancel) Reset() { *x = MsgCancel{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31269,7 +30163,7 @@ func (*MsgCancel) ProtoMessage() {} // Deprecated: Use MsgCancel.ProtoReflect.Descriptor instead. func (*MsgCancel) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} } func (x *MsgCancel) GetOwner() string { @@ -31303,7 +30197,7 @@ type MsgCancelResponse struct { func (x *MsgCancelResponse) Reset() { *x = MsgCancelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31317,7 +30211,7 @@ func (*MsgCancelResponse) ProtoMessage() {} // Deprecated: Use MsgCancelResponse.ProtoReflect.Descriptor instead. func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} } // MsgUpdateClassAdmin is the Msg/UpdateClassAdmin request type. @@ -31339,7 +30233,7 @@ type MsgUpdateClassAdmin struct { func (x *MsgUpdateClassAdmin) Reset() { *x = MsgUpdateClassAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31353,7 +30247,7 @@ func (*MsgUpdateClassAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} } func (x *MsgUpdateClassAdmin) GetAdmin() string { @@ -31387,7 +30281,7 @@ type MsgUpdateClassAdminResponse struct { func (x *MsgUpdateClassAdminResponse) Reset() { *x = MsgUpdateClassAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31401,7 +30295,7 @@ func (*MsgUpdateClassAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} } // MsgUpdateClassIssuers is the Msg/UpdateClassIssuers request type. @@ -31425,7 +30319,7 @@ type MsgUpdateClassIssuers struct { func (x *MsgUpdateClassIssuers) Reset() { *x = MsgUpdateClassIssuers{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31439,7 +30333,7 @@ func (*MsgUpdateClassIssuers) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuers.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} } func (x *MsgUpdateClassIssuers) GetAdmin() string { @@ -31480,7 +30374,7 @@ type MsgUpdateClassIssuersResponse struct { func (x *MsgUpdateClassIssuersResponse) Reset() { *x = MsgUpdateClassIssuersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31494,7 +30388,7 @@ func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuersResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} } // MsgUpdateClassMetadata is the Msg/UpdateClassMetadata request type. @@ -31516,7 +30410,7 @@ type MsgUpdateClassMetadata struct { func (x *MsgUpdateClassMetadata) Reset() { *x = MsgUpdateClassMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31530,7 +30424,7 @@ func (*MsgUpdateClassMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} } func (x *MsgUpdateClassMetadata) GetAdmin() string { @@ -31564,7 +30458,7 @@ type MsgUpdateClassMetadataResponse struct { func (x *MsgUpdateClassMetadataResponse) Reset() { *x = MsgUpdateClassMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31578,7 +30472,7 @@ func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} } // MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin request type. @@ -31600,7 +30494,7 @@ type MsgUpdateProjectAdmin struct { func (x *MsgUpdateProjectAdmin) Reset() { *x = MsgUpdateProjectAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31614,7 +30508,7 @@ func (*MsgUpdateProjectAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} } func (x *MsgUpdateProjectAdmin) GetAdmin() string { @@ -31648,7 +30542,7 @@ type MsgUpdateProjectAdminResponse struct { func (x *MsgUpdateProjectAdminResponse) Reset() { *x = MsgUpdateProjectAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31662,7 +30556,7 @@ func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} } // MsgUpdateProjectMetadata is the Msg/UpdateProjectMetadata request type. @@ -31684,7 +30578,7 @@ type MsgUpdateProjectMetadata struct { func (x *MsgUpdateProjectMetadata) Reset() { *x = MsgUpdateProjectMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31698,7 +30592,7 @@ func (*MsgUpdateProjectMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} } func (x *MsgUpdateProjectMetadata) GetAdmin() string { @@ -31733,7 +30627,7 @@ type MsgUpdateProjectMetadataResponse struct { func (x *MsgUpdateProjectMetadataResponse) Reset() { *x = MsgUpdateProjectMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31747,7 +30641,7 @@ func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} } // MsgBridge is the Msg/Bridge request type. @@ -31769,7 +30663,7 @@ type MsgBridge struct { func (x *MsgBridge) Reset() { *x = MsgBridge{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31783,7 +30677,7 @@ func (*MsgBridge) ProtoMessage() {} // Deprecated: Use MsgBridge.ProtoReflect.Descriptor instead. func (*MsgBridge) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} } func (x *MsgBridge) GetOwner() string { @@ -31835,7 +30729,7 @@ type MsgUpdateBatchMetadata struct { func (x *MsgUpdateBatchMetadata) Reset() { *x = MsgUpdateBatchMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31849,7 +30743,7 @@ func (*MsgUpdateBatchMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} } func (x *MsgUpdateBatchMetadata) GetIssuer() string { @@ -31886,7 +30780,7 @@ type MsgUpdateBatchMetadataResponse struct { func (x *MsgUpdateBatchMetadataResponse) Reset() { *x = MsgUpdateBatchMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31900,7 +30794,7 @@ func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} } // MsgBridgeResponse is the Msg/Bridge response type. @@ -31913,7 +30807,7 @@ type MsgBridgeResponse struct { func (x *MsgBridgeResponse) Reset() { *x = MsgBridgeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31927,7 +30821,7 @@ func (*MsgBridgeResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} } // MsgBridgeReceive is the Msg/BridgeReceive request type. @@ -31953,7 +30847,7 @@ type MsgBridgeReceive struct { func (x *MsgBridgeReceive) Reset() { *x = MsgBridgeReceive{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31967,7 +30861,7 @@ func (*MsgBridgeReceive) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} } func (x *MsgBridgeReceive) GetIssuer() string { @@ -32022,7 +30916,7 @@ type MsgBridgeReceiveResponse struct { func (x *MsgBridgeReceiveResponse) Reset() { *x = MsgBridgeReceiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32036,7 +30930,7 @@ func (*MsgBridgeReceiveResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeReceiveResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} } func (x *MsgBridgeReceiveResponse) GetBatchDenom() string { @@ -32070,7 +30964,7 @@ type MsgAddClassCreator struct { func (x *MsgAddClassCreator) Reset() { *x = MsgAddClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32084,7 +30978,7 @@ func (*MsgAddClassCreator) ProtoMessage() {} // Deprecated: Use MsgAddClassCreator.ProtoReflect.Descriptor instead. func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} } func (x *MsgAddClassCreator) GetAuthority() string { @@ -32113,7 +31007,7 @@ type MsgAddClassCreatorResponse struct { func (x *MsgAddClassCreatorResponse) Reset() { *x = MsgAddClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32127,7 +31021,7 @@ func (*MsgAddClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgAddClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} } // MsgSetClassCreatorAllowlist is the Msg/SetClassCreatorAllowlist request @@ -32148,7 +31042,7 @@ type MsgSetClassCreatorAllowlist struct { func (x *MsgSetClassCreatorAllowlist) Reset() { *x = MsgSetClassCreatorAllowlist{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32162,7 +31056,7 @@ func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlist.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} } func (x *MsgSetClassCreatorAllowlist) GetAuthority() string { @@ -32192,7 +31086,7 @@ type MsgSetClassCreatorAllowlistResponse struct { func (x *MsgSetClassCreatorAllowlistResponse) Reset() { *x = MsgSetClassCreatorAllowlistResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32206,7 +31100,7 @@ func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlistResponse.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} } // MsgRemoveClassCreator is the Msg/RemoveClassCreator request type. @@ -32226,7 +31120,7 @@ type MsgRemoveClassCreator struct { func (x *MsgRemoveClassCreator) Reset() { *x = MsgRemoveClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32240,7 +31134,7 @@ func (*MsgRemoveClassCreator) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreator.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} } func (x *MsgRemoveClassCreator) GetAuthority() string { @@ -32269,7 +31163,7 @@ type MsgRemoveClassCreatorResponse struct { func (x *MsgRemoveClassCreatorResponse) Reset() { *x = MsgRemoveClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32283,7 +31177,7 @@ func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} } // MsgUpdateClassFee is the Msg/UpdateClassFee request type. @@ -32304,7 +31198,7 @@ type MsgUpdateClassFee struct { func (x *MsgUpdateClassFee) Reset() { *x = MsgUpdateClassFee{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32318,7 +31212,7 @@ func (*MsgUpdateClassFee) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFee.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} } func (x *MsgUpdateClassFee) GetAuthority() string { @@ -32347,7 +31241,7 @@ type MsgUpdateClassFeeResponse struct { func (x *MsgUpdateClassFeeResponse) Reset() { *x = MsgUpdateClassFeeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32361,7 +31255,7 @@ func (*MsgUpdateClassFeeResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFeeResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} } // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. @@ -32382,7 +31276,7 @@ type MsgAddAllowedBridgeChain struct { func (x *MsgAddAllowedBridgeChain) Reset() { *x = MsgAddAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32396,7 +31290,7 @@ func (*MsgAddAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} } func (x *MsgAddAllowedBridgeChain) GetAuthority() string { @@ -32426,7 +31320,7 @@ type MsgAddAllowedBridgeChainResponse struct { func (x *MsgAddAllowedBridgeChainResponse) Reset() { *x = MsgAddAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32440,7 +31334,7 @@ func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} } // MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. @@ -32461,7 +31355,7 @@ type MsgRemoveAllowedBridgeChain struct { func (x *MsgRemoveAllowedBridgeChain) Reset() { *x = MsgRemoveAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32475,7 +31369,7 @@ func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{54} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} } func (x *MsgRemoveAllowedBridgeChain) GetAuthority() string { @@ -32505,7 +31399,7 @@ type MsgRemoveAllowedBridgeChainResponse struct { func (x *MsgRemoveAllowedBridgeChainResponse) Reset() { *x = MsgRemoveAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32519,7 +31413,7 @@ func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{55} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} } // MsgBurnRegen is the Msg/BurnRegen request type. @@ -32542,7 +31436,7 @@ type MsgBurnRegen struct { func (x *MsgBurnRegen) Reset() { *x = MsgBurnRegen{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32556,7 +31450,7 @@ func (*MsgBurnRegen) ProtoMessage() {} // Deprecated: Use MsgBurnRegen.ProtoReflect.Descriptor instead. func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{56} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{54} } func (x *MsgBurnRegen) GetBurner() string { @@ -32592,7 +31486,7 @@ type MsgBurnRegenResponse struct { func (x *MsgBurnRegenResponse) Reset() { *x = MsgBurnRegenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32606,7 +31500,7 @@ func (*MsgBurnRegenResponse) ProtoMessage() {} // Deprecated: Use MsgBurnRegenResponse.ProtoReflect.Descriptor instead. func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{57} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{55} } // SendCredits specifies the amount of tradable and retired credits of a @@ -32646,7 +31540,7 @@ type MsgSend_SendCredits struct { func (x *MsgSend_SendCredits) Reset() { *x = MsgSend_SendCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32660,7 +31554,7 @@ func (*MsgSend_SendCredits) ProtoMessage() {} // Deprecated: Use MsgSend_SendCredits.ProtoReflect.Descriptor instead. func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20, 0} } func (x *MsgSend_SendCredits) GetBatchDenom() string { @@ -32723,7 +31617,7 @@ type MsgBridgeReceive_Batch struct { func (x *MsgBridgeReceive_Batch) Reset() { *x = MsgBridgeReceive_Batch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[59] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32737,7 +31631,7 @@ func (*MsgBridgeReceive_Batch) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Batch.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40, 0} } func (x *MsgBridgeReceive_Batch) GetRecipient() string { @@ -32794,7 +31688,7 @@ type MsgBridgeReceive_Project struct { func (x *MsgBridgeReceive_Project) Reset() { *x = MsgBridgeReceive_Project{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[60] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32808,7 +31702,7 @@ func (*MsgBridgeReceive_Project) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Project.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42, 1} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40, 1} } func (x *MsgBridgeReceive_Project) GetReferenceId() string { @@ -32889,561 +31783,533 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x6e, 0x22, 0x39, 0x0a, 0x18, 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, 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, 0x22, 0xa9, 0x01, 0x0a, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x45, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, - 0xc2, 0x01, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 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, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x4a, 0x0a, 0x21, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x22, 0x97, 0x01, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x23, 0x0a, 0x21, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, + 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, - 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x25, - 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, - 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, - 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, - 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, - 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, - 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, - 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, - 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, - 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, - 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, - 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x21, + 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x21, 0x0a, + 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, + 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, + 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, + 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, + 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, + 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, + 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, - 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, - 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, - 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, - 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, - 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, - 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, 0x22, 0x78, 0x0a, - 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, - 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, - 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, - 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, - 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, - 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, + 0x6d, 0x69, 0x6e, 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, 0x1b, + 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, - 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, + 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, + 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, + 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, + 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, + 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, + 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 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, 0x46, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, + 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, + 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, - 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, - 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, - 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, - 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, - 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, - 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, - 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, - 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xf7, 0x18, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, + 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, + 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, + 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, + 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, + 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, + 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd1, 0x17, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, - 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, - 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, + 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, + 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, - 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, - 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, + 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, - 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, - 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, - 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, - 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, + 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, + 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, - 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, - 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, - 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, - 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, - 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, - 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, - 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, + 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, + 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, + 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -33458,7 +32324,7 @@ func file_regen_ecocredit_v1_tx_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_tx_proto_rawDescData } -var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgAddCreditType)(nil), // 0: regen.ecocredit.v1.MsgAddCreditType (*MsgAddCreditTypeResponse)(nil), // 1: regen.ecocredit.v1.MsgAddCreditTypeResponse @@ -33468,147 +32334,143 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgCreateProjectResponse)(nil), // 5: regen.ecocredit.v1.MsgCreateProjectResponse (*MsgCreateUnregisteredProject)(nil), // 6: regen.ecocredit.v1.MsgCreateUnregisteredProject (*MsgCreateUnregisteredProjectResponse)(nil), // 7: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - (*MsgSubmitClassApplication)(nil), // 8: regen.ecocredit.v1.MsgSubmitClassApplication - (*MsgSubmitClassApplicationResponse)(nil), // 9: regen.ecocredit.v1.MsgSubmitClassApplicationResponse - (*MsgUpdateClassApplication)(nil), // 10: regen.ecocredit.v1.MsgUpdateClassApplication - (*MsgUpdateClassApplicationResponse)(nil), // 11: regen.ecocredit.v1.MsgUpdateClassApplicationResponse - (*MsgWithdrawClassApplication)(nil), // 12: regen.ecocredit.v1.MsgWithdrawClassApplication - (*MsgWithdrawClassApplicationResponse)(nil), // 13: regen.ecocredit.v1.MsgWithdrawClassApplicationResponse - (*MsgEvaluateClassApplication)(nil), // 14: regen.ecocredit.v1.MsgEvaluateClassApplication - (*MsgEvaluateClassApplicationResponse)(nil), // 15: regen.ecocredit.v1.MsgEvaluateClassApplicationResponse - (*MsgCreateBatch)(nil), // 16: regen.ecocredit.v1.MsgCreateBatch - (*MsgCreateBatchResponse)(nil), // 17: regen.ecocredit.v1.MsgCreateBatchResponse - (*MsgMintBatchCredits)(nil), // 18: regen.ecocredit.v1.MsgMintBatchCredits - (*MsgMintBatchCreditsResponse)(nil), // 19: regen.ecocredit.v1.MsgMintBatchCreditsResponse - (*MsgSealBatch)(nil), // 20: regen.ecocredit.v1.MsgSealBatch - (*MsgSealBatchResponse)(nil), // 21: regen.ecocredit.v1.MsgSealBatchResponse - (*MsgSend)(nil), // 22: regen.ecocredit.v1.MsgSend - (*MsgSendResponse)(nil), // 23: regen.ecocredit.v1.MsgSendResponse - (*MsgRetire)(nil), // 24: regen.ecocredit.v1.MsgRetire - (*MsgRetireResponse)(nil), // 25: regen.ecocredit.v1.MsgRetireResponse - (*MsgCancel)(nil), // 26: regen.ecocredit.v1.MsgCancel - (*MsgCancelResponse)(nil), // 27: regen.ecocredit.v1.MsgCancelResponse - (*MsgUpdateClassAdmin)(nil), // 28: regen.ecocredit.v1.MsgUpdateClassAdmin - (*MsgUpdateClassAdminResponse)(nil), // 29: regen.ecocredit.v1.MsgUpdateClassAdminResponse - (*MsgUpdateClassIssuers)(nil), // 30: regen.ecocredit.v1.MsgUpdateClassIssuers - (*MsgUpdateClassIssuersResponse)(nil), // 31: regen.ecocredit.v1.MsgUpdateClassIssuersResponse - (*MsgUpdateClassMetadata)(nil), // 32: regen.ecocredit.v1.MsgUpdateClassMetadata - (*MsgUpdateClassMetadataResponse)(nil), // 33: regen.ecocredit.v1.MsgUpdateClassMetadataResponse - (*MsgUpdateProjectAdmin)(nil), // 34: regen.ecocredit.v1.MsgUpdateProjectAdmin - (*MsgUpdateProjectAdminResponse)(nil), // 35: regen.ecocredit.v1.MsgUpdateProjectAdminResponse - (*MsgUpdateProjectMetadata)(nil), // 36: regen.ecocredit.v1.MsgUpdateProjectMetadata - (*MsgUpdateProjectMetadataResponse)(nil), // 37: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - (*MsgBridge)(nil), // 38: regen.ecocredit.v1.MsgBridge - (*MsgUpdateBatchMetadata)(nil), // 39: regen.ecocredit.v1.MsgUpdateBatchMetadata - (*MsgUpdateBatchMetadataResponse)(nil), // 40: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - (*MsgBridgeResponse)(nil), // 41: regen.ecocredit.v1.MsgBridgeResponse - (*MsgBridgeReceive)(nil), // 42: regen.ecocredit.v1.MsgBridgeReceive - (*MsgBridgeReceiveResponse)(nil), // 43: regen.ecocredit.v1.MsgBridgeReceiveResponse - (*MsgAddClassCreator)(nil), // 44: regen.ecocredit.v1.MsgAddClassCreator - (*MsgAddClassCreatorResponse)(nil), // 45: regen.ecocredit.v1.MsgAddClassCreatorResponse - (*MsgSetClassCreatorAllowlist)(nil), // 46: regen.ecocredit.v1.MsgSetClassCreatorAllowlist - (*MsgSetClassCreatorAllowlistResponse)(nil), // 47: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - (*MsgRemoveClassCreator)(nil), // 48: regen.ecocredit.v1.MsgRemoveClassCreator - (*MsgRemoveClassCreatorResponse)(nil), // 49: regen.ecocredit.v1.MsgRemoveClassCreatorResponse - (*MsgUpdateClassFee)(nil), // 50: regen.ecocredit.v1.MsgUpdateClassFee - (*MsgUpdateClassFeeResponse)(nil), // 51: regen.ecocredit.v1.MsgUpdateClassFeeResponse - (*MsgAddAllowedBridgeChain)(nil), // 52: regen.ecocredit.v1.MsgAddAllowedBridgeChain - (*MsgAddAllowedBridgeChainResponse)(nil), // 53: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - (*MsgRemoveAllowedBridgeChain)(nil), // 54: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - (*MsgRemoveAllowedBridgeChainResponse)(nil), // 55: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - (*MsgBurnRegen)(nil), // 56: regen.ecocredit.v1.MsgBurnRegen - (*MsgBurnRegenResponse)(nil), // 57: regen.ecocredit.v1.MsgBurnRegenResponse - (*MsgSend_SendCredits)(nil), // 58: regen.ecocredit.v1.MsgSend.SendCredits - (*MsgBridgeReceive_Batch)(nil), // 59: regen.ecocredit.v1.MsgBridgeReceive.Batch - (*MsgBridgeReceive_Project)(nil), // 60: regen.ecocredit.v1.MsgBridgeReceive.Project - (*CreditType)(nil), // 61: regen.ecocredit.v1.CreditType - (*v1beta1.Coin)(nil), // 62: cosmos.base.v1beta1.Coin - (ApplicationStatus)(0), // 63: regen.ecocredit.v1.ApplicationStatus - (*BatchIssuance)(nil), // 64: regen.ecocredit.v1.BatchIssuance - (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp - (*OriginTx)(nil), // 66: regen.ecocredit.v1.OriginTx - (*Credits)(nil), // 67: regen.ecocredit.v1.Credits + (*MsgUpdateProjectClass)(nil), // 8: regen.ecocredit.v1.MsgUpdateProjectClass + (*MsgUpdateProjectClassResponse)(nil), // 9: regen.ecocredit.v1.MsgUpdateProjectClassResponse + (*MsgWithdrawProjectClass)(nil), // 10: regen.ecocredit.v1.MsgWithdrawProjectClass + (*MsgWithdrawProjectClassResponse)(nil), // 11: regen.ecocredit.v1.MsgWithdrawProjectClassResponse + (*MsgEvaluateProjectClass)(nil), // 12: regen.ecocredit.v1.MsgEvaluateProjectClass + (*MsgEvaluateProjectClassResponse)(nil), // 13: regen.ecocredit.v1.MsgEvaluateProjectClassResponse + (*MsgCreateBatch)(nil), // 14: regen.ecocredit.v1.MsgCreateBatch + (*MsgCreateBatchResponse)(nil), // 15: regen.ecocredit.v1.MsgCreateBatchResponse + (*MsgMintBatchCredits)(nil), // 16: regen.ecocredit.v1.MsgMintBatchCredits + (*MsgMintBatchCreditsResponse)(nil), // 17: regen.ecocredit.v1.MsgMintBatchCreditsResponse + (*MsgSealBatch)(nil), // 18: regen.ecocredit.v1.MsgSealBatch + (*MsgSealBatchResponse)(nil), // 19: regen.ecocredit.v1.MsgSealBatchResponse + (*MsgSend)(nil), // 20: regen.ecocredit.v1.MsgSend + (*MsgSendResponse)(nil), // 21: regen.ecocredit.v1.MsgSendResponse + (*MsgRetire)(nil), // 22: regen.ecocredit.v1.MsgRetire + (*MsgRetireResponse)(nil), // 23: regen.ecocredit.v1.MsgRetireResponse + (*MsgCancel)(nil), // 24: regen.ecocredit.v1.MsgCancel + (*MsgCancelResponse)(nil), // 25: regen.ecocredit.v1.MsgCancelResponse + (*MsgUpdateClassAdmin)(nil), // 26: regen.ecocredit.v1.MsgUpdateClassAdmin + (*MsgUpdateClassAdminResponse)(nil), // 27: regen.ecocredit.v1.MsgUpdateClassAdminResponse + (*MsgUpdateClassIssuers)(nil), // 28: regen.ecocredit.v1.MsgUpdateClassIssuers + (*MsgUpdateClassIssuersResponse)(nil), // 29: regen.ecocredit.v1.MsgUpdateClassIssuersResponse + (*MsgUpdateClassMetadata)(nil), // 30: regen.ecocredit.v1.MsgUpdateClassMetadata + (*MsgUpdateClassMetadataResponse)(nil), // 31: regen.ecocredit.v1.MsgUpdateClassMetadataResponse + (*MsgUpdateProjectAdmin)(nil), // 32: regen.ecocredit.v1.MsgUpdateProjectAdmin + (*MsgUpdateProjectAdminResponse)(nil), // 33: regen.ecocredit.v1.MsgUpdateProjectAdminResponse + (*MsgUpdateProjectMetadata)(nil), // 34: regen.ecocredit.v1.MsgUpdateProjectMetadata + (*MsgUpdateProjectMetadataResponse)(nil), // 35: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + (*MsgBridge)(nil), // 36: regen.ecocredit.v1.MsgBridge + (*MsgUpdateBatchMetadata)(nil), // 37: regen.ecocredit.v1.MsgUpdateBatchMetadata + (*MsgUpdateBatchMetadataResponse)(nil), // 38: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + (*MsgBridgeResponse)(nil), // 39: regen.ecocredit.v1.MsgBridgeResponse + (*MsgBridgeReceive)(nil), // 40: regen.ecocredit.v1.MsgBridgeReceive + (*MsgBridgeReceiveResponse)(nil), // 41: regen.ecocredit.v1.MsgBridgeReceiveResponse + (*MsgAddClassCreator)(nil), // 42: regen.ecocredit.v1.MsgAddClassCreator + (*MsgAddClassCreatorResponse)(nil), // 43: regen.ecocredit.v1.MsgAddClassCreatorResponse + (*MsgSetClassCreatorAllowlist)(nil), // 44: regen.ecocredit.v1.MsgSetClassCreatorAllowlist + (*MsgSetClassCreatorAllowlistResponse)(nil), // 45: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + (*MsgRemoveClassCreator)(nil), // 46: regen.ecocredit.v1.MsgRemoveClassCreator + (*MsgRemoveClassCreatorResponse)(nil), // 47: regen.ecocredit.v1.MsgRemoveClassCreatorResponse + (*MsgUpdateClassFee)(nil), // 48: regen.ecocredit.v1.MsgUpdateClassFee + (*MsgUpdateClassFeeResponse)(nil), // 49: regen.ecocredit.v1.MsgUpdateClassFeeResponse + (*MsgAddAllowedBridgeChain)(nil), // 50: regen.ecocredit.v1.MsgAddAllowedBridgeChain + (*MsgAddAllowedBridgeChainResponse)(nil), // 51: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + (*MsgRemoveAllowedBridgeChain)(nil), // 52: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + (*MsgRemoveAllowedBridgeChainResponse)(nil), // 53: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + (*MsgBurnRegen)(nil), // 54: regen.ecocredit.v1.MsgBurnRegen + (*MsgBurnRegenResponse)(nil), // 55: regen.ecocredit.v1.MsgBurnRegenResponse + (*MsgSend_SendCredits)(nil), // 56: regen.ecocredit.v1.MsgSend.SendCredits + (*MsgBridgeReceive_Batch)(nil), // 57: regen.ecocredit.v1.MsgBridgeReceive.Batch + (*MsgBridgeReceive_Project)(nil), // 58: regen.ecocredit.v1.MsgBridgeReceive.Project + (*CreditType)(nil), // 59: regen.ecocredit.v1.CreditType + (*v1beta1.Coin)(nil), // 60: cosmos.base.v1beta1.Coin + (ProjectClassStatus)(0), // 61: regen.ecocredit.v1.ProjectClassStatus + (*BatchIssuance)(nil), // 62: regen.ecocredit.v1.BatchIssuance + (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp + (*OriginTx)(nil), // 64: regen.ecocredit.v1.OriginTx + (*Credits)(nil), // 65: regen.ecocredit.v1.Credits } var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ - 61, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType - 62, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin - 63, // 2: regen.ecocredit.v1.MsgEvaluateClassApplication.evaluation:type_name -> regen.ecocredit.v1.ApplicationStatus - 64, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 65, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp - 65, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp - 66, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 64, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 66, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 58, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits - 67, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits - 67, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits - 67, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits - 60, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project - 59, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch - 66, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 62, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 65, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp - 65, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp + 59, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType + 60, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin + 61, // 2: regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation:type_name -> regen.ecocredit.v1.ProjectClassStatus + 62, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 63, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp + 63, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp + 64, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 62, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 64, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 56, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits + 65, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits + 65, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits + 65, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits + 58, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project + 57, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch + 64, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 60, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 63, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp + 63, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp 2, // 19: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass 4, // 20: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject 6, // 21: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject - 8, // 22: regen.ecocredit.v1.Msg.SubmitClassApplication:input_type -> regen.ecocredit.v1.MsgSubmitClassApplication - 10, // 23: regen.ecocredit.v1.Msg.UpdateClassApplication:input_type -> regen.ecocredit.v1.MsgUpdateClassApplication - 12, // 24: regen.ecocredit.v1.Msg.WithdrawClassApplication:input_type -> regen.ecocredit.v1.MsgWithdrawClassApplication - 14, // 25: regen.ecocredit.v1.Msg.EvaluateClassApplication:input_type -> regen.ecocredit.v1.MsgEvaluateClassApplication - 16, // 26: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch - 18, // 27: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits - 20, // 28: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch - 22, // 29: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend - 24, // 30: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire - 26, // 31: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel - 28, // 32: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin - 30, // 33: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers - 32, // 34: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata - 34, // 35: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin - 36, // 36: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata - 39, // 37: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata - 38, // 38: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge - 42, // 39: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive - 0, // 40: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType - 46, // 41: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist - 44, // 42: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator - 48, // 43: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator - 50, // 44: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee - 52, // 45: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain - 54, // 46: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - 56, // 47: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen - 3, // 48: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse - 5, // 49: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse - 7, // 50: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - 9, // 51: regen.ecocredit.v1.Msg.SubmitClassApplication:output_type -> regen.ecocredit.v1.MsgSubmitClassApplicationResponse - 11, // 52: regen.ecocredit.v1.Msg.UpdateClassApplication:output_type -> regen.ecocredit.v1.MsgUpdateClassApplicationResponse - 13, // 53: regen.ecocredit.v1.Msg.WithdrawClassApplication:output_type -> regen.ecocredit.v1.MsgWithdrawClassApplicationResponse - 15, // 54: regen.ecocredit.v1.Msg.EvaluateClassApplication:output_type -> regen.ecocredit.v1.MsgEvaluateClassApplicationResponse - 17, // 55: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse - 19, // 56: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse - 21, // 57: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse - 23, // 58: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse - 25, // 59: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse - 27, // 60: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse - 29, // 61: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse - 31, // 62: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse - 33, // 63: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse - 35, // 64: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse - 37, // 65: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - 40, // 66: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - 41, // 67: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse - 43, // 68: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse - 1, // 69: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse - 47, // 70: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - 45, // 71: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse - 49, // 72: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse - 51, // 73: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse - 53, // 74: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - 55, // 75: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - 57, // 76: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse - 48, // [48:77] is the sub-list for method output_type - 19, // [19:48] is the sub-list for method input_type + 8, // 22: regen.ecocredit.v1.Msg.UpdateProjectClass:input_type -> regen.ecocredit.v1.MsgUpdateProjectClass + 10, // 23: regen.ecocredit.v1.Msg.WithdrawProjectClass:input_type -> regen.ecocredit.v1.MsgWithdrawProjectClass + 12, // 24: regen.ecocredit.v1.Msg.EvaluateProjectClass:input_type -> regen.ecocredit.v1.MsgEvaluateProjectClass + 14, // 25: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch + 16, // 26: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits + 18, // 27: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch + 20, // 28: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend + 22, // 29: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire + 24, // 30: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel + 26, // 31: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin + 28, // 32: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers + 30, // 33: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata + 32, // 34: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin + 34, // 35: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata + 37, // 36: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata + 36, // 37: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge + 40, // 38: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive + 0, // 39: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType + 44, // 40: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist + 42, // 41: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator + 46, // 42: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator + 48, // 43: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee + 50, // 44: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain + 52, // 45: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + 54, // 46: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen + 3, // 47: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse + 5, // 48: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse + 7, // 49: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse + 9, // 50: regen.ecocredit.v1.Msg.UpdateProjectClass:output_type -> regen.ecocredit.v1.MsgUpdateProjectClassResponse + 11, // 51: regen.ecocredit.v1.Msg.WithdrawProjectClass:output_type -> regen.ecocredit.v1.MsgWithdrawProjectClassResponse + 13, // 52: regen.ecocredit.v1.Msg.EvaluateProjectClass:output_type -> regen.ecocredit.v1.MsgEvaluateProjectClassResponse + 15, // 53: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse + 17, // 54: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse + 19, // 55: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse + 21, // 56: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse + 23, // 57: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse + 25, // 58: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse + 27, // 59: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse + 29, // 60: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse + 31, // 61: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse + 33, // 62: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse + 35, // 63: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + 38, // 64: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + 39, // 65: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse + 41, // 66: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse + 1, // 67: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse + 45, // 68: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + 43, // 69: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse + 47, // 70: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse + 49, // 71: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse + 51, // 72: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + 53, // 73: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + 55, // 74: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse + 47, // [47:75] is the sub-list for method output_type + 19, // [19:47] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name @@ -33719,7 +32581,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubmitClassApplication); i { + switch v := v.(*MsgUpdateProjectClass); i { case 0: return &v.state case 1: @@ -33731,7 +32593,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubmitClassApplicationResponse); i { + switch v := v.(*MsgUpdateProjectClassResponse); i { case 0: return &v.state case 1: @@ -33743,7 +32605,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassApplication); i { + switch v := v.(*MsgWithdrawProjectClass); i { case 0: return &v.state case 1: @@ -33755,7 +32617,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateClassApplicationResponse); i { + switch v := v.(*MsgWithdrawProjectClassResponse); i { case 0: return &v.state case 1: @@ -33767,7 +32629,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawClassApplication); i { + switch v := v.(*MsgEvaluateProjectClass); i { case 0: return &v.state case 1: @@ -33779,7 +32641,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawClassApplicationResponse); i { + switch v := v.(*MsgEvaluateProjectClassResponse); i { case 0: return &v.state case 1: @@ -33791,30 +32653,6 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateClassApplication); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_regen_ecocredit_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateClassApplicationResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_regen_ecocredit_v1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateBatch); i { case 0: return &v.state @@ -33826,7 +32664,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateBatchResponse); i { case 0: return &v.state @@ -33838,7 +32676,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgMintBatchCredits); i { case 0: return &v.state @@ -33850,7 +32688,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgMintBatchCreditsResponse); i { case 0: return &v.state @@ -33862,7 +32700,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSealBatch); i { case 0: return &v.state @@ -33874,7 +32712,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSealBatchResponse); i { case 0: return &v.state @@ -33886,7 +32724,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSend); i { case 0: return &v.state @@ -33898,7 +32736,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSendResponse); i { case 0: return &v.state @@ -33910,7 +32748,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRetire); i { case 0: return &v.state @@ -33922,7 +32760,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRetireResponse); i { case 0: return &v.state @@ -33934,7 +32772,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCancel); i { case 0: return &v.state @@ -33946,7 +32784,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCancelResponse); i { case 0: return &v.state @@ -33958,7 +32796,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassAdmin); i { case 0: return &v.state @@ -33970,7 +32808,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassAdminResponse); i { case 0: return &v.state @@ -33982,7 +32820,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassIssuers); i { case 0: return &v.state @@ -33994,7 +32832,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassIssuersResponse); i { case 0: return &v.state @@ -34006,7 +32844,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassMetadata); i { case 0: return &v.state @@ -34018,7 +32856,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassMetadataResponse); i { case 0: return &v.state @@ -34030,7 +32868,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectAdmin); i { case 0: return &v.state @@ -34042,7 +32880,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectAdminResponse); i { case 0: return &v.state @@ -34054,7 +32892,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectMetadata); i { case 0: return &v.state @@ -34066,7 +32904,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectMetadataResponse); i { case 0: return &v.state @@ -34078,7 +32916,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridge); i { case 0: return &v.state @@ -34090,7 +32928,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateBatchMetadata); i { case 0: return &v.state @@ -34102,7 +32940,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateBatchMetadataResponse); i { case 0: return &v.state @@ -34114,7 +32952,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeResponse); i { case 0: return &v.state @@ -34126,7 +32964,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive); i { case 0: return &v.state @@ -34138,7 +32976,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceiveResponse); i { case 0: return &v.state @@ -34150,7 +32988,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddClassCreator); i { case 0: return &v.state @@ -34162,7 +33000,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddClassCreatorResponse); i { case 0: return &v.state @@ -34174,7 +33012,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSetClassCreatorAllowlist); i { case 0: return &v.state @@ -34186,7 +33024,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSetClassCreatorAllowlistResponse); i { case 0: return &v.state @@ -34198,7 +33036,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveClassCreator); i { case 0: return &v.state @@ -34210,7 +33048,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveClassCreatorResponse); i { case 0: return &v.state @@ -34222,7 +33060,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassFee); i { case 0: return &v.state @@ -34234,7 +33072,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassFeeResponse); i { case 0: return &v.state @@ -34246,7 +33084,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddAllowedBridgeChain); i { case 0: return &v.state @@ -34258,7 +33096,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddAllowedBridgeChainResponse); i { case 0: return &v.state @@ -34270,7 +33108,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveAllowedBridgeChain); i { case 0: return &v.state @@ -34282,7 +33120,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { case 0: return &v.state @@ -34294,7 +33132,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBurnRegen); i { case 0: return &v.state @@ -34306,7 +33144,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBurnRegenResponse); i { case 0: return &v.state @@ -34318,7 +33156,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSend_SendCredits); i { case 0: return &v.state @@ -34330,7 +33168,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Batch); i { case 0: return &v.state @@ -34342,7 +33180,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Project); i { case 0: return &v.state @@ -34361,7 +33199,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 61, + NumMessages: 59, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index 2382e6c0d6..a0fdf823e8 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -22,10 +22,9 @@ const ( Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" Msg_CreateProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateProject" Msg_CreateUnregisteredProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateUnregisteredProject" - Msg_SubmitClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/SubmitClassApplication" - Msg_UpdateClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassApplication" - Msg_WithdrawClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawClassApplication" - Msg_EvaluateClassApplication_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateClassApplication" + Msg_UpdateProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectClass" + Msg_WithdrawProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawProjectClass" + Msg_EvaluateProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateProjectClass" Msg_CreateBatch_FullMethodName = "/regen.ecocredit.v1.Msg/CreateBatch" Msg_MintBatchCredits_FullMethodName = "/regen.ecocredit.v1.Msg/MintBatchCredits" Msg_SealBatch_FullMethodName = "/regen.ecocredit.v1.Msg/SealBatch" @@ -71,28 +70,35 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // SubmitClassApplication submits an application for a project to be added to - // a credit class. The project admin must submit an application to a specific - // issuer of a specific credit class for it to be considered. Currently, - // a project can only apply to one credit class at a time via a single - // issuer. + // UpdateProjectClass creates a new project credit class application, updates + // an existing one or updates an existing relationship when changes are requested. + // A project may have a relationship with at most one credit class per credit type + // but can have relationships with multiple credit classes across different credit + // types. This can be useful, for example for issuing pre-financing forward contracts + // while making progress towards issuing credits in an outcome based program. + // Projects that are already accepted into a credit class can only update + // their metadata when an issuer has changed the status of the relations + // to "changes requested". // // Since Revision 3 - SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) - // UpdateClassApplication updates the metadata of a submitted application. + UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) + // WithdrawProjectClass withdraws a project from a credit class application + // or relationship unilaterally on the part of a project admin. // // Since Revision 3 - UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) - // WithdrawClassApplication withdraws a submitted application. + WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) + // EvaluateProjectClass allows a credit class issuer to evaluate a project + // application or existing relationship, either approving, requesting changes to, or + // rejecting it. Any issuer in the credit class may update the project credit + // class status using this method. If more sophisticated rules are required to coordinate + // between different issuers, the credit class admin should set up an on or off-chain + // governance process to coordinate this. Issuers may not admit projects into + // credit classes using this method without the project first creating an + // application. For an issuer to admit a project into a credit class without an + // application the CreateProject method should be used instead. // // Since Revision 3 - WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) - // EvaluateClassApplication evaluates a submitted application. Only the issuer - // of the credit class can evaluate an application. The issuer can either - // approve, request changes to, or reject the application. - // - // Since Revision 3 - EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) + EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -246,36 +252,27 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) { - out := new(MsgSubmitClassApplicationResponse) - err := c.cc.Invoke(ctx, Msg_SubmitClassApplication_FullMethodName, in, out, opts...) +func (c *msgClient) UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) { + out := new(MsgUpdateProjectClassResponse) + err := c.cc.Invoke(ctx, Msg_UpdateProjectClass_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) { - out := new(MsgUpdateClassApplicationResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassApplication_FullMethodName, in, out, opts...) +func (c *msgClient) WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) { + out := new(MsgWithdrawProjectClassResponse) + err := c.cc.Invoke(ctx, Msg_WithdrawProjectClass_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) { - out := new(MsgWithdrawClassApplicationResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawClassApplication_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) { - out := new(MsgEvaluateClassApplicationResponse) - err := c.cc.Invoke(ctx, Msg_EvaluateClassApplication_FullMethodName, in, out, opts...) +func (c *msgClient) EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) { + out := new(MsgEvaluateProjectClassResponse) + err := c.cc.Invoke(ctx, Msg_EvaluateProjectClass_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -501,28 +498,35 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // SubmitClassApplication submits an application for a project to be added to - // a credit class. The project admin must submit an application to a specific - // issuer of a specific credit class for it to be considered. Currently, - // a project can only apply to one credit class at a time via a single - // issuer. - // - // Since Revision 3 - SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) - // UpdateClassApplication updates the metadata of a submitted application. + // UpdateProjectClass creates a new project credit class application, updates + // an existing one or updates an existing relationship when changes are requested. + // A project may have a relationship with at most one credit class per credit type + // but can have relationships with multiple credit classes across different credit + // types. This can be useful, for example for issuing pre-financing forward contracts + // while making progress towards issuing credits in an outcome based program. + // Projects that are already accepted into a credit class can only update + // their metadata when an issuer has changed the status of the relations + // to "changes requested". // // Since Revision 3 - UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) - // WithdrawClassApplication withdraws a submitted application. + UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) + // WithdrawProjectClass withdraws a project from a credit class application + // or relationship unilaterally on the part of a project admin. // // Since Revision 3 - WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) - // EvaluateClassApplication evaluates a submitted application. Only the issuer - // of the credit class can evaluate an application. The issuer can either - // approve, request changes to, or reject the application. + WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) + // EvaluateProjectClass allows a credit class issuer to evaluate a project + // application or existing relationship, either approving, requesting changes to, or + // rejecting it. Any issuer in the credit class may update the project credit + // class status using this method. If more sophisticated rules are required to coordinate + // between different issuers, the credit class admin should set up an on or off-chain + // governance process to coordinate this. Issuers may not admit projects into + // credit classes using this method without the project first creating an + // application. For an issuer to admit a project into a credit class without an + // application the CreateProject method should be used instead. // // Since Revision 3 - EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) + EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -655,17 +659,14 @@ func (UnimplementedMsgServer) CreateProject(context.Context, *MsgCreateProject) func (UnimplementedMsgServer) CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } -func (UnimplementedMsgServer) SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubmitClassApplication not implemented") +func (UnimplementedMsgServer) UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectClass not implemented") } -func (UnimplementedMsgServer) UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassApplication not implemented") +func (UnimplementedMsgServer) WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectClass not implemented") } -func (UnimplementedMsgServer) WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawClassApplication not implemented") -} -func (UnimplementedMsgServer) EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateClassApplication not implemented") +func (UnimplementedMsgServer) EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectClass not implemented") } func (UnimplementedMsgServer) CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") @@ -800,74 +801,56 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_SubmitClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSubmitClassApplication) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SubmitClassApplication(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_SubmitClassApplication_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SubmitClassApplication(ctx, req.(*MsgSubmitClassApplication)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassApplication) +func _Msg_UpdateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateClassApplication(ctx, in) + return srv.(MsgServer).UpdateProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_UpdateClassApplication_FullMethodName, + FullMethod: Msg_UpdateProjectClass_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassApplication(ctx, req.(*MsgUpdateClassApplication)) + return srv.(MsgServer).UpdateProjectClass(ctx, req.(*MsgUpdateProjectClass)) } return interceptor(ctx, in, info, handler) } -func _Msg_WithdrawClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawClassApplication) +func _Msg_WithdrawProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawClassApplication(ctx, in) + return srv.(MsgServer).WithdrawProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_WithdrawClassApplication_FullMethodName, + FullMethod: Msg_WithdrawProjectClass_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawClassApplication(ctx, req.(*MsgWithdrawClassApplication)) + return srv.(MsgServer).WithdrawProjectClass(ctx, req.(*MsgWithdrawProjectClass)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateClassApplication) +func _Msg_EvaluateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateClassApplication(ctx, in) + return srv.(MsgServer).EvaluateProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_EvaluateClassApplication_FullMethodName, + FullMethod: Msg_EvaluateProjectClass_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateClassApplication(ctx, req.(*MsgEvaluateClassApplication)) + return srv.(MsgServer).EvaluateProjectClass(ctx, req.(*MsgEvaluateProjectClass)) } return interceptor(ctx, in, info, handler) } @@ -1288,20 +1271,16 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "SubmitClassApplication", - Handler: _Msg_SubmitClassApplication_Handler, - }, - { - MethodName: "UpdateClassApplication", - Handler: _Msg_UpdateClassApplication_Handler, + MethodName: "UpdateProjectClass", + Handler: _Msg_UpdateProjectClass_Handler, }, { - MethodName: "WithdrawClassApplication", - Handler: _Msg_WithdrawClassApplication_Handler, + MethodName: "WithdrawProjectClass", + Handler: _Msg_WithdrawProjectClass_Handler, }, { - MethodName: "EvaluateClassApplication", - Handler: _Msg_EvaluateClassApplication_Handler, + MethodName: "EvaluateProjectClass", + Handler: _Msg_EvaluateProjectClass_Handler, }, { MethodName: "CreateBatch", diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 58792f6b79..cb81b711bf 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -61,7 +61,10 @@ service Msg { // rejecting it. Any issuer in the credit class may update the project credit // class status using this method. If more sophisticated rules are required to coordinate // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. + // governance process to coordinate this. Issuers may not admit projects into + // credit classes using this method without the project first creating an + // application. For an issuer to admit a project into a credit class without an + // application the CreateProject method should be used instead. // // Since Revision 3 rpc EvaluateProjectClass(MsgEvaluateProjectClass) @@ -314,11 +317,11 @@ message MsgCreateProjectResponse { // MsgCreateUnregisteredProject is the Msg/CreateUnregisteredProject request type. message MsgCreateUnregisteredProject { - option (cosmos.msg.v1.signer) = "creator"; + option (cosmos.msg.v1.signer) = "admin"; - // creator is the address of the account creating the project that will become + // admin is the address of the account creating the project that will become // the admin of the project upon creation. - string creator = 1; + string admin = 1; // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references metadata to attach to the project. diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 92d062a498..5145ab4c88 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -27,43 +27,46 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -type ApplicationStatus int32 +type ProjectClassStatus int32 const ( - // APPLICATION_STATUS_UNSPECIFIED indicates that the application status is - // unspecified and hasn't been evaluated yet. - ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED ApplicationStatus = 0 - // APPLICATION_STATUS_ACCEPTED indicates that the application has been - // accepted and that the project has been admitted into the credit class. - ApplicationStatus_APPLICATION_STATUS_ACCEPTED ApplicationStatus = 1 - // APPLICATION_STATUS_CHANGES_REQUESTED indicates that the application has - // been reviewed and that changes are required before the application can be - // accepted. - ApplicationStatus_APPLICATION_STATUS_CHANGES_REQUESTED ApplicationStatus = 2 - // APPLICATION_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be admitted into the credit class. - ApplicationStatus_APPLICATION_STATUS_REJECTED ApplicationStatus = 3 + // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application + // has been submitted but not evaluated. + ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED ProjectClassStatus = 0 + // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + // accepted into the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_ACCEPTED ProjectClassStatus = 1 + // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + // a credit class has been reviewed and that changes to the application have + // been requested. It can also be used to indicate that a project within a credit + // class has had its status reassessed and that changes to the project are + // requested in order to continue in the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_CHANGES_REQUESTED ProjectClassStatus = 2 + // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class + // or that a project previously accepted has been removed from the credit class. + ProjectClassStatus_PROJECT_CLASS_STATUS_REJECTED ProjectClassStatus = 3 ) -var ApplicationStatus_name = map[int32]string{ - 0: "APPLICATION_STATUS_UNSPECIFIED", - 1: "APPLICATION_STATUS_ACCEPTED", - 2: "APPLICATION_STATUS_CHANGES_REQUESTED", - 3: "APPLICATION_STATUS_REJECTED", +var ProjectClassStatus_name = map[int32]string{ + 0: "PROJECT_CLASS_STATUS_UNSPECIFIED", + 1: "PROJECT_CLASS_STATUS_ACCEPTED", + 2: "PROJECT_CLASS_STATUS_CHANGES_REQUESTED", + 3: "PROJECT_CLASS_STATUS_REJECTED", } -var ApplicationStatus_value = map[string]int32{ - "APPLICATION_STATUS_UNSPECIFIED": 0, - "APPLICATION_STATUS_ACCEPTED": 1, - "APPLICATION_STATUS_CHANGES_REQUESTED": 2, - "APPLICATION_STATUS_REJECTED": 3, +var ProjectClassStatus_value = map[string]int32{ + "PROJECT_CLASS_STATUS_UNSPECIFIED": 0, + "PROJECT_CLASS_STATUS_ACCEPTED": 1, + "PROJECT_CLASS_STATUS_CHANGES_REQUESTED": 2, + "PROJECT_CLASS_STATUS_REJECTED": 3, } -func (x ApplicationStatus) String() string { - return proto.EnumName(ApplicationStatus_name, int32(x)) +func (x ProjectClassStatus) String() string { + return proto.EnumName(ProjectClassStatus_name, int32(x)) } -func (ApplicationStatus) EnumDescriptor() ([]byte, []int) { +func (ProjectClassStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor_6cfdca0a4aaabb36, []int{0} } @@ -399,8 +402,9 @@ type Batch struct { // for efficient lookups. This links a credit batch to a project. ProjectKey uint64 `protobuf:"varint,3,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` // denom is the unique identifier of the credit batch formed from the - // project id, the batch sequence number, and the start and end date of the - // credit batch. + // credit class ID (or just project ID for old project IDs which included the credit class), + // project id, the batch sequence number, and the start and + // end date of the credit batch. Denom string `protobuf:"bytes,4,opt,name=denom,proto3" json:"denom,omitempty"` // metadata is any arbitrary metadata attached to the credit batch. Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -415,6 +419,9 @@ type Batch struct { // open tells if it's possible to mint new credits in the future. // Once `open` is set to false, it can't be toggled any more. Open bool `protobuf:"varint,9,opt,name=open,proto3" json:"open,omitempty"` + // class_key is the table row identifier of the credit class used internally + // for efficient lookups. This links a batch to a credit class. + ClassKey uint64 `protobuf:"varint,10,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` } func (m *Batch) Reset() { *m = Batch{} } @@ -513,6 +520,13 @@ func (m *Batch) GetOpen() bool { return false } +func (m *Batch) GetClassKey() uint64 { + if m != nil { + return m.ClassKey + } + return 0 +} + // ClassSequence stores and increments the sequence number for credit classes // within a credit type. type ClassSequence struct { @@ -1204,38 +1218,38 @@ func (m *AllowedBridgeChain) GetChainName() string { return "" } -// ClassApplication stores the data for a credit class application. -type ClassApplication struct { - // id is the unique identifier of the application. - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +// ProjectClass stores the data a project - credit class relation. +type ProjectClass struct { // project_key is the table row identifier of the project used internally for - // efficient lookups. This links an application to a project. - ProjectKey uint64 `protobuf:"varint,2,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` + // efficient lookups. + ProjectKey uint64 `protobuf:"varint,1,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` // class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. + // for efficient lookups. ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` - // issuer is the issuer of the credit class which the application has been - // submitted to. - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` - // metadata is any arbitrary metadata attached to the application. - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` - // status is the status of the application. Note that accepted and rejected - // applications are removed from the table. - Status ApplicationStatus `protobuf:"varint,6,opt,name=status,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"status,omitempty"` -} - -func (m *ClassApplication) Reset() { *m = ClassApplication{} } -func (m *ClassApplication) String() string { return proto.CompactTextString(m) } -func (*ClassApplication) ProtoMessage() {} -func (*ClassApplication) Descriptor() ([]byte, []int) { + // status is the status of the relation. + Status ProjectClassStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"status,omitempty"` + // project_metadata is any arbitrary metadata set by the project + // admin. This should primarily be used to store metadata regarding the project's + // application to the credit class. + ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` + // credit_class_metadata is any arbitrary metadata set by a credit + // class issuer. This should primarily be used to store metadata regarding the + // project's application to the credit class. + CreditClassMetadata string `protobuf:"bytes,6,opt,name=credit_class_metadata,json=creditClassMetadata,proto3" json:"credit_class_metadata,omitempty"` +} + +func (m *ProjectClass) Reset() { *m = ProjectClass{} } +func (m *ProjectClass) String() string { return proto.CompactTextString(m) } +func (*ProjectClass) ProtoMessage() {} +func (*ProjectClass) Descriptor() ([]byte, []int) { return fileDescriptor_6cfdca0a4aaabb36, []int{16} } -func (m *ClassApplication) XXX_Unmarshal(b []byte) error { +func (m *ProjectClass) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *ClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *ProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_ClassApplication.Marshal(b, m, deterministic) + return xxx_messageInfo_ProjectClass.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1245,62 +1259,55 @@ func (m *ClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (m *ClassApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClassApplication.Merge(m, src) +func (m *ProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectClass.Merge(m, src) } -func (m *ClassApplication) XXX_Size() int { +func (m *ProjectClass) XXX_Size() int { return m.Size() } -func (m *ClassApplication) XXX_DiscardUnknown() { - xxx_messageInfo_ClassApplication.DiscardUnknown(m) +func (m *ProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectClass.DiscardUnknown(m) } -var xxx_messageInfo_ClassApplication proto.InternalMessageInfo - -func (m *ClassApplication) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} +var xxx_messageInfo_ProjectClass proto.InternalMessageInfo -func (m *ClassApplication) GetProjectKey() uint64 { +func (m *ProjectClass) GetProjectKey() uint64 { if m != nil { return m.ProjectKey } return 0 } -func (m *ClassApplication) GetClassKey() uint64 { +func (m *ProjectClass) GetClassKey() uint64 { if m != nil { return m.ClassKey } return 0 } -func (m *ClassApplication) GetIssuer() string { +func (m *ProjectClass) GetStatus() ProjectClassStatus { if m != nil { - return m.Issuer + return m.Status } - return "" + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED } -func (m *ClassApplication) GetMetadata() string { +func (m *ProjectClass) GetProjectMetadata() string { if m != nil { - return m.Metadata + return m.ProjectMetadata } return "" } -func (m *ClassApplication) GetStatus() ApplicationStatus { +func (m *ProjectClass) GetCreditClassMetadata() string { if m != nil { - return m.Status + return m.CreditClassMetadata } - return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED + return "" } func init() { - proto.RegisterEnum("regen.ecocredit.v1.ApplicationStatus", ApplicationStatus_name, ApplicationStatus_value) + proto.RegisterEnum("regen.ecocredit.v1.ProjectClassStatus", ProjectClassStatus_name, ProjectClassStatus_value) proto.RegisterType((*CreditType)(nil), "regen.ecocredit.v1.CreditType") proto.RegisterType((*Class)(nil), "regen.ecocredit.v1.Class") proto.RegisterType((*ClassIssuer)(nil), "regen.ecocredit.v1.ClassIssuer") @@ -1317,98 +1324,99 @@ func init() { proto.RegisterType((*AllowedClassCreator)(nil), "regen.ecocredit.v1.AllowedClassCreator") proto.RegisterType((*ClassFee)(nil), "regen.ecocredit.v1.ClassFee") proto.RegisterType((*AllowedBridgeChain)(nil), "regen.ecocredit.v1.AllowedBridgeChain") - proto.RegisterType((*ClassApplication)(nil), "regen.ecocredit.v1.ClassApplication") + proto.RegisterType((*ProjectClass)(nil), "regen.ecocredit.v1.ProjectClass") } func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1354 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x8f, 0xfc, 0x27, 0xb6, 0x9f, 0xff, 0x29, 0x9b, 0x26, 0x55, 0xd3, 0xd6, 0x29, 0x6a, 0x3b, - 0x4d, 0x21, 0xc8, 0x93, 0x02, 0x33, 0x60, 0x06, 0x3a, 0x8e, 0xe3, 0x82, 0x29, 0x93, 0x06, 0xd9, - 0x3d, 0xc0, 0xc5, 0xac, 0xa5, 0xad, 0xa3, 0xd6, 0x96, 0x8c, 0xb4, 0x4e, 0x93, 0x2b, 0x1f, 0x80, - 0xe1, 0xc4, 0x70, 0x60, 0xb8, 0x70, 0xe4, 0x2b, 0xf0, 0x01, 0xe0, 0xd6, 0x19, 0x2e, 0x1c, 0x99, - 0xf6, 0x1b, 0x30, 0x1c, 0x18, 0x4e, 0xcc, 0x3e, 0xad, 0x6c, 0xcb, 0x71, 0xd2, 0x0e, 0x37, 0xbd, - 0xb7, 0xef, 0xcf, 0xef, 0xfd, 0xf6, 0xbd, 0xdd, 0x15, 0x54, 0x7c, 0xd6, 0x67, 0x6e, 0x95, 0x59, - 0x9e, 0xe5, 0x33, 0xdb, 0xe1, 0xd5, 0xa3, 0x9d, 0x6a, 0xc0, 0x29, 0x67, 0xc6, 0xc8, 0xf7, 0xb8, - 0x47, 0x08, 0xae, 0x1b, 0x93, 0x75, 0xe3, 0x68, 0x67, 0xa3, 0x62, 0x79, 0xc1, 0xd0, 0x0b, 0xaa, - 0x3d, 0x1a, 0xb0, 0xea, 0xd1, 0x4e, 0x8f, 0x71, 0xba, 0x53, 0xb5, 0x3c, 0xc7, 0x0d, 0x7d, 0x36, - 0x2e, 0xca, 0x75, 0xcf, 0x1f, 0x8a, 0x70, 0x9e, 0x3f, 0x94, 0x0b, 0x9b, 0x7d, 0xcf, 0xeb, 0x0f, - 0x58, 0x15, 0xa5, 0xde, 0xf8, 0x51, 0x95, 0x3b, 0x43, 0x16, 0x70, 0x3a, 0x1c, 0x85, 0x06, 0xfa, - 0x0f, 0x0a, 0x40, 0x03, 0xf3, 0x74, 0x4e, 0x46, 0x8c, 0xe8, 0x50, 0xa0, 0xbd, 0x9e, 0xcf, 0x8e, - 0x1c, 0xca, 0x1d, 0xcf, 0xd5, 0x94, 0x6b, 0xca, 0x56, 0xce, 0x8c, 0xe9, 0x08, 0x81, 0x94, 0x4b, - 0x87, 0x4c, 0x4b, 0xe0, 0x1a, 0x7e, 0x0b, 0xdd, 0xd8, 0x75, 0xb8, 0x96, 0x0c, 0x75, 0xe2, 0x9b, - 0x5c, 0x81, 0xdc, 0xc8, 0x67, 0x96, 0x13, 0x88, 0x40, 0xa9, 0x6b, 0xca, 0x56, 0xd1, 0x9c, 0x2a, - 0x6a, 0x37, 0xfe, 0xfa, 0xf1, 0xf7, 0x6f, 0x92, 0x15, 0x28, 0xc5, 0x33, 0x12, 0x08, 0xa3, 0xab, - 0x8a, 0xa6, 0x68, 0x8a, 0xfe, 0x9b, 0x02, 0xe9, 0xc6, 0x80, 0x06, 0x01, 0x51, 0x21, 0xf9, 0x84, - 0x9d, 0x20, 0xa0, 0x94, 0x29, 0x3e, 0x49, 0x09, 0x12, 0x8e, 0x2d, 0x51, 0x24, 0x1c, 0x9b, 0x5c, - 0x80, 0x34, 0xb5, 0x87, 0x8e, 0x8b, 0x20, 0x0a, 0x66, 0x28, 0x90, 0x0d, 0xc8, 0x0e, 0x19, 0xa7, - 0x36, 0xe5, 0x14, 0x41, 0xe4, 0xcc, 0x89, 0x4c, 0xb6, 0x81, 0x84, 0x1c, 0x77, 0xf9, 0xc9, 0x88, - 0x75, 0x43, 0x1c, 0x5a, 0x1a, 0xad, 0x54, 0x6b, 0xc2, 0x4a, 0x1d, 0xf5, 0xb5, 0x0f, 0x11, 0xf1, - 0xbb, 0x90, 0x41, 0x24, 0xaa, 0x42, 0xb2, 0x02, 0x80, 0x00, 0x4a, 0x72, 0x32, 0xb5, 0x9a, 0x20, - 0xeb, 0x8b, 0x62, 0xaa, 0x49, 0x2d, 0xa1, 0x7f, 0x09, 0x79, 0x2c, 0xa5, 0x15, 0x04, 0x63, 0xe6, - 0x93, 0xcb, 0x90, 0xb3, 0x84, 0xd8, 0x9d, 0x96, 0x95, 0x45, 0xc5, 0x7d, 0x76, 0x42, 0xd6, 0x61, - 0xd9, 0x41, 0x33, 0xac, 0xaf, 0x60, 0x4a, 0xa9, 0x76, 0x05, 0x31, 0xac, 0x03, 0x01, 0x75, 0xe2, - 0xbc, 0x2d, 0x2d, 0x93, 0xfa, 0xcf, 0x09, 0xc8, 0x1c, 0xf8, 0xde, 0x63, 0x66, 0xf1, 0xff, 0xcd, - 0x57, 0x0c, 0x56, 0x6a, 0x0e, 0x96, 0x0e, 0x85, 0xc7, 0x63, 0xdf, 0x09, 0x6c, 0xc7, 0xc2, 0xf6, - 0x08, 0xa9, 0x8a, 0xe9, 0x62, 0x84, 0x2f, 0xcf, 0x11, 0xfe, 0x1a, 0x14, 0x7c, 0xf6, 0x88, 0xf9, - 0xcc, 0xb5, 0x58, 0xd7, 0xb1, 0xb5, 0x0c, 0xae, 0xe7, 0x27, 0xba, 0x96, 0x5d, 0x3b, 0xc4, 0x0a, - 0x7b, 0x8b, 0x58, 0x26, 0x50, 0x98, 0x29, 0xda, 0x56, 0x13, 0xb3, 0xcc, 0x27, 0x89, 0x1a, 0x0f, - 0xae, 0xa6, 0xc8, 0x06, 0xac, 0x4f, 0x1d, 0x62, 0x6b, 0x69, 0x2d, 0xa5, 0x7f, 0x9f, 0x84, 0xf4, - 0x2e, 0xe5, 0xd6, 0xe1, 0x02, 0xae, 0xce, 0xe0, 0x9f, 0x6c, 0x42, 0x7e, 0x14, 0x12, 0x8c, 0xfc, - 0x24, 0xd1, 0x03, 0xa4, 0x4a, 0x30, 0x74, 0x01, 0xd2, 0x36, 0x73, 0xbd, 0xa1, 0xec, 0xb5, 0x50, - 0x88, 0x71, 0x92, 0x9e, 0xe3, 0xe4, 0x3d, 0x80, 0x80, 0x53, 0x9f, 0x77, 0x6d, 0xca, 0x19, 0x32, - 0x96, 0xbf, 0xb3, 0x61, 0x84, 0x73, 0x6b, 0x44, 0x73, 0x6b, 0x74, 0xa2, 0xb9, 0x35, 0x73, 0x68, - 0xbd, 0x47, 0x39, 0x23, 0xef, 0x40, 0x96, 0xb9, 0x76, 0xe8, 0x98, 0x79, 0xa9, 0x63, 0x86, 0xb9, - 0x36, 0xba, 0xdd, 0x85, 0xa2, 0x28, 0x87, 0x0a, 0x2e, 0xd0, 0x37, 0xfb, 0x52, 0xdf, 0x42, 0xe4, - 0x80, 0x01, 0x08, 0xa4, 0xbc, 0x11, 0x73, 0xb5, 0xdc, 0x35, 0x65, 0x2b, 0x6b, 0xe2, 0x77, 0xed, - 0x3e, 0xee, 0x5b, 0x73, 0xba, 0x6f, 0x79, 0xc9, 0x04, 0x6e, 0x5d, 0x39, 0xc6, 0x9b, 0x9a, 0x20, - 0xa5, 0xd9, 0xaa, 0xd5, 0x24, 0x81, 0x88, 0x70, 0x35, 0xa5, 0xa5, 0xf5, 0xaf, 0x15, 0x28, 0xe2, - 0xac, 0xb4, 0xd9, 0x57, 0x63, 0xb1, 0x67, 0x67, 0x8c, 0xaa, 0xb2, 0x78, 0x54, 0xc9, 0x75, 0x28, - 0xba, 0xec, 0x98, 0x77, 0x03, 0xe9, 0x8e, 0xbb, 0x98, 0x32, 0x0b, 0x42, 0x19, 0x85, 0xac, 0x55, - 0x10, 0xb1, 0x06, 0x17, 0x16, 0x86, 0x5e, 0xd6, 0x1f, 0x43, 0x59, 0x0e, 0xd3, 0x04, 0xc5, 0xb9, - 0x33, 0xfb, 0x4a, 0x49, 0xd7, 0x30, 0x69, 0x19, 0xf2, 0xb3, 0x91, 0x32, 0xba, 0x0b, 0x45, 0x6c, - 0xc5, 0x49, 0xa6, 0xb9, 0x46, 0x53, 0x4e, 0x35, 0xda, 0x2b, 0x65, 0xbb, 0x88, 0xd9, 0x56, 0xa0, - 0x18, 0x8f, 0x96, 0xd5, 0xff, 0x56, 0xa0, 0x80, 0x09, 0x77, 0xe9, 0x80, 0xca, 0xca, 0x7a, 0x42, - 0x9e, 0xad, 0x0c, 0x15, 0x22, 0x97, 0x06, 0x19, 0x6a, 0xdb, 0x3e, 0x0b, 0x02, 0x39, 0x0e, 0x91, - 0x48, 0x6e, 0x41, 0x99, 0xfb, 0xd4, 0xa6, 0xbd, 0x01, 0xeb, 0xd2, 0xa1, 0x37, 0x76, 0xa3, 0x2b, - 0xa0, 0x14, 0xa9, 0xeb, 0xa8, 0x25, 0x37, 0xa1, 0xe4, 0x33, 0xee, 0xf8, 0xcc, 0x8e, 0xec, 0xc2, - 0x01, 0x29, 0x4a, 0xad, 0x34, 0xbb, 0x05, 0x65, 0x16, 0x58, 0xbe, 0xf7, 0x74, 0x6a, 0x17, 0xce, - 0x4b, 0x29, 0x52, 0x87, 0x86, 0xb5, 0xb7, 0xb1, 0x32, 0x03, 0x56, 0x61, 0x45, 0x62, 0xd9, 0x9e, - 0xe0, 0x27, 0x6b, 0xb0, 0x32, 0x11, 0xb6, 0xe5, 0xb2, 0xaa, 0x68, 0x39, 0xfd, 0x17, 0x05, 0xf2, - 0x21, 0xcf, 0xe3, 0xd1, 0x68, 0x70, 0x72, 0x7e, 0xd5, 0x0b, 0x6a, 0x4b, 0xbc, 0x62, 0x6d, 0xc9, - 0x45, 0xb5, 0xdd, 0x06, 0xd5, 0x12, 0x5c, 0x0f, 0x06, 0xf3, 0x24, 0x94, 0x27, 0x7a, 0x59, 0xdd, - 0x4c, 0x97, 0x4c, 0xf1, 0x81, 0x3e, 0x86, 0xe2, 0x03, 0xdf, 0xe9, 0x3b, 0x6e, 0xe7, 0xb8, 0xe5, - 0xda, 0xec, 0xf8, 0xfc, 0x7e, 0x9c, 0x3f, 0xef, 0xd7, 0x61, 0x39, 0xf0, 0xc6, 0xbe, 0xc5, 0x24, - 0x3c, 0x29, 0xd5, 0x36, 0x31, 0xd9, 0x25, 0x58, 0x83, 0xd5, 0xd9, 0xe3, 0x75, 0x5b, 0x1a, 0xe7, - 0xf5, 0xef, 0x14, 0xd9, 0x9d, 0x0d, 0xcf, 0xe5, 0x3e, 0xb5, 0xf8, 0xf9, 0xbc, 0xc5, 0x40, 0x25, - 0xe6, 0x40, 0x6d, 0x40, 0xd6, 0x92, 0x51, 0x24, 0x8c, 0x89, 0x5c, 0xab, 0x22, 0x90, 0xdb, 0xb1, - 0xaa, 0x89, 0x06, 0x64, 0x8a, 0x2a, 0x32, 0xc5, 0xd7, 0x41, 0x41, 0x7f, 0x1f, 0xd6, 0xf0, 0x94, - 0x68, 0xf8, 0x8c, 0x72, 0xcf, 0xaf, 0x0f, 0x06, 0xde, 0xd3, 0x81, 0x13, 0x70, 0xd1, 0xb0, 0xcc, - 0x15, 0x3b, 0x64, 0x23, 0xba, 0xac, 0x19, 0x89, 0xb5, 0xec, 0xbf, 0x22, 0x47, 0x22, 0x5b, 0xd4, - 0xf7, 0x60, 0x15, 0x1d, 0x98, 0x3d, 0x1b, 0x63, 0xb6, 0xd7, 0x95, 0x58, 0xaf, 0xd7, 0x56, 0x11, - 0x5e, 0x11, 0x72, 0x53, 0x8b, 0x92, 0x5e, 0x87, 0x2c, 0xba, 0xdf, 0x63, 0x8c, 0xbc, 0x01, 0xc9, - 0x47, 0x8c, 0xa1, 0x5b, 0xfe, 0xce, 0x25, 0x23, 0x7c, 0x93, 0x19, 0xe2, 0xcd, 0x66, 0xc8, 0x37, - 0x9b, 0xd1, 0xf0, 0x1c, 0xd7, 0x14, 0x56, 0x13, 0x20, 0x65, 0xfd, 0x3e, 0x10, 0x09, 0x64, 0xd7, - 0x77, 0xec, 0x3e, 0x6b, 0x1c, 0x52, 0xc7, 0x25, 0x57, 0x01, 0x2c, 0xf1, 0xd1, 0xc5, 0xb7, 0x56, - 0x78, 0xd0, 0xe5, 0x50, 0xb3, 0x4f, 0x87, 0xac, 0xb6, 0x8e, 0x60, 0x54, 0x28, 0xc4, 0xcc, 0x54, - 0xfd, 0x1f, 0x05, 0x54, 0x04, 0x54, 0x1f, 0x8d, 0x06, 0x8e, 0x15, 0xbe, 0xa9, 0xc2, 0x4e, 0x08, - 0xf7, 0x49, 0x74, 0xc2, 0xdc, 0xe1, 0x92, 0x38, 0x75, 0xb8, 0xc4, 0xb6, 0x30, 0x79, 0xe6, 0xdb, - 0x24, 0xec, 0xde, 0xe8, 0x6e, 0x3c, 0xef, 0x92, 0xfb, 0x00, 0x96, 0xc5, 0x1b, 0x77, 0x1c, 0xe0, - 0x05, 0x57, 0xba, 0x73, 0xd3, 0x38, 0xfd, 0xca, 0x35, 0x66, 0x20, 0xb7, 0xd1, 0xd8, 0x94, 0x4e, - 0xb5, 0xeb, 0x58, 0xed, 0x55, 0x58, 0x0e, 0xdf, 0x02, 0x64, 0x25, 0x7e, 0x9d, 0x88, 0x6e, 0x58, - 0x79, 0xfd, 0x27, 0x05, 0x56, 0x4e, 0x85, 0x20, 0x3a, 0x54, 0xea, 0x07, 0x07, 0x9f, 0xb6, 0x1a, - 0xf5, 0x4e, 0xeb, 0xc1, 0x7e, 0xb7, 0xdd, 0xa9, 0x77, 0x1e, 0xb6, 0xbb, 0x0f, 0xf7, 0xdb, 0x07, - 0xcd, 0x46, 0xeb, 0x5e, 0xab, 0xb9, 0xa7, 0x2e, 0x91, 0x4d, 0xb8, 0xbc, 0xc0, 0xa6, 0xde, 0x68, - 0x34, 0x0f, 0x3a, 0xcd, 0x3d, 0x55, 0x21, 0x5b, 0x70, 0x63, 0x81, 0x41, 0xe3, 0xe3, 0xfa, 0xfe, - 0x47, 0xcd, 0x76, 0xd7, 0x6c, 0x7e, 0xf6, 0xb0, 0xd9, 0x16, 0x96, 0x89, 0x33, 0x42, 0x99, 0xcd, - 0x4f, 0x9a, 0x0d, 0x61, 0x90, 0xdc, 0xfd, 0xfc, 0xd7, 0xe7, 0x15, 0xe5, 0xd9, 0xf3, 0x8a, 0xf2, - 0xe7, 0xf3, 0x8a, 0xf2, 0xed, 0x8b, 0xca, 0xd2, 0xb3, 0x17, 0x95, 0xa5, 0x3f, 0x5e, 0x54, 0x96, - 0xbe, 0xb8, 0xdb, 0x77, 0xf8, 0xe1, 0xb8, 0x67, 0x58, 0xde, 0xb0, 0x8a, 0xec, 0xbc, 0xe9, 0x32, - 0xfe, 0xd4, 0xf3, 0x9f, 0x48, 0x69, 0xc0, 0xec, 0x3e, 0xf3, 0xab, 0xc7, 0x33, 0xbf, 0x0e, 0xf8, - 0x3f, 0x20, 0x6e, 0xad, 0x40, 0xfc, 0x15, 0x2c, 0xe3, 0xc5, 0xfd, 0xd6, 0x7f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x97, 0x5d, 0x8a, 0x98, 0x62, 0x0c, 0x00, 0x00, + // 1372 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x73, 0xdb, 0x54, + 0x17, 0x8e, 0xfc, 0x11, 0xdb, 0xc7, 0x5f, 0xca, 0x4d, 0x93, 0xaa, 0x69, 0xeb, 0xa6, 0x7a, 0xfb, + 0xf6, 0xeb, 0xcd, 0x2b, 0x4f, 0x02, 0xcc, 0x80, 0x99, 0x69, 0xc7, 0x71, 0x5c, 0x08, 0x85, 0x36, + 0xc8, 0xee, 0x82, 0x6e, 0xcc, 0xb5, 0x74, 0xeb, 0xa8, 0xb5, 0x25, 0x23, 0x5d, 0xa7, 0xc9, 0x96, + 0x1f, 0xd0, 0x61, 0xc5, 0x8a, 0xe1, 0x0f, 0xc0, 0x4f, 0x60, 0xc9, 0x02, 0x76, 0x9d, 0x61, 0xc3, + 0x92, 0x69, 0xff, 0x01, 0xc3, 0x8a, 0x15, 0x73, 0x8f, 0xae, 0x6c, 0xc9, 0x75, 0xd3, 0x0e, 0x3b, + 0x9d, 0x73, 0xcf, 0xc7, 0x73, 0x9e, 0x7b, 0xce, 0xbd, 0x57, 0x50, 0xf3, 0xd9, 0x80, 0xb9, 0x75, + 0x66, 0x79, 0x96, 0xcf, 0x6c, 0x87, 0xd7, 0x8f, 0xb6, 0xeb, 0x01, 0xa7, 0x9c, 0x19, 0x63, 0xdf, + 0xe3, 0x1e, 0x21, 0xb8, 0x6e, 0x4c, 0xd7, 0x8d, 0xa3, 0xed, 0x8d, 0x9a, 0xe5, 0x05, 0x23, 0x2f, + 0xa8, 0xf7, 0x69, 0xc0, 0xea, 0x47, 0xdb, 0x7d, 0xc6, 0xe9, 0x76, 0xdd, 0xf2, 0x1c, 0x37, 0xf4, + 0xd9, 0x38, 0x2b, 0xd7, 0x3d, 0x7f, 0x24, 0xc2, 0x79, 0xfe, 0x48, 0x2e, 0x5c, 0x1a, 0x78, 0xde, + 0x60, 0xc8, 0xea, 0x28, 0xf5, 0x27, 0x8f, 0xea, 0xdc, 0x19, 0xb1, 0x80, 0xd3, 0xd1, 0x38, 0x34, + 0xd0, 0xbf, 0x53, 0x00, 0x5a, 0x98, 0xa7, 0x7b, 0x32, 0x66, 0x44, 0x87, 0x12, 0xed, 0xf7, 0x7d, + 0x76, 0xe4, 0x50, 0xee, 0x78, 0xae, 0xa6, 0x6c, 0x2a, 0xd7, 0x0b, 0x66, 0x42, 0x47, 0x08, 0x64, + 0x5c, 0x3a, 0x62, 0x5a, 0x0a, 0xd7, 0xf0, 0x5b, 0xe8, 0x26, 0xae, 0xc3, 0xb5, 0x74, 0xa8, 0x13, + 0xdf, 0xe4, 0x02, 0x14, 0xc6, 0x3e, 0xb3, 0x9c, 0x40, 0x04, 0xca, 0x6c, 0x2a, 0xd7, 0xcb, 0xe6, + 0x4c, 0xd1, 0xb8, 0xf2, 0xe7, 0xf7, 0xbf, 0x3d, 0x4b, 0xd7, 0xa0, 0x92, 0xcc, 0x48, 0x20, 0x8c, + 0xae, 0x2a, 0x9a, 0xa2, 0x29, 0xfa, 0xaf, 0x0a, 0x64, 0x5b, 0x43, 0x1a, 0x04, 0x44, 0x85, 0xf4, + 0x13, 0x76, 0x82, 0x80, 0x32, 0xa6, 0xf8, 0x24, 0x15, 0x48, 0x39, 0xb6, 0x44, 0x91, 0x72, 0x6c, + 0x72, 0x06, 0xb2, 0xd4, 0x1e, 0x39, 0x2e, 0x82, 0x28, 0x99, 0xa1, 0x40, 0x36, 0x20, 0x3f, 0x62, + 0x9c, 0xda, 0x94, 0x53, 0x04, 0x51, 0x30, 0xa7, 0x32, 0xd9, 0x02, 0x12, 0x72, 0xdc, 0xe3, 0x27, + 0x63, 0xd6, 0x0b, 0x71, 0x68, 0x59, 0xb4, 0x52, 0xad, 0x29, 0x2b, 0x4d, 0xd4, 0x37, 0x6e, 0x21, + 0xe2, 0xf7, 0x21, 0x87, 0x48, 0x54, 0x85, 0xe4, 0x05, 0x00, 0x01, 0x94, 0x14, 0x64, 0x6a, 0x35, + 0x45, 0xd6, 0x17, 0xc5, 0x54, 0xd3, 0x5a, 0x4a, 0xff, 0x12, 0x8a, 0x58, 0xca, 0x7e, 0x10, 0x4c, + 0x98, 0x4f, 0xce, 0x43, 0xc1, 0x12, 0x62, 0x6f, 0x56, 0x56, 0x1e, 0x15, 0x77, 0xd9, 0x09, 0x59, + 0x87, 0x65, 0x07, 0xcd, 0xb0, 0xbe, 0x92, 0x29, 0xa5, 0xc6, 0x05, 0xc4, 0xb0, 0x0e, 0x04, 0xd4, + 0xa9, 0xf3, 0x96, 0xb4, 0x4c, 0xeb, 0x3f, 0xa4, 0x20, 0x77, 0xe0, 0x7b, 0x8f, 0x99, 0xc5, 0xff, + 0x35, 0x5f, 0x09, 0x58, 0x99, 0x39, 0x58, 0x3a, 0x94, 0x1e, 0x4f, 0x7c, 0x27, 0xb0, 0x1d, 0x0b, + 0xdb, 0x23, 0xa4, 0x2a, 0xa1, 0x4b, 0x10, 0xbe, 0x3c, 0x47, 0xf8, 0x65, 0x28, 0xf9, 0xec, 0x11, + 0xf3, 0x99, 0x6b, 0xb1, 0x9e, 0x63, 0x6b, 0x39, 0x5c, 0x2f, 0x4e, 0x75, 0xfb, 0x76, 0xe3, 0x10, + 0x2b, 0xec, 0x2f, 0x62, 0x99, 0x40, 0x29, 0x56, 0xb4, 0xad, 0xa6, 0xe2, 0xcc, 0xa7, 0x89, 0x9a, + 0x0c, 0xae, 0x66, 0xc8, 0x06, 0xac, 0xcf, 0x1c, 0x12, 0x6b, 0x59, 0x2d, 0xa3, 0xff, 0x9c, 0x86, + 0xec, 0x2e, 0xe5, 0xd6, 0xe1, 0x02, 0xae, 0x5e, 0xc3, 0x3f, 0xb9, 0x04, 0xc5, 0x71, 0x48, 0x30, + 0xf2, 0x93, 0x46, 0x0f, 0x90, 0x2a, 0xc1, 0xd0, 0x19, 0xc8, 0xda, 0xcc, 0xf5, 0x46, 0xb2, 0xd7, + 0x42, 0x21, 0xc1, 0x49, 0x76, 0x8e, 0x93, 0x0f, 0x00, 0x02, 0x4e, 0x7d, 0xde, 0xb3, 0x29, 0x67, + 0xc8, 0x58, 0x71, 0x67, 0xc3, 0x08, 0xe7, 0xd6, 0x88, 0xe6, 0xd6, 0xe8, 0x46, 0x73, 0x6b, 0x16, + 0xd0, 0x7a, 0x8f, 0x72, 0x46, 0xde, 0x83, 0x3c, 0x73, 0xed, 0xd0, 0x31, 0xf7, 0x46, 0xc7, 0x1c, + 0x73, 0x6d, 0x74, 0xbb, 0x0d, 0x65, 0x51, 0x0e, 0x15, 0x5c, 0xa0, 0x6f, 0xfe, 0x8d, 0xbe, 0xa5, + 0xc8, 0x01, 0x03, 0x10, 0xc8, 0x78, 0x63, 0xe6, 0x6a, 0x85, 0x4d, 0xe5, 0x7a, 0xde, 0xc4, 0xef, + 0x64, 0xdf, 0x40, 0xb2, 0x6f, 0x1a, 0x0f, 0x71, 0x53, 0xbb, 0xb3, 0x4d, 0x2d, 0x4a, 0x9a, 0x70, + 0x5f, 0xab, 0x09, 0x52, 0xd5, 0x14, 0xa9, 0xc4, 0x29, 0x51, 0xd3, 0x04, 0xa2, 0xdd, 0x50, 0x33, + 0xa4, 0x1c, 0xcb, 0xa3, 0x66, 0xb5, 0xac, 0xfe, 0xb5, 0x02, 0x65, 0x9c, 0xab, 0x0e, 0xfb, 0x6a, + 0x22, 0xf6, 0xf7, 0x35, 0x63, 0xad, 0x2c, 0x1e, 0x6b, 0xf2, 0x1f, 0x28, 0xbb, 0xec, 0x98, 0xf7, + 0x02, 0xe9, 0x8e, 0x3b, 0x9e, 0x31, 0x4b, 0x42, 0x19, 0x85, 0x6c, 0xd4, 0xb0, 0x00, 0x0d, 0xce, + 0x2c, 0x0c, 0xbd, 0xac, 0x3f, 0x86, 0xaa, 0x1c, 0xbc, 0x29, 0x8a, 0x53, 0xe7, 0xfb, 0xad, 0x92, + 0xae, 0x61, 0xd2, 0x2a, 0x14, 0xe3, 0x91, 0x72, 0xba, 0x0b, 0x65, 0x6c, 0xdb, 0x69, 0xa6, 0xb9, + 0xa6, 0x54, 0x5e, 0x69, 0xca, 0xb7, 0xca, 0x76, 0x16, 0xb3, 0xad, 0x40, 0x39, 0x19, 0x2d, 0xaf, + 0xff, 0xa5, 0x40, 0x09, 0x13, 0xee, 0xd2, 0x21, 0x95, 0x95, 0xf5, 0x85, 0x1c, 0xaf, 0x0c, 0x15, + 0x22, 0x97, 0x06, 0x39, 0x6a, 0xdb, 0x3e, 0x0b, 0x02, 0x39, 0x3a, 0x91, 0x48, 0xae, 0x41, 0x95, + 0xfb, 0xd4, 0xa6, 0xfd, 0x21, 0xeb, 0xd1, 0x91, 0x37, 0x71, 0xa3, 0xeb, 0xa2, 0x12, 0xa9, 0x9b, + 0xa8, 0x25, 0xff, 0x85, 0x8a, 0xcf, 0xb8, 0xe3, 0x33, 0x3b, 0xb2, 0x0b, 0x87, 0xa9, 0x2c, 0xb5, + 0xd2, 0xec, 0x1a, 0x54, 0x59, 0x60, 0xf9, 0xde, 0xd3, 0x99, 0x5d, 0x38, 0x5b, 0x95, 0x48, 0x1d, + 0x1a, 0x36, 0xde, 0xc5, 0xca, 0x0c, 0x58, 0x85, 0x15, 0x89, 0x65, 0x6b, 0x8a, 0x9f, 0xac, 0xc1, + 0xca, 0x54, 0xd8, 0x92, 0xcb, 0xaa, 0xa2, 0x15, 0xf4, 0x9f, 0x14, 0x28, 0x86, 0x3c, 0x4f, 0xc6, + 0xe3, 0xe1, 0xc9, 0xe9, 0x55, 0x2f, 0xa8, 0x2d, 0xf5, 0x96, 0xb5, 0xa5, 0x17, 0xd5, 0x76, 0x03, + 0x54, 0x4b, 0x70, 0x3d, 0x1c, 0xce, 0x93, 0x50, 0x9d, 0xea, 0x65, 0x75, 0xb1, 0x2e, 0x99, 0xe1, + 0x03, 0x7d, 0x02, 0xe5, 0xfb, 0xbe, 0x33, 0x70, 0xdc, 0xee, 0xf1, 0xbe, 0x6b, 0xb3, 0xe3, 0xd3, + 0xfb, 0x71, 0xfe, 0x6e, 0x58, 0x87, 0xe5, 0xc0, 0x9b, 0xf8, 0x16, 0x93, 0xf0, 0xa4, 0xd4, 0xb8, + 0x84, 0xc9, 0xce, 0xc1, 0x1a, 0xac, 0xc6, 0x8f, 0xe2, 0x2d, 0x69, 0x5c, 0xd4, 0xbf, 0x55, 0x64, + 0x77, 0xb6, 0x3c, 0x97, 0xfb, 0xd4, 0xe2, 0xa7, 0xf3, 0x96, 0x00, 0x95, 0x9a, 0x03, 0xb5, 0x01, + 0x79, 0x4b, 0x46, 0x91, 0x30, 0xa6, 0x72, 0xa3, 0x8e, 0x40, 0x6e, 0x24, 0xaa, 0x26, 0x1a, 0x90, + 0x19, 0xaa, 0xc8, 0x14, 0x5f, 0x12, 0x25, 0xfd, 0x43, 0x58, 0xc3, 0x53, 0xa2, 0xe5, 0x33, 0xca, + 0x3d, 0xbf, 0x39, 0x1c, 0x7a, 0x4f, 0x87, 0x4e, 0xc0, 0x45, 0xc3, 0x32, 0x57, 0xec, 0x90, 0x8d, + 0xe8, 0xf2, 0x66, 0x24, 0x36, 0xf2, 0x7f, 0x8b, 0x1c, 0xa9, 0x7c, 0x59, 0xdf, 0x83, 0x55, 0x74, + 0x60, 0x76, 0x3c, 0x46, 0xbc, 0xd7, 0x95, 0x44, 0xaf, 0x37, 0x56, 0x11, 0x5e, 0x19, 0x0a, 0x33, + 0x8b, 0x8a, 0xde, 0x84, 0x3c, 0xba, 0xdf, 0x61, 0x8c, 0xfc, 0x0f, 0xd2, 0x8f, 0x18, 0x43, 0xb7, + 0xe2, 0xce, 0x39, 0x23, 0x7c, 0xbf, 0x19, 0xe2, 0x7d, 0x67, 0xc8, 0xf7, 0x9d, 0xd1, 0xf2, 0x1c, + 0xd7, 0x14, 0x56, 0x53, 0x20, 0x55, 0xfd, 0x2e, 0x10, 0x09, 0x64, 0xd7, 0x77, 0xec, 0x01, 0x6b, + 0x1d, 0x52, 0xc7, 0x25, 0x17, 0x01, 0x2c, 0xf1, 0xd1, 0xc3, 0x77, 0x59, 0x78, 0xd0, 0x15, 0x50, + 0x73, 0x8f, 0x8e, 0x58, 0x63, 0x1d, 0xc1, 0xa8, 0x50, 0x4a, 0x98, 0xa9, 0xfa, 0xb3, 0x14, 0x94, + 0xe4, 0xa9, 0x15, 0xbe, 0xb1, 0xde, 0x78, 0x90, 0x24, 0xb6, 0x2b, 0x3d, 0xb7, 0x5d, 0xb7, 0x60, + 0x59, 0xbc, 0x63, 0x27, 0x01, 0x76, 0x6a, 0x65, 0xe7, 0xaa, 0xf1, 0xea, 0x4b, 0xd6, 0x88, 0xe7, + 0xeb, 0xa0, 0xb5, 0x29, 0xbd, 0x44, 0xcf, 0x47, 0xd9, 0xe7, 0x2e, 0xcb, 0xaa, 0xd4, 0x7f, 0x16, + 0xdd, 0x99, 0x3b, 0xb0, 0x26, 0x8f, 0xe1, 0x10, 0xce, 0xdc, 0x83, 0x63, 0x35, 0x5c, 0xc4, 0x24, + 0x91, 0x4f, 0xe3, 0x32, 0xb2, 0x70, 0x1e, 0xce, 0xc2, 0x5a, 0xac, 0xc8, 0xad, 0x59, 0x3d, 0x2b, + 0x37, 0x7f, 0x54, 0x80, 0xbc, 0x0a, 0x90, 0x5c, 0x81, 0xcd, 0x03, 0xf3, 0xfe, 0x27, 0xed, 0x56, + 0xb7, 0xd7, 0xfa, 0xb4, 0xd9, 0xe9, 0xf4, 0x3a, 0xdd, 0x66, 0xf7, 0x41, 0xa7, 0xf7, 0xe0, 0x5e, + 0xe7, 0xa0, 0xdd, 0xda, 0xbf, 0xb3, 0xdf, 0xde, 0x53, 0x97, 0xc8, 0x65, 0xb8, 0xb8, 0xd0, 0xaa, + 0xd9, 0x6a, 0xb5, 0x0f, 0xba, 0xed, 0x3d, 0x55, 0x21, 0x37, 0xe1, 0xea, 0x42, 0x93, 0xd6, 0xc7, + 0xcd, 0x7b, 0x1f, 0xb5, 0x3b, 0x3d, 0xb3, 0xfd, 0xf9, 0x83, 0x76, 0x47, 0xd8, 0xa6, 0x5e, 0x1b, + 0xce, 0x6c, 0x0b, 0x5d, 0x7b, 0x4f, 0x4d, 0xef, 0x7e, 0xf1, 0xcb, 0x8b, 0x9a, 0xf2, 0xfc, 0x45, + 0x4d, 0xf9, 0xe3, 0x45, 0x4d, 0xf9, 0xe6, 0x65, 0x6d, 0xe9, 0xf9, 0xcb, 0xda, 0xd2, 0xef, 0x2f, + 0x6b, 0x4b, 0x0f, 0x6f, 0x0f, 0x1c, 0x7e, 0x38, 0xe9, 0x1b, 0x96, 0x37, 0xaa, 0xe3, 0x26, 0xfc, + 0xdf, 0x65, 0xfc, 0xa9, 0xe7, 0x3f, 0x91, 0xd2, 0x90, 0xd9, 0x03, 0xe6, 0xd7, 0x8f, 0x63, 0x7f, + 0x21, 0xf8, 0x6b, 0x21, 0x2e, 0xb5, 0x40, 0xfc, 0x60, 0x2c, 0xe3, 0x1b, 0xe0, 0x9d, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x0a, 0xdd, 0xcf, 0xe1, 0xad, 0x0c, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -1639,6 +1647,11 @@ func (m *Batch) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.ClassKey != 0 { + i = encodeVarintState(dAtA, i, uint64(m.ClassKey)) + i-- + dAtA[i] = 0x50 + } if m.Open { i-- if m.Open { @@ -2135,7 +2148,7 @@ func (m *AllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ClassApplication) Marshal() (dAtA []byte, err error) { +func (m *ProjectClass) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2145,34 +2158,34 @@ func (m *ClassApplication) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ClassApplication) MarshalTo(dAtA []byte) (int, error) { +func (m *ProjectClass) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Status != 0 { - i = encodeVarintState(dAtA, i, uint64(m.Status)) + if len(m.CreditClassMetadata) > 0 { + i -= len(m.CreditClassMetadata) + copy(dAtA[i:], m.CreditClassMetadata) + i = encodeVarintState(dAtA, i, uint64(len(m.CreditClassMetadata))) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x32 } - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintState(dAtA, i, uint64(len(m.Metadata))) + if len(m.ProjectMetadata) > 0 { + i -= len(m.ProjectMetadata) + copy(dAtA[i:], m.ProjectMetadata) + i = encodeVarintState(dAtA, i, uint64(len(m.ProjectMetadata))) i-- dAtA[i] = 0x2a } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintState(dAtA, i, uint64(len(m.Issuer))) + if m.Status != 0 { + i = encodeVarintState(dAtA, i, uint64(m.Status)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x20 } if m.ClassKey != 0 { i = encodeVarintState(dAtA, i, uint64(m.ClassKey)) @@ -2182,11 +2195,6 @@ func (m *ClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.ProjectKey != 0 { i = encodeVarintState(dAtA, i, uint64(m.ProjectKey)) i-- - dAtA[i] = 0x10 - } - if m.Id != 0 { - i = encodeVarintState(dAtA, i, uint64(m.Id)) - i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil @@ -2345,6 +2353,9 @@ func (m *Batch) Size() (n int) { if m.Open { n += 2 } + if m.ClassKey != 0 { + n += 1 + sovState(uint64(m.ClassKey)) + } return n } @@ -2536,32 +2547,29 @@ func (m *AllowedBridgeChain) Size() (n int) { return n } -func (m *ClassApplication) Size() (n int) { +func (m *ProjectClass) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Id != 0 { - n += 1 + sovState(uint64(m.Id)) - } if m.ProjectKey != 0 { n += 1 + sovState(uint64(m.ProjectKey)) } if m.ClassKey != 0 { n += 1 + sovState(uint64(m.ClassKey)) } - l = len(m.Issuer) + if m.Status != 0 { + n += 1 + sovState(uint64(m.Status)) + } + l = len(m.ProjectMetadata) if l > 0 { n += 1 + l + sovState(uint64(l)) } - l = len(m.Metadata) + l = len(m.CreditClassMetadata) if l > 0 { n += 1 + l + sovState(uint64(l)) } - if m.Status != 0 { - n += 1 + sovState(uint64(m.Status)) - } return n } @@ -3581,6 +3589,25 @@ func (m *Batch) Unmarshal(dAtA []byte) error { } } m.Open = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) + } + m.ClassKey = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ClassKey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipState(dAtA[iNdEx:]) @@ -4818,7 +4845,7 @@ func (m *AllowedBridgeChain) Unmarshal(dAtA []byte) error { } return nil } -func (m *ClassApplication) Unmarshal(dAtA []byte) error { +func (m *ProjectClass) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4841,17 +4868,17 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ClassApplication: wiretype end group for non-group") + return fmt.Errorf("proto: ProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectKey", wireType) } - m.Id = 0 + m.ProjectKey = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowState @@ -4861,16 +4888,16 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Id |= uint64(b&0x7F) << shift + m.ProjectKey |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 2: + case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) } - m.ProjectKey = 0 + m.ClassKey = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowState @@ -4880,16 +4907,16 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProjectKey |= uint64(b&0x7F) << shift + m.ClassKey |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ClassKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - m.ClassKey = 0 + m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowState @@ -4899,14 +4926,14 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ClassKey |= uint64(b&0x7F) << shift + m.Status |= ProjectClassStatus(b&0x7F) << shift if b < 0x80 { break } } - case 4: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4934,11 +4961,11 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Issuer = string(dAtA[iNdEx:postIndex]) + m.ProjectMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreditClassMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4966,27 +4993,8 @@ func (m *ClassApplication) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Metadata = string(dAtA[iNdEx:postIndex]) + m.CreditClassMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) - } - m.Status = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowState - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Status |= ApplicationStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipState(dAtA[iNdEx:]) diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index 3acfa64fe7..4202fb1ddd 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -410,9 +410,9 @@ func (m *MsgCreateProjectResponse) GetProjectId() string { // MsgCreateUnregisteredProject is the Msg/CreateUnregisteredProject request type. type MsgCreateUnregisteredProject struct { - // creator is the address of the account creating the project that will become + // admin is the address of the account creating the project that will become // the admin of the project upon creation. - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references metadata to attach to the project. Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -462,9 +462,9 @@ func (m *MsgCreateUnregisteredProject) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateUnregisteredProject proto.InternalMessageInfo -func (m *MsgCreateUnregisteredProject) GetCreator() string { +func (m *MsgCreateUnregisteredProject) GetAdmin() string { if m != nil { - return m.Creator + return m.Admin } return "" } @@ -536,8 +536,8 @@ func (m *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgSubmitClassApplication is the Msg/SubmitClassApplication request type. -type MsgSubmitClassApplication struct { +// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. +type MsgUpdateProjectClass struct { // project_admin is the address of the account that is the admin of the // project which is applying to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` @@ -547,27 +547,24 @@ type MsgSubmitClassApplication struct { // class_id is the identifier of the credit class which the project is // applying to. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // issuer is the address of the account that is an issuer of the credit class - // to whom the project is applying to for approval. - Issuer string `protobuf:"bytes,4,opt,name=issuer,proto3" json:"issuer,omitempty"` // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. - Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgSubmitClassApplication) Reset() { *m = MsgSubmitClassApplication{} } -func (m *MsgSubmitClassApplication) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitClassApplication) ProtoMessage() {} -func (*MsgSubmitClassApplication) Descriptor() ([]byte, []int) { +func (m *MsgUpdateProjectClass) Reset() { *m = MsgUpdateProjectClass{} } +func (m *MsgUpdateProjectClass) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectClass) ProtoMessage() {} +func (*MsgUpdateProjectClass) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{8} } -func (m *MsgSubmitClassApplication) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectClass) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSubmitClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSubmitClassApplication.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectClass.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -577,182 +574,62 @@ func (m *MsgSubmitClassApplication) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *MsgSubmitClassApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitClassApplication.Merge(m, src) +func (m *MsgUpdateProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectClass.Merge(m, src) } -func (m *MsgSubmitClassApplication) XXX_Size() int { +func (m *MsgUpdateProjectClass) XXX_Size() int { return m.Size() } -func (m *MsgSubmitClassApplication) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitClassApplication.DiscardUnknown(m) +func (m *MsgUpdateProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectClass.DiscardUnknown(m) } -var xxx_messageInfo_MsgSubmitClassApplication proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectClass proto.InternalMessageInfo -func (m *MsgSubmitClassApplication) GetProjectAdmin() string { +func (m *MsgUpdateProjectClass) GetProjectAdmin() string { if m != nil { return m.ProjectAdmin } return "" } -func (m *MsgSubmitClassApplication) GetProjectId() string { +func (m *MsgUpdateProjectClass) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *MsgSubmitClassApplication) GetClassId() string { +func (m *MsgUpdateProjectClass) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *MsgSubmitClassApplication) GetIssuer() string { - if m != nil { - return m.Issuer - } - return "" -} - -func (m *MsgSubmitClassApplication) GetMetadata() string { +func (m *MsgUpdateProjectClass) GetMetadata() string { if m != nil { return m.Metadata } return "" } -// MsgSubmitClassApplicationResponse is the Msg/SubmitClassApplication response type. -type MsgSubmitClassApplicationResponse struct { - // application_id is the identifier assigned to the application. - ApplicationId uint64 `protobuf:"varint,1,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` +// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. +type MsgUpdateProjectClassResponse struct { } -func (m *MsgSubmitClassApplicationResponse) Reset() { *m = MsgSubmitClassApplicationResponse{} } -func (m *MsgSubmitClassApplicationResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitClassApplicationResponse) ProtoMessage() {} -func (*MsgSubmitClassApplicationResponse) Descriptor() ([]byte, []int) { +func (m *MsgUpdateProjectClassResponse) Reset() { *m = MsgUpdateProjectClassResponse{} } +func (m *MsgUpdateProjectClassResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectClassResponse) ProtoMessage() {} +func (*MsgUpdateProjectClassResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{9} } -func (m *MsgSubmitClassApplicationResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitClassApplicationResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgSubmitClassApplicationResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitClassApplicationResponse.Merge(m, src) -} -func (m *MsgSubmitClassApplicationResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitClassApplicationResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitClassApplicationResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitClassApplicationResponse proto.InternalMessageInfo - -func (m *MsgSubmitClassApplicationResponse) GetApplicationId() uint64 { - if m != nil { - return m.ApplicationId - } - return 0 -} - -// MsgUpdateClassApplication is the Msg/UpdateClassApplication request type. -type MsgUpdateClassApplication struct { - // project_admin is the address of the account that is the admin of the - // project which is updating its application to the credit class. - ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` - // application_id is the identifier of the application to update. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters - // that includes or references metadata relevant to the application. If it - // is left empty, the existing metadata will be deleted. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (m *MsgUpdateClassApplication) Reset() { *m = MsgUpdateClassApplication{} } -func (m *MsgUpdateClassApplication) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassApplication) ProtoMessage() {} -func (*MsgUpdateClassApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{10} -} -func (m *MsgUpdateClassApplication) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUpdateClassApplication.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgUpdateClassApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassApplication.Merge(m, src) -} -func (m *MsgUpdateClassApplication) XXX_Size() int { - return m.Size() -} -func (m *MsgUpdateClassApplication) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassApplication.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUpdateClassApplication proto.InternalMessageInfo - -func (m *MsgUpdateClassApplication) GetProjectAdmin() string { - if m != nil { - return m.ProjectAdmin - } - return "" -} - -func (m *MsgUpdateClassApplication) GetApplicationId() uint64 { - if m != nil { - return m.ApplicationId - } - return 0 -} - -func (m *MsgUpdateClassApplication) GetMetadata() string { - if m != nil { - return m.Metadata - } - return "" -} - -// MsgUpdateClassApplicationResponse is the Msg/UpdateClassApplication response type. -type MsgUpdateClassApplicationResponse struct { -} - -func (m *MsgUpdateClassApplicationResponse) Reset() { *m = MsgUpdateClassApplicationResponse{} } -func (m *MsgUpdateClassApplicationResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateClassApplicationResponse) ProtoMessage() {} -func (*MsgUpdateClassApplicationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{11} -} -func (m *MsgUpdateClassApplicationResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectClassResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateClassApplicationResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectClassResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -762,20 +639,20 @@ func (m *MsgUpdateClassApplicationResponse) XXX_Marshal(b []byte, deterministic return b[:n], nil } } -func (m *MsgUpdateClassApplicationResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateClassApplicationResponse.Merge(m, src) +func (m *MsgUpdateProjectClassResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectClassResponse.Merge(m, src) } -func (m *MsgUpdateClassApplicationResponse) XXX_Size() int { +func (m *MsgUpdateProjectClassResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateClassApplicationResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateClassApplicationResponse.DiscardUnknown(m) +func (m *MsgUpdateProjectClassResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectClassResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateClassApplicationResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectClassResponse proto.InternalMessageInfo -// MsgWithdrawClassApplication is the Msg/WithdrawClassApplication request type. -type MsgWithdrawClassApplication struct { +// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. +type MsgWithdrawProjectClass struct { // project_admin is the address of the account that is the admin of the // project which is withdrawing its application to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` @@ -783,18 +660,18 @@ type MsgWithdrawClassApplication struct { ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` } -func (m *MsgWithdrawClassApplication) Reset() { *m = MsgWithdrawClassApplication{} } -func (m *MsgWithdrawClassApplication) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawClassApplication) ProtoMessage() {} -func (*MsgWithdrawClassApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{12} +func (m *MsgWithdrawProjectClass) Reset() { *m = MsgWithdrawProjectClass{} } +func (m *MsgWithdrawProjectClass) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawProjectClass) ProtoMessage() {} +func (*MsgWithdrawProjectClass) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{10} } -func (m *MsgWithdrawClassApplication) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawProjectClass) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgWithdrawClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgWithdrawClassApplication.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawProjectClass.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -804,48 +681,48 @@ func (m *MsgWithdrawClassApplication) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgWithdrawClassApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawClassApplication.Merge(m, src) +func (m *MsgWithdrawProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawProjectClass.Merge(m, src) } -func (m *MsgWithdrawClassApplication) XXX_Size() int { +func (m *MsgWithdrawProjectClass) XXX_Size() int { return m.Size() } -func (m *MsgWithdrawClassApplication) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawClassApplication.DiscardUnknown(m) +func (m *MsgWithdrawProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawProjectClass.DiscardUnknown(m) } -var xxx_messageInfo_MsgWithdrawClassApplication proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawProjectClass proto.InternalMessageInfo -func (m *MsgWithdrawClassApplication) GetProjectAdmin() string { +func (m *MsgWithdrawProjectClass) GetProjectAdmin() string { if m != nil { return m.ProjectAdmin } return "" } -func (m *MsgWithdrawClassApplication) GetApplicationId() uint64 { +func (m *MsgWithdrawProjectClass) GetApplicationId() uint64 { if m != nil { return m.ApplicationId } return 0 } -// MsgWithdrawClassApplicationResponse is the Msg/WithdrawClassApplication response type. -type MsgWithdrawClassApplicationResponse struct { +// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. +type MsgWithdrawProjectClassResponse struct { } -func (m *MsgWithdrawClassApplicationResponse) Reset() { *m = MsgWithdrawClassApplicationResponse{} } -func (m *MsgWithdrawClassApplicationResponse) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawClassApplicationResponse) ProtoMessage() {} -func (*MsgWithdrawClassApplicationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{13} +func (m *MsgWithdrawProjectClassResponse) Reset() { *m = MsgWithdrawProjectClassResponse{} } +func (m *MsgWithdrawProjectClassResponse) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawProjectClassResponse) ProtoMessage() {} +func (*MsgWithdrawProjectClassResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{11} } -func (m *MsgWithdrawClassApplicationResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawProjectClassResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgWithdrawClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgWithdrawClassApplicationResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawProjectClassResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -855,45 +732,45 @@ func (m *MsgWithdrawClassApplicationResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgWithdrawClassApplicationResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawClassApplicationResponse.Merge(m, src) +func (m *MsgWithdrawProjectClassResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawProjectClassResponse.Merge(m, src) } -func (m *MsgWithdrawClassApplicationResponse) XXX_Size() int { +func (m *MsgWithdrawProjectClassResponse) XXX_Size() int { return m.Size() } -func (m *MsgWithdrawClassApplicationResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawClassApplicationResponse.DiscardUnknown(m) +func (m *MsgWithdrawProjectClassResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawProjectClassResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgWithdrawClassApplicationResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawProjectClassResponse proto.InternalMessageInfo -// MsgEvaluateClassApplication is the Msg/EvaluateClassApplication request type. -type MsgEvaluateClassApplication struct { +// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. +type MsgEvaluateProjectClass struct { // issuer is the address of the account that is the issuer of the credit class // which is evaluating the application. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // application_id is the identifier of the application to evaluate. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. - Evaluation ApplicationStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ApplicationStatus" json:"evaluation,omitempty"` - // reason is any arbitrary string with a maximum length of 256 characters + Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` + // metadata is any arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgEvaluateClassApplication) Reset() { *m = MsgEvaluateClassApplication{} } -func (m *MsgEvaluateClassApplication) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateClassApplication) ProtoMessage() {} -func (*MsgEvaluateClassApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{14} +func (m *MsgEvaluateProjectClass) Reset() { *m = MsgEvaluateProjectClass{} } +func (m *MsgEvaluateProjectClass) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateProjectClass) ProtoMessage() {} +func (*MsgEvaluateProjectClass) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{12} } -func (m *MsgEvaluateClassApplication) XXX_Unmarshal(b []byte) error { +func (m *MsgEvaluateProjectClass) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateClassApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateClassApplication.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgEvaluateProjectClass.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -903,62 +780,62 @@ func (m *MsgEvaluateClassApplication) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgEvaluateClassApplication) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateClassApplication.Merge(m, src) +func (m *MsgEvaluateProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateProjectClass.Merge(m, src) } -func (m *MsgEvaluateClassApplication) XXX_Size() int { +func (m *MsgEvaluateProjectClass) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateClassApplication) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateClassApplication.DiscardUnknown(m) +func (m *MsgEvaluateProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateProjectClass.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateClassApplication proto.InternalMessageInfo +var xxx_messageInfo_MsgEvaluateProjectClass proto.InternalMessageInfo -func (m *MsgEvaluateClassApplication) GetIssuer() string { +func (m *MsgEvaluateProjectClass) GetIssuer() string { if m != nil { return m.Issuer } return "" } -func (m *MsgEvaluateClassApplication) GetApplicationId() uint64 { +func (m *MsgEvaluateProjectClass) GetApplicationId() uint64 { if m != nil { return m.ApplicationId } return 0 } -func (m *MsgEvaluateClassApplication) GetEvaluation() ApplicationStatus { +func (m *MsgEvaluateProjectClass) GetEvaluation() ProjectClassStatus { if m != nil { return m.Evaluation } - return ApplicationStatus_APPLICATION_STATUS_UNSPECIFIED + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED } -func (m *MsgEvaluateClassApplication) GetReason() string { +func (m *MsgEvaluateProjectClass) GetMetadata() string { if m != nil { - return m.Reason + return m.Metadata } return "" } -// MsgEvaluateClassApplicationResponse is the Msg/EvaluateClassApplication response type. -type MsgEvaluateClassApplicationResponse struct { +// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. +type MsgEvaluateProjectClassResponse struct { } -func (m *MsgEvaluateClassApplicationResponse) Reset() { *m = MsgEvaluateClassApplicationResponse{} } -func (m *MsgEvaluateClassApplicationResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateClassApplicationResponse) ProtoMessage() {} -func (*MsgEvaluateClassApplicationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{15} +func (m *MsgEvaluateProjectClassResponse) Reset() { *m = MsgEvaluateProjectClassResponse{} } +func (m *MsgEvaluateProjectClassResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateProjectClassResponse) ProtoMessage() {} +func (*MsgEvaluateProjectClassResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{13} } -func (m *MsgEvaluateClassApplicationResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgEvaluateProjectClassResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateClassApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgEvaluateProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateClassApplicationResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgEvaluateProjectClassResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -968,17 +845,17 @@ func (m *MsgEvaluateClassApplicationResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgEvaluateClassApplicationResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateClassApplicationResponse.Merge(m, src) +func (m *MsgEvaluateProjectClassResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateProjectClassResponse.Merge(m, src) } -func (m *MsgEvaluateClassApplicationResponse) XXX_Size() int { +func (m *MsgEvaluateProjectClassResponse) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateClassApplicationResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateClassApplicationResponse.DiscardUnknown(m) +func (m *MsgEvaluateProjectClassResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateProjectClassResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateClassApplicationResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgEvaluateProjectClassResponse proto.InternalMessageInfo // MsgCreateBatch is the Msg/CreateBatch request type. type MsgCreateBatch struct { @@ -1017,7 +894,7 @@ func (m *MsgCreateBatch) Reset() { *m = MsgCreateBatch{} } func (m *MsgCreateBatch) String() string { return proto.CompactTextString(m) } func (*MsgCreateBatch) ProtoMessage() {} func (*MsgCreateBatch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{16} + return fileDescriptor_2b8ae49f50a3ddbd, []int{14} } func (m *MsgCreateBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1112,7 +989,7 @@ func (m *MsgCreateBatchResponse) Reset() { *m = MsgCreateBatchResponse{} func (m *MsgCreateBatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateBatchResponse) ProtoMessage() {} func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{17} + return fileDescriptor_2b8ae49f50a3ddbd, []int{15} } func (m *MsgCreateBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1168,7 +1045,7 @@ func (m *MsgMintBatchCredits) Reset() { *m = MsgMintBatchCredits{} } func (m *MsgMintBatchCredits) String() string { return proto.CompactTextString(m) } func (*MsgMintBatchCredits) ProtoMessage() {} func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{18} + return fileDescriptor_2b8ae49f50a3ddbd, []int{16} } func (m *MsgMintBatchCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1233,7 +1110,7 @@ func (m *MsgMintBatchCreditsResponse) Reset() { *m = MsgMintBatchCredits func (m *MsgMintBatchCreditsResponse) String() string { return proto.CompactTextString(m) } func (*MsgMintBatchCreditsResponse) ProtoMessage() {} func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{19} + return fileDescriptor_2b8ae49f50a3ddbd, []int{17} } func (m *MsgMintBatchCreditsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1275,7 +1152,7 @@ func (m *MsgSealBatch) Reset() { *m = MsgSealBatch{} } func (m *MsgSealBatch) String() string { return proto.CompactTextString(m) } func (*MsgSealBatch) ProtoMessage() {} func (*MsgSealBatch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{20} + return fileDescriptor_2b8ae49f50a3ddbd, []int{18} } func (m *MsgSealBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1326,7 +1203,7 @@ func (m *MsgSealBatchResponse) Reset() { *m = MsgSealBatchResponse{} } func (m *MsgSealBatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgSealBatchResponse) ProtoMessage() {} func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{21} + return fileDescriptor_2b8ae49f50a3ddbd, []int{19} } func (m *MsgSealBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1369,7 +1246,7 @@ func (m *MsgSend) Reset() { *m = MsgSend{} } func (m *MsgSend) String() string { return proto.CompactTextString(m) } func (*MsgSend) ProtoMessage() {} func (*MsgSend) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{22} + return fileDescriptor_2b8ae49f50a3ddbd, []int{20} } func (m *MsgSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1453,7 +1330,7 @@ func (m *MsgSend_SendCredits) Reset() { *m = MsgSend_SendCredits{} } func (m *MsgSend_SendCredits) String() string { return proto.CompactTextString(m) } func (*MsgSend_SendCredits) ProtoMessage() {} func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{22, 0} + return fileDescriptor_2b8ae49f50a3ddbd, []int{20, 0} } func (m *MsgSend_SendCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1525,7 +1402,7 @@ func (m *MsgSendResponse) Reset() { *m = MsgSendResponse{} } func (m *MsgSendResponse) String() string { return proto.CompactTextString(m) } func (*MsgSendResponse) ProtoMessage() {} func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{23} + return fileDescriptor_2b8ae49f50a3ddbd, []int{21} } func (m *MsgSendResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1579,7 +1456,7 @@ func (m *MsgRetire) Reset() { *m = MsgRetire{} } func (m *MsgRetire) String() string { return proto.CompactTextString(m) } func (*MsgRetire) ProtoMessage() {} func (*MsgRetire) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{24} + return fileDescriptor_2b8ae49f50a3ddbd, []int{22} } func (m *MsgRetire) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1644,7 +1521,7 @@ func (m *MsgRetireResponse) Reset() { *m = MsgRetireResponse{} } func (m *MsgRetireResponse) String() string { return proto.CompactTextString(m) } func (*MsgRetireResponse) ProtoMessage() {} func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{25} + return fileDescriptor_2b8ae49f50a3ddbd, []int{23} } func (m *MsgRetireResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1688,7 +1565,7 @@ func (m *MsgCancel) Reset() { *m = MsgCancel{} } func (m *MsgCancel) String() string { return proto.CompactTextString(m) } func (*MsgCancel) ProtoMessage() {} func (*MsgCancel) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{26} + return fileDescriptor_2b8ae49f50a3ddbd, []int{24} } func (m *MsgCancel) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1746,7 +1623,7 @@ func (m *MsgCancelResponse) Reset() { *m = MsgCancelResponse{} } func (m *MsgCancelResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelResponse) ProtoMessage() {} func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{27} + return fileDescriptor_2b8ae49f50a3ddbd, []int{25} } func (m *MsgCancelResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1791,7 +1668,7 @@ func (m *MsgUpdateClassAdmin) Reset() { *m = MsgUpdateClassAdmin{} } func (m *MsgUpdateClassAdmin) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassAdmin) ProtoMessage() {} func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{28} + return fileDescriptor_2b8ae49f50a3ddbd, []int{26} } func (m *MsgUpdateClassAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1849,7 +1726,7 @@ func (m *MsgUpdateClassAdminResponse) Reset() { *m = MsgUpdateClassAdmin func (m *MsgUpdateClassAdminResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassAdminResponse) ProtoMessage() {} func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{29} + return fileDescriptor_2b8ae49f50a3ddbd, []int{27} } func (m *MsgUpdateClassAdminResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1896,7 +1773,7 @@ func (m *MsgUpdateClassIssuers) Reset() { *m = MsgUpdateClassIssuers{} } func (m *MsgUpdateClassIssuers) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassIssuers) ProtoMessage() {} func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{30} + return fileDescriptor_2b8ae49f50a3ddbd, []int{28} } func (m *MsgUpdateClassIssuers) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1961,7 +1838,7 @@ func (m *MsgUpdateClassIssuersResponse) Reset() { *m = MsgUpdateClassIss func (m *MsgUpdateClassIssuersResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{31} + return fileDescriptor_2b8ae49f50a3ddbd, []int{29} } func (m *MsgUpdateClassIssuersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2006,7 +1883,7 @@ func (m *MsgUpdateClassMetadata) Reset() { *m = MsgUpdateClassMetadata{} func (m *MsgUpdateClassMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassMetadata) ProtoMessage() {} func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{32} + return fileDescriptor_2b8ae49f50a3ddbd, []int{30} } func (m *MsgUpdateClassMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2064,7 +1941,7 @@ func (m *MsgUpdateClassMetadataResponse) Reset() { *m = MsgUpdateClassMe func (m *MsgUpdateClassMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{33} + return fileDescriptor_2b8ae49f50a3ddbd, []int{31} } func (m *MsgUpdateClassMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2109,7 +1986,7 @@ func (m *MsgUpdateProjectAdmin) Reset() { *m = MsgUpdateProjectAdmin{} } func (m *MsgUpdateProjectAdmin) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectAdmin) ProtoMessage() {} func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{34} + return fileDescriptor_2b8ae49f50a3ddbd, []int{32} } func (m *MsgUpdateProjectAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2167,7 +2044,7 @@ func (m *MsgUpdateProjectAdminResponse) Reset() { *m = MsgUpdateProjectA func (m *MsgUpdateProjectAdminResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{35} + return fileDescriptor_2b8ae49f50a3ddbd, []int{33} } func (m *MsgUpdateProjectAdminResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2212,7 +2089,7 @@ func (m *MsgUpdateProjectMetadata) Reset() { *m = MsgUpdateProjectMetada func (m *MsgUpdateProjectMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectMetadata) ProtoMessage() {} func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{36} + return fileDescriptor_2b8ae49f50a3ddbd, []int{34} } func (m *MsgUpdateProjectMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2271,7 +2148,7 @@ func (m *MsgUpdateProjectMetadataResponse) Reset() { *m = MsgUpdateProje func (m *MsgUpdateProjectMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{37} + return fileDescriptor_2b8ae49f50a3ddbd, []int{35} } func (m *MsgUpdateProjectMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2316,7 +2193,7 @@ func (m *MsgBridge) Reset() { *m = MsgBridge{} } func (m *MsgBridge) String() string { return proto.CompactTextString(m) } func (*MsgBridge) ProtoMessage() {} func (*MsgBridge) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{38} + return fileDescriptor_2b8ae49f50a3ddbd, []int{36} } func (m *MsgBridge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2391,7 +2268,7 @@ func (m *MsgUpdateBatchMetadata) Reset() { *m = MsgUpdateBatchMetadata{} func (m *MsgUpdateBatchMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBatchMetadata) ProtoMessage() {} func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{39} + return fileDescriptor_2b8ae49f50a3ddbd, []int{37} } func (m *MsgUpdateBatchMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2452,7 +2329,7 @@ func (m *MsgUpdateBatchMetadataResponse) Reset() { *m = MsgUpdateBatchMe func (m *MsgUpdateBatchMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{40} + return fileDescriptor_2b8ae49f50a3ddbd, []int{38} } func (m *MsgUpdateBatchMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2489,7 +2366,7 @@ func (m *MsgBridgeResponse) Reset() { *m = MsgBridgeResponse{} } func (m *MsgBridgeResponse) String() string { return proto.CompactTextString(m) } func (*MsgBridgeResponse) ProtoMessage() {} func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{41} + return fileDescriptor_2b8ae49f50a3ddbd, []int{39} } func (m *MsgBridgeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2538,7 +2415,7 @@ func (m *MsgBridgeReceive) Reset() { *m = MsgBridgeReceive{} } func (m *MsgBridgeReceive) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive) ProtoMessage() {} func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{42} + return fileDescriptor_2b8ae49f50a3ddbd, []int{40} } func (m *MsgBridgeReceive) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2624,7 +2501,7 @@ func (m *MsgBridgeReceive_Batch) Reset() { *m = MsgBridgeReceive_Batch{} func (m *MsgBridgeReceive_Batch) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive_Batch) ProtoMessage() {} func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{42, 0} + return fileDescriptor_2b8ae49f50a3ddbd, []int{40, 0} } func (m *MsgBridgeReceive_Batch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2704,7 +2581,7 @@ func (m *MsgBridgeReceive_Project) Reset() { *m = MsgBridgeReceive_Proje func (m *MsgBridgeReceive_Project) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive_Project) ProtoMessage() {} func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{42, 1} + return fileDescriptor_2b8ae49f50a3ddbd, []int{40, 1} } func (m *MsgBridgeReceive_Project) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2768,7 +2645,7 @@ func (m *MsgBridgeReceiveResponse) Reset() { *m = MsgBridgeReceiveRespon func (m *MsgBridgeReceiveResponse) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceiveResponse) ProtoMessage() {} func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{43} + return fileDescriptor_2b8ae49f50a3ddbd, []int{41} } func (m *MsgBridgeReceiveResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2825,7 +2702,7 @@ func (m *MsgAddClassCreator) Reset() { *m = MsgAddClassCreator{} } func (m *MsgAddClassCreator) String() string { return proto.CompactTextString(m) } func (*MsgAddClassCreator) ProtoMessage() {} func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{44} + return fileDescriptor_2b8ae49f50a3ddbd, []int{42} } func (m *MsgAddClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2878,7 +2755,7 @@ func (m *MsgAddClassCreatorResponse) Reset() { *m = MsgAddClassCreatorRe func (m *MsgAddClassCreatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddClassCreatorResponse) ProtoMessage() {} func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{45} + return fileDescriptor_2b8ae49f50a3ddbd, []int{43} } func (m *MsgAddClassCreatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2922,7 +2799,7 @@ func (m *MsgSetClassCreatorAllowlist) Reset() { *m = MsgSetClassCreatorA func (m *MsgSetClassCreatorAllowlist) String() string { return proto.CompactTextString(m) } func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{46} + return fileDescriptor_2b8ae49f50a3ddbd, []int{44} } func (m *MsgSetClassCreatorAllowlist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2976,7 +2853,7 @@ func (m *MsgSetClassCreatorAllowlistResponse) Reset() { *m = MsgSetClass func (m *MsgSetClassCreatorAllowlistResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{47} + return fileDescriptor_2b8ae49f50a3ddbd, []int{45} } func (m *MsgSetClassCreatorAllowlistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3019,7 +2896,7 @@ func (m *MsgRemoveClassCreator) Reset() { *m = MsgRemoveClassCreator{} } func (m *MsgRemoveClassCreator) String() string { return proto.CompactTextString(m) } func (*MsgRemoveClassCreator) ProtoMessage() {} func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{48} + return fileDescriptor_2b8ae49f50a3ddbd, []int{46} } func (m *MsgRemoveClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3072,7 +2949,7 @@ func (m *MsgRemoveClassCreatorResponse) Reset() { *m = MsgRemoveClassCre func (m *MsgRemoveClassCreatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{49} + return fileDescriptor_2b8ae49f50a3ddbd, []int{47} } func (m *MsgRemoveClassCreatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3116,7 +2993,7 @@ func (m *MsgUpdateClassFee) Reset() { *m = MsgUpdateClassFee{} } func (m *MsgUpdateClassFee) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassFee) ProtoMessage() {} func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{50} + return fileDescriptor_2b8ae49f50a3ddbd, []int{48} } func (m *MsgUpdateClassFee) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3169,7 +3046,7 @@ func (m *MsgUpdateClassFeeResponse) Reset() { *m = MsgUpdateClassFeeResp func (m *MsgUpdateClassFeeResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassFeeResponse) ProtoMessage() {} func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{51} + return fileDescriptor_2b8ae49f50a3ddbd, []int{49} } func (m *MsgUpdateClassFeeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3213,7 +3090,7 @@ func (m *MsgAddAllowedBridgeChain) Reset() { *m = MsgAddAllowedBridgeCha func (m *MsgAddAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChain) ProtoMessage() {} func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{52} + return fileDescriptor_2b8ae49f50a3ddbd, []int{50} } func (m *MsgAddAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3267,7 +3144,7 @@ func (m *MsgAddAllowedBridgeChainResponse) Reset() { *m = MsgAddAllowedB func (m *MsgAddAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{53} + return fileDescriptor_2b8ae49f50a3ddbd, []int{51} } func (m *MsgAddAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3311,7 +3188,7 @@ func (m *MsgRemoveAllowedBridgeChain) Reset() { *m = MsgRemoveAllowedBri func (m *MsgRemoveAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{54} + return fileDescriptor_2b8ae49f50a3ddbd, []int{52} } func (m *MsgRemoveAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3365,7 +3242,7 @@ func (m *MsgRemoveAllowedBridgeChainResponse) Reset() { *m = MsgRemoveAl func (m *MsgRemoveAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{55} + return fileDescriptor_2b8ae49f50a3ddbd, []int{53} } func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3411,7 +3288,7 @@ func (m *MsgBurnRegen) Reset() { *m = MsgBurnRegen{} } func (m *MsgBurnRegen) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegen) ProtoMessage() {} func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{56} + return fileDescriptor_2b8ae49f50a3ddbd, []int{54} } func (m *MsgBurnRegen) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3471,7 +3348,7 @@ func (m *MsgBurnRegenResponse) Reset() { *m = MsgBurnRegenResponse{} } func (m *MsgBurnRegenResponse) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegenResponse) ProtoMessage() {} func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{57} + return fileDescriptor_2b8ae49f50a3ddbd, []int{55} } func (m *MsgBurnRegenResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3509,14 +3386,12 @@ func init() { proto.RegisterType((*MsgCreateProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateProjectResponse") proto.RegisterType((*MsgCreateUnregisteredProject)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProject") proto.RegisterType((*MsgCreateUnregisteredProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse") - proto.RegisterType((*MsgSubmitClassApplication)(nil), "regen.ecocredit.v1.MsgSubmitClassApplication") - proto.RegisterType((*MsgSubmitClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgSubmitClassApplicationResponse") - proto.RegisterType((*MsgUpdateClassApplication)(nil), "regen.ecocredit.v1.MsgUpdateClassApplication") - proto.RegisterType((*MsgUpdateClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassApplicationResponse") - proto.RegisterType((*MsgWithdrawClassApplication)(nil), "regen.ecocredit.v1.MsgWithdrawClassApplication") - proto.RegisterType((*MsgWithdrawClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgWithdrawClassApplicationResponse") - proto.RegisterType((*MsgEvaluateClassApplication)(nil), "regen.ecocredit.v1.MsgEvaluateClassApplication") - proto.RegisterType((*MsgEvaluateClassApplicationResponse)(nil), "regen.ecocredit.v1.MsgEvaluateClassApplicationResponse") + proto.RegisterType((*MsgUpdateProjectClass)(nil), "regen.ecocredit.v1.MsgUpdateProjectClass") + proto.RegisterType((*MsgUpdateProjectClassResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectClassResponse") + proto.RegisterType((*MsgWithdrawProjectClass)(nil), "regen.ecocredit.v1.MsgWithdrawProjectClass") + proto.RegisterType((*MsgWithdrawProjectClassResponse)(nil), "regen.ecocredit.v1.MsgWithdrawProjectClassResponse") + proto.RegisterType((*MsgEvaluateProjectClass)(nil), "regen.ecocredit.v1.MsgEvaluateProjectClass") + proto.RegisterType((*MsgEvaluateProjectClassResponse)(nil), "regen.ecocredit.v1.MsgEvaluateProjectClassResponse") proto.RegisterType((*MsgCreateBatch)(nil), "regen.ecocredit.v1.MsgCreateBatch") proto.RegisterType((*MsgCreateBatchResponse)(nil), "regen.ecocredit.v1.MsgCreateBatchResponse") proto.RegisterType((*MsgMintBatchCredits)(nil), "regen.ecocredit.v1.MsgMintBatchCredits") @@ -3567,147 +3442,143 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2238 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0xdc, 0xc6, - 0x15, 0x37, 0x77, 0x57, 0x5f, 0x6f, 0x25, 0xd9, 0xa6, 0x1d, 0x65, 0x4d, 0x59, 0x2b, 0x79, 0x6d, - 0xd5, 0x8a, 0x63, 0xef, 0x56, 0x4a, 0x03, 0xd7, 0x2e, 0x0a, 0x57, 0x52, 0x6c, 0x54, 0x01, 0x36, - 0x0d, 0xd6, 0x0e, 0x82, 0x06, 0x2d, 0x16, 0x5c, 0x72, 0x4c, 0xd1, 0xdd, 0x25, 0x17, 0xe4, 0xac, - 0x24, 0xa3, 0x6d, 0x80, 0x14, 0x05, 0x7a, 0xcd, 0xad, 0x40, 0xd1, 0x43, 0xaf, 0xbd, 0x15, 0xfd, - 0x13, 0xda, 0x4b, 0x8e, 0xb9, 0x14, 0xed, 0x2d, 0x85, 0x5d, 0xa0, 0xff, 0x41, 0x7b, 0xe9, 0xa1, - 0xe0, 0xcc, 0x70, 0x38, 0xc3, 0xe5, 0x90, 0xdc, 0x38, 0xbe, 0x08, 0xe2, 0xcc, 0xfb, 0xf8, 0xbd, - 0x37, 0x33, 0xef, 0x0b, 0x0b, 0xeb, 0x01, 0x72, 0x90, 0xd7, 0x41, 0x96, 0x6f, 0x05, 0xc8, 0x76, - 0x71, 0xe7, 0x64, 0xb7, 0x83, 0xcf, 0xda, 0xe3, 0xc0, 0xc7, 0xbe, 0xae, 0x93, 0xcd, 0x36, 0xdf, - 0x6c, 0x9f, 0xec, 0x1a, 0x4d, 0xcb, 0x0f, 0x47, 0x7e, 0xd8, 0x19, 0x98, 0x21, 0xea, 0x9c, 0xec, - 0x0e, 0x10, 0x36, 0x77, 0x3b, 0x96, 0xef, 0x7a, 0x94, 0xc7, 0x78, 0x93, 0xed, 0x8f, 0x42, 0x27, - 0x92, 0x35, 0x0a, 0x1d, 0xb6, 0x71, 0xd9, 0xf1, 0x1d, 0x9f, 0xfc, 0xdb, 0x89, 0xfe, 0x63, 0xab, - 0x9b, 0x8e, 0xef, 0x3b, 0x43, 0xd4, 0x21, 0x5f, 0x83, 0xc9, 0xd3, 0x0e, 0x76, 0x47, 0x28, 0xc4, - 0xe6, 0x68, 0xcc, 0x08, 0x9a, 0x19, 0x00, 0x43, 0x6c, 0x62, 0x94, 0xb3, 0x8f, 0x9f, 0x8f, 0x51, - 0x48, 0xf7, 0x5b, 0x9f, 0x69, 0x70, 0xa1, 0x1b, 0x3a, 0xfb, 0xb6, 0x7d, 0x48, 0xf6, 0x9f, 0x3c, - 0x1f, 0x23, 0xfd, 0x2a, 0x2c, 0x99, 0x13, 0x7c, 0xec, 0x07, 0x2e, 0x7e, 0xde, 0xd0, 0xb6, 0xb4, - 0x9d, 0xa5, 0x5e, 0xb2, 0xa0, 0x3f, 0x80, 0x3a, 0x95, 0xd5, 0x8f, 0x04, 0x35, 0x2a, 0x5b, 0xda, - 0x4e, 0x7d, 0xaf, 0xd9, 0x9e, 0x76, 0x46, 0x3b, 0x11, 0xd9, 0x03, 0x8b, 0xff, 0x7f, 0x7f, 0xf5, - 0x57, 0xff, 0xfe, 0xd3, 0xad, 0x44, 0x60, 0xcb, 0x80, 0x46, 0x1a, 0x42, 0x0f, 0x85, 0x63, 0xdf, - 0x0b, 0x51, 0xeb, 0xaf, 0x1a, 0xac, 0x76, 0x43, 0xe7, 0x30, 0x40, 0x26, 0x46, 0x87, 0x43, 0x33, - 0x0c, 0xf5, 0xcb, 0x30, 0x67, 0xda, 0x23, 0xd7, 0x63, 0xc8, 0xe8, 0x87, 0xde, 0x80, 0x05, 0x37, - 0x0c, 0x27, 0x28, 0x08, 0x1b, 0x95, 0xad, 0xea, 0xce, 0x52, 0x2f, 0xfe, 0xd4, 0x0d, 0x58, 0x1c, - 0x21, 0x6c, 0xda, 0x26, 0x36, 0x1b, 0x55, 0xc2, 0xc2, 0xbf, 0xf5, 0xdb, 0xa0, 0x0b, 0xb6, 0xf4, - 0xcd, 0xc1, 0x20, 0x40, 0x27, 0x8d, 0x1a, 0xa1, 0xba, 0x90, 0x40, 0xde, 0x27, 0xeb, 0xfa, 0xdb, - 0x50, 0x7d, 0x8a, 0x50, 0x63, 0x8e, 0x58, 0x7c, 0xa5, 0x4d, 0x8f, 0xb2, 0x1d, 0x1d, 0x75, 0x9b, - 0x1d, 0x75, 0xfb, 0xd0, 0x77, 0xbd, 0x5e, 0x44, 0x75, 0x1f, 0x22, 0x2b, 0x29, 0xb8, 0xd6, 0x3b, - 0xb0, 0x26, 0x1b, 0x11, 0xdb, 0xa7, 0x5f, 0x81, 0x45, 0x2b, 0x5a, 0xe8, 0xbb, 0x36, 0xb3, 0x67, - 0x81, 0x7c, 0x1f, 0xd9, 0xad, 0x3f, 0xd3, 0xa3, 0xa1, 0x5c, 0x1f, 0x06, 0xfe, 0x33, 0x64, 0x61, - 0x85, 0xf1, 0xa2, 0x94, 0x8a, 0x24, 0x25, 0xd7, 0xfa, 0x16, 0x2c, 0x3f, 0x9b, 0x04, 0x6e, 0x68, - 0xbb, 0x16, 0x76, 0x7d, 0x8f, 0xd9, 0x2d, 0xad, 0xe9, 0xd7, 0x60, 0x39, 0x40, 0x4f, 0x51, 0x80, - 0x3c, 0x0b, 0x45, 0xe2, 0xe7, 0x08, 0x4d, 0x9d, 0xaf, 0x1d, 0xd9, 0x92, 0xa5, 0xf7, 0xc8, 0x59, - 0x4a, 0x98, 0xb9, 0xad, 0x1b, 0x00, 0x63, 0xba, 0x94, 0x58, 0xbb, 0xc4, 0x56, 0x8e, 0xec, 0xd6, - 0x1f, 0x35, 0xb8, 0xca, 0x79, 0x3f, 0xf2, 0x02, 0xe4, 0xb8, 0x21, 0x46, 0x01, 0xb2, 0x63, 0xdb, - 0x1b, 0xb0, 0x60, 0x45, 0x9b, 0x7e, 0xc0, 0x5d, 0x45, 0x3f, 0x25, 0x23, 0x2b, 0x05, 0x46, 0x56, - 0x4b, 0x18, 0x59, 0x9b, 0x36, 0x72, 0x39, 0x32, 0x32, 0x56, 0xd8, 0x7a, 0x08, 0x37, 0xf2, 0xa0, - 0x96, 0x35, 0xf9, 0x2f, 0x1a, 0x5c, 0xe9, 0x86, 0xce, 0xe3, 0xc9, 0x60, 0xe4, 0x62, 0x72, 0x31, - 0xf6, 0xc7, 0xe3, 0xa1, 0x6b, 0x99, 0x04, 0xd5, 0x75, 0x58, 0x89, 0x99, 0xc5, 0x33, 0x5f, 0x66, - 0x8b, 0xfb, 0xe4, 0xe8, 0x65, 0x0d, 0x95, 0x94, 0x06, 0xe9, 0x66, 0x54, 0xe5, 0x9b, 0xb1, 0x06, - 0xf3, 0xf4, 0x89, 0x30, 0x73, 0xd9, 0x97, 0xe4, 0xcc, 0x39, 0xd9, 0x99, 0xf7, 0xf5, 0xc8, 0x0b, - 0x32, 0xaa, 0xd6, 0xfb, 0x70, 0x4d, 0x69, 0x03, 0x77, 0xc4, 0x36, 0xac, 0x9a, 0xc9, 0x72, 0xec, - 0x8c, 0x5a, 0x6f, 0x45, 0x58, 0x3d, 0xb2, 0x5b, 0xbf, 0xa5, 0x0e, 0xf9, 0x68, 0x6c, 0xc7, 0x2f, - 0x65, 0x66, 0x87, 0x4c, 0x6b, 0xaa, 0x64, 0x68, 0xca, 0x7b, 0x17, 0x99, 0x56, 0x5e, 0x27, 0x56, - 0x66, 0x03, 0xe3, 0xd1, 0xea, 0x97, 0xb0, 0xde, 0x0d, 0x9d, 0x8f, 0x5d, 0x7c, 0x6c, 0x07, 0xe6, - 0xe9, 0xeb, 0xc4, 0x9f, 0x89, 0x71, 0x1b, 0xae, 0xe7, 0xa8, 0xe7, 0x28, 0xbf, 0xd0, 0x08, 0xcc, - 0x87, 0x27, 0xe6, 0x70, 0x92, 0xe5, 0xe6, 0xe4, 0x62, 0x68, 0xd2, 0xc5, 0x28, 0xe9, 0xd9, 0x87, - 0x00, 0x88, 0x8a, 0x8e, 0x9f, 0xdb, 0xea, 0xde, 0x76, 0x56, 0x7a, 0x10, 0x74, 0x3e, 0xc6, 0x26, - 0x9e, 0x84, 0x3d, 0x81, 0x31, 0x42, 0x11, 0x20, 0x33, 0xe4, 0x61, 0x89, 0x7d, 0xdd, 0xaf, 0x47, - 0x86, 0x33, 0x48, 0xcc, 0x62, 0x95, 0x25, 0xdc, 0xe2, 0xff, 0x55, 0x84, 0x2c, 0x72, 0x60, 0x62, - 0xeb, 0x58, 0x69, 0x64, 0xc1, 0x7b, 0xfa, 0x3e, 0x2c, 0x46, 0x84, 0xa6, 0x67, 0xa1, 0x46, 0x75, - 0xab, 0xba, 0x53, 0xdf, 0xbb, 0x96, 0x65, 0x1a, 0xd1, 0x71, 0xc4, 0x08, 0x7b, 0x9c, 0x45, 0xba, - 0x75, 0xb5, 0x54, 0xa0, 0x7a, 0x00, 0x10, 0x62, 0x33, 0xc0, 0xfd, 0xe8, 0x8a, 0xb1, 0x24, 0x63, - 0xb4, 0x69, 0x01, 0xd0, 0x8e, 0x0b, 0x80, 0xf6, 0x93, 0xb8, 0x00, 0x38, 0xa8, 0x7d, 0xfe, 0xd5, - 0xa6, 0xd6, 0x5b, 0x22, 0x3c, 0xef, 0x99, 0x18, 0xe9, 0xdf, 0x83, 0x45, 0xe4, 0xd9, 0x94, 0x7d, - 0xbe, 0x24, 0xfb, 0x02, 0xf2, 0x6c, 0xc2, 0xac, 0x43, 0xcd, 0x1f, 0x23, 0xaf, 0xb1, 0xb0, 0xa5, - 0xed, 0x2c, 0xf6, 0xc8, 0xff, 0xfa, 0x3d, 0x58, 0xf2, 0x03, 0xd7, 0x71, 0xbd, 0x3e, 0x3e, 0x6b, - 0x2c, 0x12, 0x89, 0x57, 0xb3, 0xac, 0xfd, 0x11, 0x21, 0x7a, 0x72, 0xd6, 0x5b, 0xf4, 0xd9, 0x7f, - 0xf2, 0x29, 0xdd, 0x13, 0xd2, 0x1f, 0xf1, 0x0c, 0x0f, 0x0b, 0x9b, 0x50, 0x1f, 0x44, 0x0b, 0x7d, - 0x1b, 0x79, 0xfe, 0x88, 0x1d, 0x05, 0x90, 0xa5, 0xf7, 0xa2, 0x95, 0xd6, 0xdf, 0x34, 0xb8, 0xd4, - 0x0d, 0x9d, 0xae, 0xeb, 0x61, 0xc2, 0x49, 0x4b, 0x84, 0x50, 0x79, 0x7c, 0x29, 0x81, 0x95, 0xb4, - 0xc0, 0x57, 0x3d, 0x40, 0xc9, 0x25, 0xb5, 0xaf, 0xef, 0x92, 0x0d, 0xf2, 0x04, 0xd3, 0x66, 0xf1, - 0x0b, 0xfb, 0x04, 0x96, 0xa3, 0x98, 0x8a, 0xcc, 0x61, 0xfe, 0x6d, 0x2d, 0x32, 0x57, 0x56, 0xba, - 0x06, 0x97, 0x45, 0xa9, 0x5c, 0xdb, 0x7f, 0x2a, 0xb0, 0x40, 0x36, 0x3c, 0x92, 0x15, 0x42, 0xe4, - 0xd9, 0x89, 0x26, 0xfa, 0x15, 0xd5, 0x84, 0x01, 0xb2, 0xdc, 0xb1, 0x8b, 0x3c, 0x1c, 0x3f, 0x0b, - 0xbe, 0xa0, 0xef, 0x93, 0xd4, 0x1c, 0x99, 0xc0, 0x9c, 0x7a, 0x33, 0xcb, 0x29, 0x4c, 0x47, 0x3b, - 0xfa, 0x13, 0x5b, 0x1c, 0xf3, 0x19, 0xff, 0xd2, 0xa0, 0x2e, 0x6c, 0x14, 0x5e, 0x0d, 0xfd, 0x26, - 0x9c, 0xc7, 0x81, 0x69, 0x9b, 0x83, 0x21, 0xea, 0x9b, 0x23, 0x7f, 0xc2, 0x71, 0xad, 0xc6, 0xcb, - 0xfb, 0x64, 0x35, 0x8a, 0x5b, 0x01, 0xc2, 0x6e, 0x80, 0xec, 0x98, 0x8e, 0x06, 0xfc, 0x15, 0xb6, - 0xca, 0xc8, 0xee, 0xc2, 0x9b, 0x74, 0x61, 0x84, 0x3c, 0xdc, 0xcf, 0x28, 0x8c, 0xd6, 0x92, 0xed, - 0xf7, 0xc5, 0xea, 0xe1, 0x6d, 0xb8, 0x28, 0x30, 0xb2, 0xa0, 0x45, 0x33, 0xe7, 0x85, 0x64, 0xa3, - 0x27, 0x86, 0x2f, 0xea, 0xd4, 0xd6, 0x45, 0x38, 0xcf, 0x7c, 0xc2, 0xcf, 0xe2, 0x0f, 0x1a, 0x2c, - 0x75, 0x43, 0xa7, 0x47, 0xf8, 0xa2, 0x72, 0xcf, 0x3f, 0xf5, 0xf8, 0x61, 0xd0, 0x0f, 0xfd, 0xdd, - 0xc4, 0xdb, 0x15, 0xe2, 0xed, 0x75, 0x75, 0xf5, 0x9d, 0x78, 0xb8, 0x54, 0x25, 0xa4, 0x8a, 0xba, - 0xb4, 0xc6, 0x23, 0xea, 0x5b, 0x97, 0xe0, 0x22, 0x47, 0xc8, 0x71, 0xff, 0x82, 0xc0, 0x3e, 0x8c, - 0x1e, 0xc9, 0xf0, 0x9b, 0x85, 0x9d, 0x40, 0xaa, 0x16, 0x40, 0xa2, 0xda, 0x39, 0x24, 0x9f, 0x84, - 0x0e, 0x31, 0x65, 0x93, 0x04, 0x3b, 0x73, 0x09, 0xbd, 0x0e, 0x4b, 0x1e, 0x3a, 0x65, 0x29, 0x9b, - 0xd5, 0x0a, 0x1e, 0x3a, 0x25, 0xd2, 0xa4, 0xe2, 0x97, 0x3e, 0xea, 0xb4, 0x42, 0x8e, 0xe7, 0xf7, - 0x1a, 0xbc, 0x21, 0xef, 0x1f, 0xb1, 0x16, 0x65, 0x66, 0x48, 0x9b, 0x50, 0x37, 0x6d, 0xbb, 0x1f, - 0x77, 0x3c, 0x55, 0xd2, 0xf1, 0x80, 0x69, 0xdb, 0xb1, 0x44, 0x72, 0xe7, 0x47, 0xfe, 0x09, 0xe2, - 0x34, 0x35, 0x42, 0xb3, 0x42, 0x57, 0x19, 0x99, 0x84, 0x7e, 0x13, 0x36, 0x32, 0xd1, 0x71, 0xfc, - 0x67, 0x24, 0x8c, 0x0b, 0x04, 0xdd, 0x38, 0x75, 0xcd, 0x8c, 0xff, 0x1a, 0x2c, 0x47, 0x2e, 0x4d, - 0x55, 0x60, 0x75, 0x0f, 0x9d, 0xc6, 0x32, 0x25, 0x68, 0x5b, 0xd0, 0xcc, 0xd6, 0xcc, 0xb1, 0x4d, - 0x04, 0xd7, 0x7e, 0x28, 0x96, 0x53, 0xd9, 0xd0, 0x0a, 0xb2, 0x7c, 0xe9, 0x13, 0x17, 0x7d, 0x26, - 0xaa, 0xe5, 0xb8, 0x3e, 0x25, 0xfd, 0x90, 0x44, 0x50, 0xe0, 0xb5, 0x02, 0x68, 0x33, 0x7a, 0xae, - 0x05, 0x5b, 0x2a, 0xfd, 0x1c, 0xe3, 0xef, 0x68, 0xc8, 0x39, 0x08, 0x5c, 0xdb, 0x51, 0x85, 0x9c, - 0x35, 0x98, 0xc7, 0x66, 0xe0, 0xa0, 0x38, 0xc6, 0xb2, 0x2f, 0x39, 0x2d, 0x54, 0xd3, 0x69, 0x41, - 0x78, 0xf1, 0xb5, 0xf2, 0x2f, 0x5e, 0x7a, 0xd9, 0x9f, 0x69, 0xc2, 0xad, 0x23, 0x69, 0x8b, 0xfb, - 0xef, 0x6b, 0xd7, 0x00, 0x25, 0x7c, 0x28, 0xe5, 0x4d, 0xf1, 0xfa, 0x49, 0x10, 0xb8, 0x0b, 0x69, - 0xfc, 0xa1, 0x1e, 0xe4, 0x8b, 0x5f, 0xd5, 0x48, 0x03, 0x1f, 0xaf, 0x5a, 0xc8, 0x3d, 0x41, 0x4a, - 0xd0, 0x39, 0x8f, 0xe5, 0x11, 0x2c, 0xb0, 0xf3, 0x27, 0x48, 0xeb, 0x7b, 0xb7, 0x15, 0xc9, 0x55, - 0xd2, 0xd4, 0x8e, 0x7b, 0xd1, 0x98, 0x59, 0xff, 0x01, 0xcc, 0x11, 0x27, 0xb0, 0xba, 0xe5, 0x56, - 0x29, 0x29, 0xb4, 0x52, 0xa0, 0x8c, 0x72, 0xf5, 0x33, 0x37, 0x4b, 0xf5, 0x63, 0xfc, 0x5d, 0x83, - 0x39, 0x5a, 0xcb, 0x48, 0x57, 0x46, 0x4b, 0x5f, 0x99, 0x35, 0x98, 0x97, 0x92, 0x39, 0xfb, 0x4a, - 0x55, 0xc7, 0xd5, 0x57, 0xab, 0x8e, 0x6b, 0xb3, 0x56, 0xc7, 0x39, 0x3d, 0xb1, 0x31, 0x84, 0x85, - 0x78, 0x42, 0x91, 0x9e, 0x23, 0x68, 0x53, 0x73, 0x84, 0xa9, 0x24, 0x5c, 0xc9, 0x48, 0xc2, 0x79, - 0xbd, 0xa9, 0x74, 0x31, 0x3f, 0x21, 0xd1, 0x45, 0x3a, 0xb0, 0xd2, 0xa5, 0x75, 0x41, 0xa0, 0x69, - 0xfd, 0x04, 0x74, 0x36, 0x95, 0x8b, 0xae, 0xe1, 0x21, 0x9b, 0xb4, 0xe4, 0x8f, 0x06, 0x85, 0x09, - 0x4d, 0x45, 0x9a, 0xd0, 0x4c, 0xcd, 0xfc, 0xae, 0x82, 0x31, 0x2d, 0x9d, 0xbf, 0x1c, 0x44, 0x12, - 0xe9, 0x63, 0x84, 0xc5, 0xdd, 0xfd, 0xe1, 0xd0, 0x3f, 0x1d, 0xba, 0x21, 0x2e, 0x06, 0x81, 0xbc, - 0xa8, 0xfc, 0xa3, 0x46, 0x2d, 0xf6, 0xe2, 0xcf, 0x29, 0x10, 0xb4, 0x7b, 0x54, 0xa9, 0xe1, 0x68, - 0xfa, 0x24, 0xb7, 0xf4, 0x48, 0xe2, 0x7c, 0x2d, 0xce, 0xa0, 0x59, 0x64, 0x5a, 0x01, 0x47, 0xe0, - 0x91, 0xf0, 0x22, 0xe4, 0xbf, 0x47, 0xa8, 0x68, 0x4a, 0xcb, 0x66, 0x95, 0x95, 0x52, 0xb3, 0xca, - 0x34, 0xa0, 0xf5, 0xf4, 0x14, 0xe6, 0x11, 0x4a, 0xc2, 0x9a, 0x13, 0x8f, 0x6b, 0x89, 0xa7, 0x90, - 0x4d, 0xaf, 0xdf, 0xe1, 0xb1, 0xe9, 0x7a, 0x05, 0x98, 0x36, 0x00, 0xac, 0x88, 0xac, 0xef, 0x99, - 0x23, 0x14, 0xdf, 0x38, 0xb2, 0xf2, 0x81, 0x39, 0x9a, 0x46, 0x41, 0x73, 0x57, 0xa6, 0x22, 0x0e, - 0xe6, 0x19, 0xb9, 0x29, 0xd4, 0x75, 0xaf, 0x1b, 0x0f, 0xbd, 0x2e, 0x2a, 0x5d, 0x1c, 0x92, 0x45, - 0x7a, 0xb7, 0x83, 0x49, 0xe0, 0xf5, 0xa2, 0xc8, 0x18, 0x45, 0xb4, 0xc1, 0x24, 0x48, 0x32, 0x2a, - 0xfb, 0x52, 0x46, 0x3a, 0x55, 0xbd, 0x4b, 0x5f, 0x3e, 0x65, 0x66, 0xad, 0x1c, 0x57, 0x12, 0x2b, - 0xdf, 0xfb, 0x6f, 0x03, 0xaa, 0xdd, 0xd0, 0xd1, 0x7f, 0x0a, 0x75, 0x71, 0x66, 0xde, 0x52, 0xc4, - 0x7a, 0x81, 0xc6, 0xb8, 0x55, 0x4c, 0xc3, 0x83, 0x8b, 0x05, 0x2b, 0xf2, 0x5c, 0xfa, 0x46, 0x2e, - 0x33, 0xa3, 0x32, 0x6e, 0x97, 0xa1, 0xe2, 0x4a, 0x7e, 0xa3, 0xc1, 0x15, 0xf5, 0x34, 0xf8, 0xdb, - 0xb9, 0xb2, 0x32, 0x38, 0x8c, 0xef, 0xce, 0xca, 0xc1, 0x91, 0x7c, 0x0a, 0x6b, 0x8a, 0x19, 0xed, - 0x1d, 0x55, 0x9f, 0x9b, 0x49, 0x6e, 0xbc, 0x3b, 0x13, 0xb9, 0xa8, 0x5f, 0x31, 0x12, 0x55, 0xe9, - 0xcf, 0x26, 0x57, 0xea, 0xcf, 0x9f, 0x6b, 0xea, 0xbf, 0xd6, 0xa0, 0xa1, 0x9c, 0x6a, 0x76, 0x14, - 0x32, 0x55, 0x0c, 0xc6, 0xdd, 0x19, 0x19, 0x24, 0x18, 0xca, 0xa9, 0xa5, 0x0a, 0x86, 0x8a, 0x41, - 0x09, 0xa3, 0x68, 0x9a, 0x98, 0xbc, 0x2d, 0x5a, 0xcf, 0xe4, 0xbf, 0x2d, 0x42, 0x53, 0xf0, 0xb6, - 0xe4, 0x99, 0xd8, 0x10, 0x2e, 0x4c, 0x8d, 0xbb, 0x54, 0xe3, 0x94, 0x34, 0xa1, 0xd1, 0x29, 0x49, - 0xc8, 0xb5, 0x7d, 0x0c, 0x4b, 0xc9, 0x98, 0x69, 0x4b, 0x39, 0xb5, 0x61, 0x14, 0xc6, 0x4e, 0x11, - 0x05, 0x17, 0xfc, 0x43, 0xa8, 0x91, 0x81, 0xd2, 0x7a, 0xce, 0x24, 0xc8, 0xb8, 0x9e, 0xb3, 0xc9, - 0x25, 0x7d, 0x00, 0xf3, 0x6c, 0x1c, 0xb2, 0xa1, 0x20, 0xa7, 0xdb, 0xc6, 0x76, 0xee, 0xb6, 0x28, - 0x8f, 0xcd, 0x29, 0x54, 0xf2, 0xe8, 0xb6, 0x52, 0x9e, 0x3c, 0x67, 0x88, 0x0e, 0x6c, 0x6a, 0xc8, - 0x70, 0xb3, 0xc4, 0x43, 0x8b, 0x08, 0x95, 0x07, 0xa6, 0x9a, 0x22, 0xe8, 0x01, 0xe8, 0x19, 0x13, - 0x84, 0xb7, 0x8a, 0xc5, 0x30, 0x52, 0x63, 0xb7, 0x34, 0x29, 0xd7, 0x39, 0x81, 0x4b, 0x59, 0x6d, - 0xff, 0xad, 0x62, 0x49, 0x31, 0xad, 0xb1, 0x57, 0x9e, 0x76, 0xda, 0x54, 0xa9, 0xa3, 0xcf, 0x37, - 0x55, 0x24, 0x2d, 0x30, 0x35, 0xab, 0x61, 0xd7, 0x7f, 0x0e, 0x6f, 0x64, 0x77, 0xeb, 0xb7, 0xcb, - 0xc8, 0xe2, 0xe6, 0x7e, 0x67, 0x16, 0xea, 0x69, 0x3f, 0xcb, 0x8d, 0x6e, 0xbe, 0x9f, 0x25, 0xda, - 0x02, 0x3f, 0x67, 0x76, 0xaf, 0xd1, 0x83, 0x60, 0xcd, 0xff, 0x46, 0x6e, 0x4f, 0xa8, 0x7c, 0x10, - 0x72, 0xe3, 0x1b, 0x55, 0x07, 0x72, 0xd3, 0x7b, 0xa3, 0x4c, 0xab, 0x69, 0x94, 0x6a, 0x6b, 0x45, - 0x25, 0xf2, 0xaf, 0x16, 0x54, 0x4a, 0x24, 0x2a, 0xa5, 0x92, 0xcc, 0x9f, 0x1f, 0x90, 0x8c, 0xa3, - 0x6c, 0x43, 0x3a, 0xca, 0xe0, 0x95, 0xcd, 0xa0, 0xcc, 0x38, 0x45, 0x1d, 0x88, 0xee, 0xc2, 0xf9, - 0x74, 0x23, 0xf6, 0xad, 0x1c, 0x3b, 0x04, 0x3a, 0xa3, 0x5d, 0x8e, 0x4e, 0x7c, 0x73, 0x19, 0x9d, - 0xce, 0x5b, 0xca, 0xc8, 0x9a, 0x26, 0x55, 0xbe, 0x39, 0x75, 0x7b, 0xa3, 0x3f, 0x85, 0xd5, 0x54, - 0x6f, 0xb3, 0x5d, 0x1c, 0x2d, 0x1e, 0x21, 0x64, 0xdc, 0x29, 0x45, 0x26, 0xbe, 0xed, 0xec, 0xb6, - 0x25, 0xe7, 0x52, 0x4c, 0x53, 0x2b, 0xdf, 0x76, 0x6e, 0xa7, 0x42, 0xae, 0x92, 0xb2, 0x4f, 0xe9, - 0xe4, 0x3a, 0x2d, 0x03, 0xc3, 0xdd, 0x19, 0x19, 0xc4, 0x7c, 0x9f, 0xb4, 0x26, 0xaa, 0x7c, 0xcf, - 0x29, 0x94, 0xf9, 0x7e, 0xaa, 0xf3, 0x38, 0xf8, 0xf1, 0x17, 0x2f, 0x9a, 0xda, 0x97, 0x2f, 0x9a, - 0xda, 0x3f, 0x5f, 0x34, 0xb5, 0xcf, 0x5f, 0x36, 0xcf, 0x7d, 0xf9, 0xb2, 0x79, 0xee, 0x1f, 0x2f, - 0x9b, 0xe7, 0x3e, 0x79, 0xe0, 0xb8, 0xf8, 0x78, 0x32, 0x68, 0x5b, 0xfe, 0xa8, 0x43, 0xa4, 0xdd, - 0xf1, 0x10, 0x3e, 0xf5, 0x83, 0x9f, 0xb1, 0xaf, 0x21, 0xb2, 0x1d, 0x14, 0x74, 0xce, 0x84, 0x5f, - 0x29, 0x91, 0x9f, 0x4f, 0x91, 0xdf, 0x29, 0x75, 0x4e, 0x76, 0x07, 0xf3, 0x64, 0x40, 0xf3, 0xce, - 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x94, 0xfa, 0x89, 0x8e, 0x25, 0x00, 0x00, + // 2171 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x4f, 0xcf, 0x8c, 0x3f, 0xe6, 0x8d, 0xed, 0x24, 0x9d, 0xac, 0x33, 0x69, 0xc7, 0x63, 0x67, + 0x92, 0x6c, 0x9c, 0x8f, 0x9d, 0xc1, 0x0e, 0x28, 0x24, 0x08, 0x05, 0xdb, 0xbb, 0x11, 0x46, 0x9a, + 0x05, 0x75, 0xb2, 0x5a, 0xb1, 0x02, 0x8d, 0x7a, 0xba, 0x2b, 0xed, 0x0e, 0x33, 0xdd, 0xa3, 0xee, + 0x1a, 0xdb, 0x11, 0x08, 0x69, 0x11, 0x12, 0xd7, 0x3d, 0x23, 0x0e, 0x48, 0x48, 0x9c, 0x11, 0xff, + 0x02, 0x17, 0xb8, 0x2d, 0x07, 0x04, 0xb7, 0x45, 0x09, 0x12, 0xff, 0x01, 0x27, 0x0e, 0xa8, 0xab, + 0xaa, 0xab, 0xab, 0x66, 0xba, 0xba, 0x7b, 0x76, 0xc9, 0xc5, 0xea, 0xaa, 0x7a, 0xf5, 0xde, 0xef, + 0xbd, 0x7a, 0xf5, 0x3e, 0xca, 0x03, 0x1b, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, 0xc8, + 0xf1, 0x70, 0xf7, 0x64, 0xb7, 0x8b, 0xcf, 0x3a, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xc5, 0x0e, + 0x5f, 0xec, 0x9c, 0xec, 0x1a, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, 0x9e, + 0xec, 0x0e, 0x10, 0xb6, 0x76, 0xbb, 0x76, 0xe0, 0xf9, 0x74, 0x8f, 0x71, 0x85, 0xad, 0x8f, 0x22, + 0x37, 0xe6, 0x35, 0x8a, 0x5c, 0xb6, 0x70, 0xd9, 0x0d, 0xdc, 0x80, 0x7c, 0x76, 0xe3, 0x2f, 0x36, + 0xbb, 0xe5, 0x06, 0x81, 0x3b, 0x44, 0x5d, 0x32, 0x1a, 0x4c, 0x5e, 0x74, 0xb1, 0x37, 0x42, 0x11, + 0xb6, 0x46, 0x63, 0x46, 0xd0, 0xca, 0x00, 0x18, 0x61, 0x0b, 0xa3, 0x9c, 0x75, 0xfc, 0x6a, 0x8c, + 0x22, 0xba, 0xde, 0xfe, 0x54, 0x83, 0x0b, 0xbd, 0xc8, 0xdd, 0x77, 0x9c, 0x43, 0xb2, 0xfe, 0xfc, + 0xd5, 0x18, 0xe9, 0xd7, 0xa0, 0x6e, 0x4d, 0xf0, 0x71, 0x10, 0x7a, 0xf8, 0x55, 0x53, 0xdb, 0xd6, + 0x76, 0xea, 0x66, 0x3a, 0xa1, 0x3f, 0x81, 0x06, 0xe5, 0xd5, 0x8f, 0x19, 0x35, 0x2b, 0xdb, 0xda, + 0x4e, 0x63, 0xaf, 0xd5, 0x99, 0x35, 0x46, 0x27, 0x65, 0x69, 0x82, 0xcd, 0xbf, 0x1f, 0xaf, 0xfd, + 0xe2, 0xdf, 0x7f, 0xb8, 0x9b, 0x32, 0x6c, 0x1b, 0xd0, 0x9c, 0x86, 0x60, 0xa2, 0x68, 0x1c, 0xf8, + 0x11, 0x6a, 0xff, 0x49, 0x83, 0xb5, 0x5e, 0xe4, 0x1e, 0x86, 0xc8, 0xc2, 0xe8, 0x70, 0x68, 0x45, + 0x91, 0x7e, 0x19, 0x16, 0x2c, 0x67, 0xe4, 0xf9, 0x0c, 0x19, 0x1d, 0xe8, 0x4d, 0x58, 0xf2, 0xa2, + 0x68, 0x82, 0xc2, 0xa8, 0x59, 0xd9, 0xae, 0xee, 0xd4, 0xcd, 0x64, 0xa8, 0x1b, 0xb0, 0x3c, 0x42, + 0xd8, 0x72, 0x2c, 0x6c, 0x35, 0xab, 0x64, 0x0b, 0x1f, 0xeb, 0xf7, 0x41, 0x17, 0x74, 0xe9, 0x5b, + 0x83, 0x41, 0x88, 0x4e, 0x9a, 0x35, 0x42, 0x75, 0x21, 0x85, 0xbc, 0x4f, 0xe6, 0xf5, 0x7b, 0x50, + 0x7d, 0x81, 0x50, 0x73, 0x81, 0x68, 0x7c, 0xb5, 0x43, 0x8f, 0xb2, 0x13, 0x1f, 0x75, 0x87, 0x1d, + 0x75, 0xe7, 0x30, 0xf0, 0x7c, 0x33, 0xa6, 0x7a, 0x0c, 0xb1, 0x96, 0x14, 0x5c, 0xfb, 0x01, 0xac, + 0xcb, 0x4a, 0x24, 0xfa, 0xe9, 0x57, 0x61, 0xd9, 0x8e, 0x27, 0xfa, 0x9e, 0xc3, 0xf4, 0x59, 0x22, + 0xe3, 0x23, 0xa7, 0xfd, 0x47, 0x7a, 0x34, 0x74, 0xd7, 0x0f, 0xc2, 0xe0, 0x25, 0xb2, 0xb1, 0x42, + 0x79, 0x91, 0x4b, 0x45, 0xe2, 0x92, 0xab, 0x7d, 0x1b, 0x56, 0x5e, 0x4e, 0x42, 0x2f, 0x72, 0x3c, + 0x1b, 0x7b, 0x81, 0xcf, 0xf4, 0x96, 0xe6, 0xf4, 0xeb, 0xb0, 0x12, 0xa2, 0x17, 0x28, 0x44, 0xbe, + 0x8d, 0x62, 0xf6, 0x0b, 0x84, 0xa6, 0xc1, 0xe7, 0x8e, 0x1c, 0x49, 0xd3, 0x47, 0xe4, 0x2c, 0x25, + 0xcc, 0x5c, 0xd7, 0x4d, 0x80, 0x31, 0x9d, 0x4a, 0xb5, 0xad, 0xb3, 0x99, 0x23, 0xa7, 0xfd, 0x3b, + 0x0d, 0xae, 0xf1, 0xbd, 0x1f, 0xf9, 0x21, 0x72, 0xbd, 0x08, 0xa3, 0x10, 0x39, 0xf9, 0xba, 0x8b, + 0x0a, 0x56, 0x0a, 0x14, 0xac, 0x96, 0x50, 0xb0, 0x96, 0xaf, 0xe0, 0x07, 0x70, 0x33, 0x0f, 0x64, + 0x59, 0x65, 0x7f, 0xaf, 0xc1, 0x3b, 0xbd, 0xc8, 0xfd, 0x68, 0xec, 0xa4, 0x86, 0xa2, 0xee, 0x7d, + 0x03, 0x56, 0x93, 0x8d, 0xa2, 0xb6, 0x2b, 0x6c, 0x72, 0x9f, 0x28, 0x2d, 0x73, 0xaf, 0x4c, 0x71, + 0x97, 0xfc, 0xa1, 0xaa, 0xf6, 0x87, 0x9a, 0x6c, 0xae, 0xc7, 0x7a, 0xac, 0xa7, 0x2c, 0xbd, 0xbd, + 0x05, 0x9b, 0x99, 0x38, 0xf9, 0x0d, 0x7d, 0x05, 0x57, 0x7a, 0x91, 0xfb, 0xb1, 0x87, 0x8f, 0x9d, + 0xd0, 0x3a, 0x9d, 0x5f, 0x95, 0x5b, 0xb0, 0x66, 0x8d, 0xc7, 0x43, 0xcf, 0xb6, 0xe2, 0xe3, 0x48, + 0xd4, 0xa9, 0x99, 0xab, 0xc2, 0xec, 0x91, 0x93, 0x89, 0xed, 0x3a, 0x6c, 0x29, 0x44, 0x73, 0x74, + 0x7f, 0xd1, 0x08, 0xbc, 0x0f, 0x4e, 0xac, 0xe1, 0x64, 0xda, 0xd2, 0xeb, 0xb0, 0x48, 0x63, 0x04, + 0xc3, 0xc5, 0x46, 0x25, 0x11, 0xe9, 0x4f, 0x01, 0x10, 0x65, 0x9b, 0xb8, 0xd6, 0xda, 0xde, 0xbb, + 0x59, 0x61, 0x50, 0x14, 0xfa, 0x0c, 0x5b, 0x78, 0x12, 0x99, 0xc2, 0xce, 0xdc, 0x13, 0x69, 0xc4, + 0x5a, 0x33, 0x5c, 0x4c, 0xdd, 0x2c, 0x55, 0xb8, 0xba, 0xff, 0xad, 0x08, 0xe1, 0xf2, 0xc0, 0xc2, + 0xf6, 0xb1, 0x52, 0xcb, 0x02, 0x17, 0xfa, 0x36, 0x2c, 0xc7, 0x84, 0x96, 0x6f, 0xa3, 0x66, 0x75, + 0xbb, 0xba, 0xd3, 0xd8, 0xbb, 0x9e, 0xa5, 0x1b, 0x91, 0x71, 0xc4, 0x08, 0x4d, 0xbe, 0x25, 0x4f, + 0x29, 0xfd, 0x09, 0x40, 0x84, 0xad, 0x10, 0xf7, 0x63, 0x9f, 0x62, 0xd1, 0xd4, 0xe8, 0xd0, 0x4c, + 0xd7, 0x49, 0x32, 0x5d, 0xe7, 0x79, 0x92, 0xe9, 0x0e, 0x6a, 0x9f, 0x7d, 0xb1, 0xa5, 0x99, 0x75, + 0xb2, 0xe7, 0x7d, 0x0b, 0x23, 0xfd, 0x5b, 0xb0, 0x8c, 0x7c, 0x87, 0x6e, 0x5f, 0x2c, 0xb9, 0x7d, + 0x09, 0xf9, 0x0e, 0xd9, 0xac, 0x43, 0x2d, 0x18, 0x23, 0xbf, 0xb9, 0xb4, 0xad, 0xed, 0x2c, 0x9b, + 0xe4, 0x5b, 0x7f, 0x04, 0xf5, 0x20, 0xf4, 0x5c, 0xcf, 0xef, 0xe3, 0xb3, 0xe6, 0x32, 0xe1, 0x78, + 0x2d, 0x4b, 0xdb, 0xef, 0x13, 0xa2, 0xe7, 0x67, 0xe6, 0x72, 0xc0, 0xbe, 0xe4, 0x13, 0x7a, 0x24, + 0xc4, 0x79, 0x62, 0x19, 0x1e, 0x0e, 0xb6, 0xa0, 0x31, 0x88, 0x27, 0xfa, 0x0e, 0xf2, 0x83, 0x11, + 0x3b, 0x0a, 0x20, 0x53, 0xef, 0xc7, 0x33, 0xed, 0xbf, 0x69, 0x70, 0xa9, 0x17, 0xb9, 0x3d, 0xcf, + 0xc7, 0x64, 0x27, 0xcd, 0x85, 0x6a, 0x27, 0x9d, 0x62, 0x58, 0x99, 0x66, 0xf8, 0x55, 0x0f, 0x50, + 0x32, 0x49, 0xed, 0xcb, 0x9b, 0x64, 0x13, 0x36, 0x32, 0xd4, 0xe2, 0x0e, 0xfb, 0x1c, 0x56, 0x7a, + 0x91, 0xfb, 0x0c, 0x59, 0xc3, 0x7c, 0x6f, 0x2d, 0x52, 0x57, 0x16, 0xba, 0x0e, 0x97, 0x45, 0xae, + 0x5c, 0xda, 0x7f, 0x2a, 0xb0, 0x44, 0x16, 0x7c, 0x27, 0x96, 0x14, 0x21, 0xdf, 0x49, 0x25, 0xd1, + 0x51, 0x5c, 0xfc, 0x84, 0xc8, 0xf6, 0xc6, 0x1e, 0xf2, 0x71, 0x72, 0x2d, 0xf8, 0x84, 0xbe, 0x0f, + 0x4b, 0x54, 0xf7, 0x88, 0x19, 0xf5, 0x76, 0x96, 0x51, 0x98, 0x8c, 0x4e, 0xfc, 0x27, 0xd1, 0x38, + 0xd9, 0x67, 0xfc, 0x4b, 0x83, 0x86, 0xb0, 0x50, 0xe8, 0x1a, 0xfa, 0x6d, 0x38, 0x8f, 0x43, 0xcb, + 0xb1, 0x06, 0x43, 0xd4, 0xb7, 0x46, 0xc1, 0x84, 0xe3, 0x5a, 0x4b, 0xa6, 0xf7, 0xc9, 0x6c, 0x1c, + 0xb8, 0x42, 0x84, 0xbd, 0x10, 0x39, 0x09, 0x1d, 0x0d, 0xfe, 0xab, 0x6c, 0x96, 0x91, 0x3d, 0x84, + 0x2b, 0x74, 0x62, 0x84, 0x7c, 0xdc, 0xcf, 0xa8, 0x00, 0xd6, 0xd3, 0xe5, 0xef, 0x89, 0xa9, 0xf2, + 0x1e, 0x5c, 0x14, 0x36, 0x86, 0xc8, 0x8a, 0x02, 0x9f, 0x15, 0x04, 0x17, 0xd2, 0x05, 0x93, 0xcc, + 0xb3, 0x03, 0xa1, 0x46, 0x6d, 0x5f, 0x84, 0xf3, 0xcc, 0x26, 0xfc, 0x2c, 0x7e, 0xab, 0x41, 0xbd, + 0x17, 0xb9, 0x26, 0xd9, 0x17, 0xe7, 0xf6, 0xe0, 0xd4, 0xe7, 0x87, 0x41, 0x07, 0xfa, 0x37, 0x52, + 0x6b, 0x57, 0x88, 0xb5, 0x37, 0xd4, 0x65, 0x66, 0x6a, 0xe1, 0x52, 0x69, 0x7f, 0x1d, 0x16, 0x99, + 0x02, 0x54, 0x67, 0x36, 0x62, 0xb9, 0x9e, 0x88, 0x6f, 0x5f, 0x82, 0x8b, 0x1c, 0x21, 0xc7, 0xfd, + 0x33, 0x02, 0xfb, 0x30, 0xbe, 0x24, 0xc3, 0xff, 0x2f, 0xec, 0x14, 0x52, 0xb5, 0x00, 0x12, 0x95, + 0xce, 0x21, 0x05, 0x24, 0x74, 0xd0, 0x1c, 0x4d, 0xf2, 0x01, 0xcd, 0xac, 0x73, 0xd7, 0x8a, 0x1b, + 0x50, 0xf7, 0xd1, 0x29, 0xcb, 0xd5, 0xac, 0x58, 0xf4, 0xd1, 0x29, 0xe1, 0x26, 0x15, 0x41, 0xf4, + 0x52, 0x4f, 0x0b, 0xe4, 0x78, 0x7e, 0x23, 0x16, 0x37, 0x64, 0xfd, 0x88, 0xd5, 0xe2, 0x73, 0x43, + 0xda, 0x82, 0x86, 0xe5, 0x38, 0xfd, 0xa4, 0xb4, 0xaf, 0x92, 0xd2, 0x1e, 0x2c, 0xc7, 0x49, 0x38, + 0x12, 0x9f, 0x1f, 0x05, 0x27, 0x88, 0xd3, 0xd4, 0x08, 0xcd, 0x2a, 0x9d, 0x65, 0x64, 0x12, 0x7a, + 0xb1, 0xa4, 0x11, 0xd1, 0x71, 0xfc, 0x67, 0x24, 0x8c, 0x0b, 0x04, 0xbd, 0x24, 0x75, 0xcd, 0x8d, + 0xff, 0x3a, 0xac, 0xc4, 0x26, 0x9d, 0x2a, 0xc1, 0x1b, 0x3e, 0x3a, 0x4d, 0x78, 0x4a, 0xd0, 0xb6, + 0xa1, 0x95, 0x2d, 0x99, 0x63, 0x9b, 0xcc, 0xd6, 0x8d, 0x79, 0xa7, 0x5d, 0x90, 0xe5, 0x4b, 0x9f, + 0x78, 0x46, 0x19, 0x28, 0x9f, 0xf9, 0xcf, 0x49, 0xe1, 0x2f, 0x11, 0x14, 0x58, 0xad, 0x00, 0xda, + 0x9c, 0x96, 0x6b, 0xc3, 0xb6, 0x4a, 0x3e, 0xc7, 0xf8, 0x6b, 0x1a, 0x72, 0x0e, 0x42, 0xcf, 0x71, + 0x55, 0x21, 0x67, 0x1d, 0x16, 0xb1, 0x15, 0xba, 0x28, 0x89, 0xb1, 0x6c, 0x24, 0xa7, 0x85, 0xea, + 0x74, 0x5a, 0x10, 0x6e, 0x7c, 0xad, 0xfc, 0x8d, 0x97, 0x6e, 0xf6, 0xa7, 0x9a, 0xe0, 0x75, 0x24, + 0x6d, 0x71, 0xfb, 0x7d, 0xe9, 0x1a, 0xa0, 0x84, 0x0d, 0xa5, 0xbc, 0x29, 0xba, 0x9f, 0x04, 0x81, + 0x9b, 0x90, 0xc6, 0x1f, 0x6a, 0x41, 0x3e, 0xf9, 0x45, 0x8d, 0x74, 0xaa, 0xc9, 0xac, 0x8d, 0xbc, + 0x13, 0xa4, 0x04, 0x9d, 0x73, 0x59, 0x9e, 0xc2, 0x12, 0x3b, 0x7f, 0x82, 0xb4, 0xb1, 0x77, 0x5f, + 0x91, 0x5c, 0x25, 0x49, 0x49, 0x7d, 0x6d, 0x26, 0x9b, 0xf5, 0xef, 0xc0, 0x02, 0x31, 0x02, 0xab, + 0x5b, 0xee, 0x96, 0xe2, 0x42, 0x2b, 0x05, 0xba, 0x51, 0xae, 0x7e, 0x16, 0xe6, 0xa9, 0x7e, 0x8c, + 0xbf, 0x6b, 0xb0, 0x40, 0x6b, 0x19, 0xc9, 0x65, 0xb4, 0x69, 0x97, 0x59, 0x87, 0x45, 0x29, 0x99, + 0xb3, 0xd1, 0x54, 0x75, 0x5c, 0xfd, 0x6a, 0xd5, 0x71, 0x6d, 0xde, 0xea, 0x58, 0xac, 0xdb, 0x17, + 0xe4, 0xba, 0xdd, 0x18, 0xc2, 0x52, 0xd2, 0x8a, 0x4f, 0x37, 0xcd, 0xda, 0x4c, 0xd3, 0x3c, 0x93, + 0x84, 0x2b, 0x19, 0x49, 0x38, 0xe7, 0x71, 0x42, 0x76, 0xcc, 0x4f, 0x48, 0x74, 0x91, 0x0e, 0xac, + 0x74, 0x69, 0x5d, 0x10, 0x68, 0xda, 0x3f, 0x02, 0x9d, 0x3d, 0x3f, 0xc5, 0x6e, 0x48, 0x8a, 0xf7, + 0x20, 0x2c, 0x78, 0x03, 0x6b, 0x92, 0xfb, 0x1e, 0x13, 0x72, 0x1f, 0xa6, 0xc3, 0x99, 0xc7, 0xad, + 0x6b, 0x60, 0xcc, 0x72, 0xe7, 0x37, 0x07, 0x91, 0x44, 0xfa, 0x0c, 0x61, 0x71, 0x75, 0x7f, 0x38, + 0x0c, 0x4e, 0x87, 0x5e, 0x84, 0x8b, 0x41, 0x20, 0x3f, 0x2e, 0xff, 0xa8, 0x52, 0xcb, 0x66, 0x32, + 0x9c, 0x01, 0x71, 0x0b, 0x6e, 0xe4, 0x88, 0xe1, 0x68, 0xfa, 0x24, 0xb7, 0x98, 0x24, 0x71, 0xbe, + 0x15, 0x63, 0xd0, 0x2c, 0x32, 0x2b, 0x80, 0x23, 0xf0, 0x49, 0x78, 0x11, 0xf2, 0xdf, 0x53, 0x54, + 0xf4, 0x1c, 0xc9, 0x1e, 0xe5, 0x2a, 0xa5, 0x1e, 0xe5, 0xa6, 0x01, 0x6d, 0xc0, 0xd5, 0x19, 0x79, + 0x1c, 0x8c, 0x9b, 0xbc, 0x4b, 0x12, 0x4b, 0x21, 0x87, 0xba, 0xdf, 0xe1, 0xb1, 0xe5, 0xf9, 0x05, + 0x98, 0x36, 0x01, 0xec, 0x98, 0xac, 0xef, 0x5b, 0x23, 0x94, 0x78, 0x1c, 0x99, 0xf9, 0xd0, 0x1a, + 0xcd, 0xa2, 0xa0, 0xb9, 0x2b, 0x53, 0x10, 0x07, 0xf3, 0x92, 0x78, 0x0a, 0x35, 0xdd, 0xdb, 0xc6, + 0x43, 0xdd, 0x45, 0x25, 0x8b, 0x43, 0xb2, 0x49, 0xef, 0x76, 0x30, 0x09, 0x7d, 0x33, 0x8e, 0x8c, + 0x71, 0x44, 0x1b, 0x4c, 0xc2, 0x34, 0xa3, 0xb2, 0x91, 0x32, 0xd2, 0xa9, 0xea, 0x5d, 0x7a, 0xf3, + 0xe9, 0x66, 0xd6, 0xca, 0x71, 0x21, 0x89, 0xf0, 0xbd, 0xbf, 0x5e, 0x81, 0x6a, 0x2f, 0x72, 0xf5, + 0x1f, 0x43, 0x43, 0x7c, 0x1c, 0x6e, 0x2b, 0x62, 0xbd, 0x40, 0x63, 0xdc, 0x2d, 0xa6, 0xe1, 0xc1, + 0xc5, 0x86, 0x55, 0xf9, 0x01, 0xf6, 0x66, 0xee, 0x66, 0x46, 0x65, 0xdc, 0x2f, 0x43, 0xc5, 0x85, + 0xfc, 0x4a, 0x83, 0xab, 0xea, 0x67, 0xcf, 0xaf, 0xe5, 0xf2, 0xca, 0xd8, 0x61, 0x7c, 0x73, 0xde, + 0x1d, 0x1c, 0x49, 0x08, 0x7a, 0xc6, 0x93, 0xe4, 0x1d, 0x05, 0xbf, 0x59, 0x52, 0x63, 0xb7, 0x34, + 0x29, 0x97, 0x79, 0x06, 0x97, 0x33, 0x5f, 0x0f, 0xef, 0x29, 0x58, 0x65, 0x11, 0x1b, 0x0f, 0xe6, + 0x20, 0x16, 0x25, 0x67, 0x3e, 0x0c, 0xaa, 0x24, 0x67, 0x11, 0x2b, 0x25, 0xe7, 0xbd, 0xd3, 0xa5, + 0x5e, 0x4b, 0x2b, 0x85, 0x7c, 0xaf, 0x25, 0x34, 0x05, 0x5e, 0x2b, 0xbf, 0x36, 0x0d, 0xe1, 0xc2, + 0xcc, 0x43, 0x92, 0xea, 0xa1, 0x62, 0x9a, 0xd0, 0xe8, 0x96, 0x24, 0xe4, 0xd2, 0x3e, 0x86, 0x7a, + 0xfa, 0x80, 0xb3, 0xad, 0x7c, 0x0f, 0x61, 0x14, 0xc6, 0x4e, 0x11, 0x05, 0x67, 0xfc, 0x5d, 0xa8, + 0x91, 0xa7, 0x9a, 0x8d, 0x9c, 0x37, 0x16, 0xe3, 0x46, 0xce, 0x22, 0xe7, 0xf4, 0x21, 0x2c, 0xb2, + 0x87, 0x86, 0x4d, 0x05, 0x39, 0x5d, 0x36, 0x6e, 0xe5, 0x2e, 0x8b, 0xfc, 0xd8, 0x0b, 0x80, 0x8a, + 0x1f, 0x5d, 0x56, 0xf2, 0x93, 0x3b, 0xf8, 0xf8, 0xc0, 0x66, 0xda, 0xf7, 0xdb, 0xb9, 0x57, 0x29, + 0x25, 0x54, 0x1e, 0x98, 0xaa, 0x3f, 0x4f, 0x6f, 0xb9, 0xd4, 0x9b, 0xdf, 0x29, 0x66, 0xc3, 0x48, + 0x0b, 0x6e, 0x79, 0x56, 0x4f, 0xad, 0x4f, 0xe0, 0x52, 0x56, 0x43, 0x7d, 0xb7, 0x98, 0x53, 0x42, + 0x6b, 0xec, 0x95, 0xa7, 0x55, 0x06, 0x34, 0x6a, 0xda, 0x52, 0x01, 0x8d, 0x1a, 0x77, 0xb7, 0x34, + 0x29, 0x97, 0xf9, 0x53, 0x78, 0x27, 0xbb, 0x0f, 0xbe, 0x5f, 0x86, 0x17, 0x57, 0xf7, 0xeb, 0xf3, + 0x50, 0xcf, 0xda, 0x59, 0x6e, 0x21, 0xf3, 0xed, 0x2c, 0xd1, 0x16, 0xd8, 0x39, 0xb3, 0x2f, 0x8c, + 0x2f, 0x04, 0x6b, 0xab, 0x37, 0x73, 0xbb, 0x2d, 0xe5, 0x85, 0x90, 0x5b, 0xca, 0x38, 0xef, 0xca, + 0xed, 0xe4, 0xcd, 0x32, 0x4d, 0x9c, 0x51, 0xaa, 0x61, 0x14, 0x85, 0xc8, 0xff, 0xf8, 0x56, 0x09, + 0x91, 0xa8, 0x94, 0x42, 0x32, 0xff, 0x83, 0xad, 0xff, 0x52, 0x83, 0xa6, 0xb2, 0xc0, 0xef, 0x2a, + 0x83, 0x57, 0xf6, 0x06, 0xe3, 0xe1, 0x9c, 0x1b, 0x38, 0x0c, 0x0f, 0xce, 0x4f, 0xb7, 0x38, 0xef, + 0xe6, 0xe8, 0x21, 0xd0, 0x19, 0x9d, 0x72, 0x74, 0xe2, 0x9d, 0xcb, 0xe8, 0x21, 0xee, 0x28, 0x23, + 0xeb, 0x34, 0xa9, 0xf2, 0xce, 0xa9, 0x1b, 0x07, 0xfd, 0x05, 0xac, 0x4d, 0x75, 0x0d, 0xb7, 0x8a, + 0xa3, 0xc5, 0x53, 0x84, 0x8c, 0xf7, 0x4a, 0x91, 0x89, 0x77, 0x3b, 0xbb, 0x21, 0xc8, 0x71, 0x8a, + 0x59, 0x6a, 0xe5, 0xdd, 0xce, 0xed, 0x01, 0x88, 0x2b, 0x29, 0x3b, 0x80, 0x6e, 0xae, 0xd1, 0x32, + 0x30, 0x3c, 0x9c, 0x73, 0x83, 0x98, 0xef, 0xd3, 0xa2, 0x5f, 0x95, 0xef, 0x39, 0x85, 0x32, 0xdf, + 0xcf, 0xd4, 0xf4, 0x07, 0x3f, 0xfc, 0xf3, 0xeb, 0x96, 0xf6, 0xf9, 0xeb, 0x96, 0xf6, 0xcf, 0xd7, + 0x2d, 0xed, 0xb3, 0x37, 0xad, 0x73, 0x9f, 0xbf, 0x69, 0x9d, 0xfb, 0xc7, 0x9b, 0xd6, 0xb9, 0x4f, + 0x9e, 0xb8, 0x1e, 0x3e, 0x9e, 0x0c, 0x3a, 0x76, 0x30, 0xea, 0x12, 0x6e, 0xef, 0xf9, 0x08, 0x9f, + 0x06, 0xe1, 0x4f, 0xd8, 0x68, 0x88, 0x1c, 0x17, 0x85, 0xdd, 0x33, 0xe1, 0x87, 0x2e, 0xe4, 0x17, + 0x38, 0xe4, 0xa7, 0x2e, 0xdd, 0x93, 0xdd, 0xc1, 0x22, 0x79, 0xfa, 0x78, 0xf0, 0xbf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x9e, 0x31, 0x73, 0xe5, 0xd1, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3739,28 +3610,35 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // SubmitClassApplication submits an application for a project to be added to - // a credit class. The project admin must submit an application to a specific - // issuer of a specific credit class for it to be considered. Currently, - // a project can only apply to one credit class at a time via a single - // issuer. + // UpdateProjectClass creates a new project credit class application, updates + // an existing one or updates an existing relationship when changes are requested. + // A project may have a relationship with at most one credit class per credit type + // but can have relationships with multiple credit classes across different credit + // types. This can be useful, for example for issuing pre-financing forward contracts + // while making progress towards issuing credits in an outcome based program. + // Projects that are already accepted into a credit class can only update + // their metadata when an issuer has changed the status of the relations + // to "changes requested". // // Since Revision 3 - SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) - // UpdateClassApplication updates the metadata of a submitted application. + UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) + // WithdrawProjectClass withdraws a project from a credit class application + // or relationship unilaterally on the part of a project admin. // // Since Revision 3 - UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) - // WithdrawClassApplication withdraws a submitted application. + WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) + // EvaluateProjectClass allows a credit class issuer to evaluate a project + // application or existing relationship, either approving, requesting changes to, or + // rejecting it. Any issuer in the credit class may update the project credit + // class status using this method. If more sophisticated rules are required to coordinate + // between different issuers, the credit class admin should set up an on or off-chain + // governance process to coordinate this. Issuers may not admit projects into + // credit classes using this method without the project first creating an + // application. For an issuer to admit a project into a credit class without an + // application the CreateProject method should be used instead. // // Since Revision 3 - WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) - // EvaluateClassApplication evaluates a submitted application. Only the issuer - // of the credit class can evaluate an application. The issuer can either - // approve, request changes to, or reject the application. - // - // Since Revision 3 - EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) + EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -3914,36 +3792,27 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) SubmitClassApplication(ctx context.Context, in *MsgSubmitClassApplication, opts ...grpc.CallOption) (*MsgSubmitClassApplicationResponse, error) { - out := new(MsgSubmitClassApplicationResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/SubmitClassApplication", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) UpdateClassApplication(ctx context.Context, in *MsgUpdateClassApplication, opts ...grpc.CallOption) (*MsgUpdateClassApplicationResponse, error) { - out := new(MsgUpdateClassApplicationResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateClassApplication", in, out, opts...) +func (c *msgClient) UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) { + out := new(MsgUpdateProjectClassResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectClass", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) WithdrawClassApplication(ctx context.Context, in *MsgWithdrawClassApplication, opts ...grpc.CallOption) (*MsgWithdrawClassApplicationResponse, error) { - out := new(MsgWithdrawClassApplicationResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawClassApplication", in, out, opts...) +func (c *msgClient) WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) { + out := new(MsgWithdrawProjectClassResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawProjectClass", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) EvaluateClassApplication(ctx context.Context, in *MsgEvaluateClassApplication, opts ...grpc.CallOption) (*MsgEvaluateClassApplicationResponse, error) { - out := new(MsgEvaluateClassApplicationResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateClassApplication", in, out, opts...) +func (c *msgClient) EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) { + out := new(MsgEvaluateProjectClassResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateProjectClass", in, out, opts...) if err != nil { return nil, err } @@ -4167,28 +4036,35 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // SubmitClassApplication submits an application for a project to be added to - // a credit class. The project admin must submit an application to a specific - // issuer of a specific credit class for it to be considered. Currently, - // a project can only apply to one credit class at a time via a single - // issuer. + // UpdateProjectClass creates a new project credit class application, updates + // an existing one or updates an existing relationship when changes are requested. + // A project may have a relationship with at most one credit class per credit type + // but can have relationships with multiple credit classes across different credit + // types. This can be useful, for example for issuing pre-financing forward contracts + // while making progress towards issuing credits in an outcome based program. + // Projects that are already accepted into a credit class can only update + // their metadata when an issuer has changed the status of the relations + // to "changes requested". // // Since Revision 3 - SubmitClassApplication(context.Context, *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) - // UpdateClassApplication updates the metadata of a submitted application. + UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) + // WithdrawProjectClass withdraws a project from a credit class application + // or relationship unilaterally on the part of a project admin. // // Since Revision 3 - UpdateClassApplication(context.Context, *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) - // WithdrawClassApplication withdraws a submitted application. + WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) + // EvaluateProjectClass allows a credit class issuer to evaluate a project + // application or existing relationship, either approving, requesting changes to, or + // rejecting it. Any issuer in the credit class may update the project credit + // class status using this method. If more sophisticated rules are required to coordinate + // between different issuers, the credit class admin should set up an on or off-chain + // governance process to coordinate this. Issuers may not admit projects into + // credit classes using this method without the project first creating an + // application. For an issuer to admit a project into a credit class without an + // application the CreateProject method should be used instead. // // Since Revision 3 - WithdrawClassApplication(context.Context, *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) - // EvaluateClassApplication evaluates a submitted application. Only the issuer - // of the credit class can evaluate an application. The issuer can either - // approve, request changes to, or reject the application. - // - // Since Revision 3 - EvaluateClassApplication(context.Context, *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) + EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -4320,17 +4196,14 @@ func (*UnimplementedMsgServer) CreateProject(ctx context.Context, req *MsgCreate func (*UnimplementedMsgServer) CreateUnregisteredProject(ctx context.Context, req *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } -func (*UnimplementedMsgServer) SubmitClassApplication(ctx context.Context, req *MsgSubmitClassApplication) (*MsgSubmitClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubmitClassApplication not implemented") +func (*UnimplementedMsgServer) UpdateProjectClass(ctx context.Context, req *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectClass not implemented") } -func (*UnimplementedMsgServer) UpdateClassApplication(ctx context.Context, req *MsgUpdateClassApplication) (*MsgUpdateClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClassApplication not implemented") +func (*UnimplementedMsgServer) WithdrawProjectClass(ctx context.Context, req *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectClass not implemented") } -func (*UnimplementedMsgServer) WithdrawClassApplication(ctx context.Context, req *MsgWithdrawClassApplication) (*MsgWithdrawClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawClassApplication not implemented") -} -func (*UnimplementedMsgServer) EvaluateClassApplication(ctx context.Context, req *MsgEvaluateClassApplication) (*MsgEvaluateClassApplicationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateClassApplication not implemented") +func (*UnimplementedMsgServer) EvaluateProjectClass(ctx context.Context, req *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectClass not implemented") } func (*UnimplementedMsgServer) CreateBatch(ctx context.Context, req *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") @@ -4457,74 +4330,56 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_SubmitClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSubmitClassApplication) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SubmitClassApplication(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/SubmitClassApplication", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SubmitClassApplication(ctx, req.(*MsgSubmitClassApplication)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_UpdateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateClassApplication) +func _Msg_UpdateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateClassApplication(ctx, in) + return srv.(MsgServer).UpdateProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateClassApplication", + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectClass", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateClassApplication(ctx, req.(*MsgUpdateClassApplication)) + return srv.(MsgServer).UpdateProjectClass(ctx, req.(*MsgUpdateProjectClass)) } return interceptor(ctx, in, info, handler) } -func _Msg_WithdrawClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawClassApplication) +func _Msg_WithdrawProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawClassApplication(ctx, in) + return srv.(MsgServer).WithdrawProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/WithdrawClassApplication", + FullMethod: "/regen.ecocredit.v1.Msg/WithdrawProjectClass", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawClassApplication(ctx, req.(*MsgWithdrawClassApplication)) + return srv.(MsgServer).WithdrawProjectClass(ctx, req.(*MsgWithdrawProjectClass)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateClassApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateClassApplication) +func _Msg_EvaluateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateProjectClass) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateClassApplication(ctx, in) + return srv.(MsgServer).EvaluateProjectClass(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/EvaluateClassApplication", + FullMethod: "/regen.ecocredit.v1.Msg/EvaluateProjectClass", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateClassApplication(ctx, req.(*MsgEvaluateClassApplication)) + return srv.(MsgServer).EvaluateProjectClass(ctx, req.(*MsgEvaluateProjectClass)) } return interceptor(ctx, in, info, handler) } @@ -4942,20 +4797,16 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "SubmitClassApplication", - Handler: _Msg_SubmitClassApplication_Handler, + MethodName: "UpdateProjectClass", + Handler: _Msg_UpdateProjectClass_Handler, }, { - MethodName: "UpdateClassApplication", - Handler: _Msg_UpdateClassApplication_Handler, + MethodName: "WithdrawProjectClass", + Handler: _Msg_WithdrawProjectClass_Handler, }, { - MethodName: "WithdrawClassApplication", - Handler: _Msg_WithdrawClassApplication_Handler, - }, - { - MethodName: "EvaluateClassApplication", - Handler: _Msg_EvaluateClassApplication_Handler, + MethodName: "EvaluateProjectClass", + Handler: _Msg_EvaluateProjectClass_Handler, }, { MethodName: "CreateBatch", @@ -5339,10 +5190,10 @@ func (m *MsgCreateUnregisteredProject) MarshalToSizedBuffer(dAtA []byte) (int, e i-- dAtA[i] = 0x12 } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + if len(m.Admin) > 0 { + i -= len(m.Admin) + copy(dAtA[i:], m.Admin) + i = encodeVarintTx(dAtA, i, uint64(len(m.Admin))) i-- dAtA[i] = 0xa } @@ -5379,7 +5230,7 @@ func (m *MsgCreateUnregisteredProjectResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgSubmitClassApplication) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectClass) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5389,12 +5240,12 @@ func (m *MsgSubmitClassApplication) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubmitClassApplication) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectClass) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubmitClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5404,13 +5255,6 @@ func (m *MsgSubmitClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, erro copy(dAtA[i:], m.Metadata) i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) i-- - dAtA[i] = 0x2a - } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- dAtA[i] = 0x22 } if len(m.ClassId) > 0 { @@ -5437,7 +5281,7 @@ func (m *MsgSubmitClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgSubmitClassApplicationResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectClassResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5447,25 +5291,20 @@ func (m *MsgSubmitClassApplicationResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubmitClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubmitClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.ApplicationId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) - i-- - dAtA[i] = 0x8 - } return len(dAtA) - i, nil } -func (m *MsgUpdateClassApplication) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawProjectClass) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5475,23 +5314,16 @@ func (m *MsgUpdateClassApplication) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassApplication) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectClass) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x1a - } if m.ApplicationId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) i-- @@ -5507,7 +5339,7 @@ func (m *MsgUpdateClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgUpdateClassApplicationResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawProjectClassResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5517,12 +5349,12 @@ func (m *MsgUpdateClassApplicationResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5530,7 +5362,7 @@ func (m *MsgUpdateClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *MsgWithdrawClassApplication) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateProjectClass) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5540,32 +5372,44 @@ func (m *MsgWithdrawClassApplication) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgWithdrawClassApplication) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectClass) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x22 + } + if m.Evaluation != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Evaluation)) + i-- + dAtA[i] = 0x18 + } if m.ApplicationId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) i-- dAtA[i] = 0x10 } - if len(m.ProjectAdmin) > 0 { - i -= len(m.ProjectAdmin) - copy(dAtA[i:], m.ProjectAdmin) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectAdmin))) + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *MsgWithdrawClassApplicationResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateProjectClassResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5575,12 +5419,12 @@ func (m *MsgWithdrawClassApplicationResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgWithdrawClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5588,7 +5432,7 @@ func (m *MsgWithdrawClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgEvaluateClassApplication) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateBatch) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5598,82 +5442,12 @@ func (m *MsgEvaluateClassApplication) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgEvaluateClassApplication) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateBatch) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgEvaluateClassApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reason))) - i-- - dAtA[i] = 0x22 - } - if m.Evaluation != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Evaluation)) - i-- - dAtA[i] = 0x18 - } - if m.ApplicationId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) - i-- - dAtA[i] = 0x10 - } - if len(m.Issuer) > 0 { - i -= len(m.Issuer) - copy(dAtA[i:], m.Issuer) - i = encodeVarintTx(dAtA, i, uint64(len(m.Issuer))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgEvaluateClassApplicationResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgEvaluateClassApplicationResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgEvaluateClassApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgCreateBatch) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgCreateBatch) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7497,7 +7271,7 @@ func (m *MsgCreateUnregisteredProject) Size() (n int) { } var l int _ = l - l = len(m.Creator) + l = len(m.Admin) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -7529,7 +7303,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Size() (n int) { return n } -func (m *MsgSubmitClassApplication) Size() (n int) { +func (m *MsgUpdateProjectClass) Size() (n int) { if m == nil { return 0 } @@ -7547,42 +7321,6 @@ func (m *MsgSubmitClassApplication) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Issuer) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Metadata) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSubmitClassApplicationResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ApplicationId != 0 { - n += 1 + sovTx(uint64(m.ApplicationId)) - } - return n -} - -func (m *MsgUpdateClassApplication) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ProjectAdmin) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.ApplicationId != 0 { - n += 1 + sovTx(uint64(m.ApplicationId)) - } l = len(m.Metadata) if l > 0 { n += 1 + l + sovTx(uint64(l)) @@ -7590,7 +7328,7 @@ func (m *MsgUpdateClassApplication) Size() (n int) { return n } -func (m *MsgUpdateClassApplicationResponse) Size() (n int) { +func (m *MsgUpdateProjectClassResponse) Size() (n int) { if m == nil { return 0 } @@ -7599,7 +7337,7 @@ func (m *MsgUpdateClassApplicationResponse) Size() (n int) { return n } -func (m *MsgWithdrawClassApplication) Size() (n int) { +func (m *MsgWithdrawProjectClass) Size() (n int) { if m == nil { return 0 } @@ -7615,7 +7353,7 @@ func (m *MsgWithdrawClassApplication) Size() (n int) { return n } -func (m *MsgWithdrawClassApplicationResponse) Size() (n int) { +func (m *MsgWithdrawProjectClassResponse) Size() (n int) { if m == nil { return 0 } @@ -7624,7 +7362,7 @@ func (m *MsgWithdrawClassApplicationResponse) Size() (n int) { return n } -func (m *MsgEvaluateClassApplication) Size() (n int) { +func (m *MsgEvaluateProjectClass) Size() (n int) { if m == nil { return 0 } @@ -7640,14 +7378,14 @@ func (m *MsgEvaluateClassApplication) Size() (n int) { if m.Evaluation != 0 { n += 1 + sovTx(uint64(m.Evaluation)) } - l = len(m.Reason) + l = len(m.Metadata) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgEvaluateClassApplicationResponse) Size() (n int) { +func (m *MsgEvaluateProjectClassResponse) Size() (n int) { if m == nil { return 0 } @@ -9200,7 +8938,7 @@ func (m *MsgCreateUnregisteredProject) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Admin", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9228,7 +8966,7 @@ func (m *MsgCreateUnregisteredProject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Admin = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { @@ -9429,7 +9167,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitClassApplication) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectClass) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9452,10 +9190,10 @@ func (m *MsgSubmitClassApplication) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitClassApplication: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9555,240 +9293,6 @@ func (m *MsgSubmitClassApplication) Unmarshal(dAtA []byte) error { m.ClassId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Issuer = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Metadata = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgSubmitClassApplicationResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitClassApplicationResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) - } - m.ApplicationId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ApplicationId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgUpdateClassApplication) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateClassApplication: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProjectAdmin = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) - } - m.ApplicationId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ApplicationId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -9841,7 +9345,7 @@ func (m *MsgUpdateClassApplication) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateClassApplicationResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectClassResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9864,10 +9368,10 @@ func (m *MsgUpdateClassApplicationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateClassApplicationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9891,7 +9395,7 @@ func (m *MsgUpdateClassApplicationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawClassApplication) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawProjectClass) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9914,10 +9418,10 @@ func (m *MsgWithdrawClassApplication) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawClassApplication: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9992,7 +9496,7 @@ func (m *MsgWithdrawClassApplication) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawClassApplicationResponse) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawProjectClassResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10015,10 +9519,10 @@ func (m *MsgWithdrawClassApplicationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10042,7 +9546,7 @@ func (m *MsgWithdrawClassApplicationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { +func (m *MsgEvaluateProjectClass) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10065,10 +9569,10 @@ func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateClassApplication: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEvaluateProjectClass: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateClassApplication: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10136,14 +9640,14 @@ func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Evaluation |= ApplicationStatus(b&0x7F) << shift + m.Evaluation |= ProjectClassStatus(b&0x7F) << shift if b < 0x80 { break } } case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10171,7 +9675,7 @@ func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Reason = string(dAtA[iNdEx:postIndex]) + m.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10194,7 +9698,7 @@ func (m *MsgEvaluateClassApplication) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEvaluateClassApplicationResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEvaluateProjectClassResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10217,10 +9721,10 @@ func (m *MsgEvaluateClassApplicationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEvaluateProjectClassResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateClassApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEvaluateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/x/ecocredit/marketplace/types/v1/tx.pb.go b/x/ecocredit/marketplace/types/v1/tx.pb.go index b8e3824edf..365f971e5a 100644 --- a/x/ecocredit/marketplace/types/v1/tx.pb.go +++ b/x/ecocredit/marketplace/types/v1/tx.pb.go @@ -1035,75 +1035,75 @@ func init() { } var fileDescriptor_68c9b4e4b7fcb584 = []byte{ - // 1076 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x6f, 0xdc, 0x44, - 0x14, 0xaf, 0x77, 0x37, 0x9b, 0xe4, 0x6d, 0x92, 0xb6, 0x6e, 0x48, 0xb7, 0xa6, 0xd9, 0x84, 0x05, + // 1078 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcf, 0x6f, 0xdc, 0x44, + 0x14, 0xae, 0x77, 0x37, 0x9b, 0xe4, 0x6d, 0x92, 0xb6, 0x6e, 0x48, 0xb7, 0xa6, 0xd9, 0x84, 0x05, 0xa9, 0xa1, 0x10, 0x5b, 0x49, 0x0b, 0x95, 0x82, 0x22, 0x91, 0xb4, 0x4d, 0xd5, 0xa2, 0x15, 0xc5, 0x29, 0x17, 0x24, 0xe4, 0xce, 0xda, 0x2f, 0x8e, 0x89, 0xed, 0x59, 0x3c, 0xe3, 0x64, 0x73, 0x2c, - 0x42, 0x42, 0xe2, 0xd4, 0x33, 0x47, 0x3e, 0x01, 0x07, 0x3e, 0x04, 0x82, 0x4b, 0xc5, 0x89, 0x1b, - 0x28, 0x91, 0xe0, 0xc6, 0x99, 0x23, 0xf2, 0x78, 0xd6, 0xd9, 0x78, 0xb3, 0x8d, 0xb3, 0x37, 0xbf, - 0xff, 0x6f, 0x7e, 0xbf, 0x79, 0x6f, 0x0c, 0xb7, 0x22, 0x74, 0x31, 0x34, 0xd0, 0xa6, 0x76, 0x84, - 0x8e, 0xc7, 0x8d, 0x80, 0x44, 0x7b, 0xc8, 0x3b, 0x3e, 0xb1, 0xd1, 0xd8, 0x5f, 0x31, 0x78, 0x57, - 0xef, 0x44, 0x94, 0x53, 0xb5, 0x21, 0x1c, 0xf5, 0xcc, 0x51, 0xef, 0x73, 0xd4, 0xf7, 0x57, 0xb4, - 0x1b, 0x36, 0x65, 0x01, 0x65, 0x96, 0xf0, 0x36, 0x52, 0x21, 0x0d, 0xd5, 0x1a, 0xa9, 0x64, 0xb4, - 0x09, 0x4b, 0x72, 0xb6, 0x91, 0x93, 0x15, 0xc3, 0xa6, 0x5e, 0x28, 0xed, 0xd7, 0xa5, 0x3d, 0x60, - 0x6e, 0x52, 0x32, 0x60, 0xae, 0x34, 0xcc, 0xba, 0xd4, 0xa5, 0x69, 0xc2, 0xe4, 0x4b, 0x6a, 0x17, - 0x5c, 0x4a, 0x5d, 0x1f, 0x0d, 0x21, 0xb5, 0xe3, 0x1d, 0x83, 0x7b, 0x01, 0x32, 0x4e, 0x82, 0x8e, - 0x74, 0xb8, 0x7d, 0xce, 0x99, 0x18, 0x27, 0x1c, 0x53, 0xdf, 0xe6, 0xdf, 0x25, 0x18, 0x6f, 0x31, - 0x77, 0x1b, 0x7d, 0x5f, 0x9d, 0x83, 0x2a, 0x43, 0xdf, 0xc7, 0xa8, 0xae, 0x2c, 0x2a, 0x4b, 0x93, - 0xa6, 0x94, 0xd4, 0x87, 0x50, 0xa5, 0x91, 0x83, 0x11, 0xab, 0x97, 0x16, 0xcb, 0x4b, 0xb5, 0xd5, - 0x65, 0xfd, 0xf5, 0x58, 0xe8, 0x32, 0xa1, 0xfe, 0x69, 0x12, 0x65, 0xca, 0x60, 0xed, 0x5f, 0x05, - 0xc6, 0x84, 0x46, 0x5d, 0x80, 0x5a, 0x9b, 0x70, 0x7b, 0xd7, 0x72, 0x30, 0xa4, 0x81, 0xac, 0x06, - 0x42, 0xf5, 0x20, 0xd1, 0xa8, 0x1a, 0x4c, 0x7c, 0x1d, 0x93, 0x90, 0x7b, 0xfc, 0xb0, 0x5e, 0x12, - 0xd6, 0x4c, 0x56, 0x3f, 0x84, 0x49, 0xc2, 0xf6, 0xac, 0x4e, 0xe4, 0xd9, 0x58, 0x2f, 0x2f, 0x2a, - 0x4b, 0xb5, 0xd5, 0x1b, 0xba, 0xc4, 0x3b, 0x41, 0x58, 0x97, 0x08, 0xeb, 0xf7, 0xa9, 0x17, 0x9a, - 0x13, 0x84, 0xed, 0x3d, 0x4d, 0x5c, 0x55, 0x1d, 0xae, 0x39, 0x1e, 0x23, 0x6d, 0x1f, 0x2d, 0x12, - 0x73, 0x6a, 0x45, 0xc8, 0xbd, 0x08, 0xeb, 0x95, 0x45, 0x65, 0x69, 0xc2, 0xbc, 0x2a, 0x4d, 0x1b, - 0x31, 0xa7, 0xa6, 0x30, 0xa8, 0x1f, 0x03, 0x60, 0xb7, 0xe3, 0x45, 0x84, 0x7b, 0x34, 0xac, 0x8f, - 0x89, 0x42, 0x9a, 0x9e, 0x62, 0xaf, 0xf7, 0xb0, 0xd7, 0x9f, 0xf5, 0xb0, 0xdf, 0xac, 0xbc, 0xfc, - 0x73, 0x41, 0x31, 0xfb, 0x62, 0xd6, 0x6a, 0xdf, 0xfc, 0xf3, 0xd3, 0x6d, 0x09, 0x62, 0xf3, 0x1e, - 0x5c, 0x96, 0xb0, 0x98, 0xc8, 0x3a, 0x34, 0x64, 0xa8, 0xbe, 0x03, 0x33, 0x89, 0xd1, 0x12, 0xf8, - 0x58, 0x9e, 0xc3, 0xea, 0xca, 0x62, 0x79, 0xa9, 0x62, 0x4e, 0x25, 0x5a, 0x81, 0xd4, 0x63, 0x87, - 0x35, 0x7f, 0x28, 0xc3, 0xb5, 0x16, 0x73, 0x3f, 0xef, 0x38, 0x84, 0xe3, 0x76, 0xcf, 0xc2, 0x86, - 0xb2, 0xf5, 0x0c, 0xc6, 0x63, 0xe1, 0xdb, 0xa3, 0x6b, 0xad, 0x00, 0x5d, 0xf9, 0xec, 0x7a, 0xaa, - 0x30, 0x7b, 0xa9, 0xb4, 0xef, 0x4a, 0x50, 0x4d, 0x75, 0x6a, 0x13, 0xa6, 0x4f, 0xb5, 0x2d, 0xea, - 0x57, 0xcc, 0x5a, 0x5f, 0xd7, 0xea, 0x5b, 0x30, 0x15, 0xe2, 0x81, 0x95, 0x23, 0xb1, 0x16, 0xe2, - 0xc1, 0x67, 0x3d, 0x1e, 0xd7, 0x61, 0x3a, 0x71, 0xb9, 0x00, 0x97, 0x49, 0xf8, 0xc6, 0xa8, 0x74, - 0x3e, 0x82, 0x99, 0xa4, 0xdc, 0x08, 0x94, 0x26, 0x6d, 0x3e, 0x1c, 0xc2, 0xea, 0x3c, 0xbc, 0x79, - 0x06, 0x7a, 0x3d, 0x86, 0x9b, 0x5f, 0x82, 0xda, 0x62, 0xee, 0x7d, 0x12, 0xda, 0xe8, 0x67, 0xe6, - 0xa1, 0xcc, 0x0d, 0x00, 0x5b, 0x1a, 0x00, 0xf6, 0x74, 0xf5, 0x9b, 0xa0, 0x0d, 0xa6, 0xcf, 0x8a, - 0xff, 0x5a, 0x86, 0xa9, 0x16, 0x73, 0x37, 0xe3, 0xc3, 0x07, 0x5e, 0x84, 0x36, 0x57, 0x67, 0x61, - 0xac, 0x1d, 0x1f, 0x66, 0x65, 0x53, 0x41, 0x7d, 0x92, 0x9b, 0xee, 0xd5, 0x02, 0xd7, 0x25, 0xcb, - 0x99, 0x1b, 0xf1, 0xdf, 0x4a, 0xbd, 0x11, 0x2f, 0x70, 0x96, 0x53, 0x53, 0x5e, 0x1e, 0x9c, 0xf2, - 0xb6, 0xe7, 0xc8, 0x9b, 0x51, 0x39, 0x77, 0xca, 0xdb, 0x9e, 0xf3, 0xda, 0x6b, 0x31, 0x36, 0xec, - 0x5a, 0xdc, 0x83, 0xeb, 0xa9, 0x4b, 0x80, 0x21, 0xb7, 0xbe, 0x8a, 0x23, 0x8f, 0x39, 0x9e, 0x2d, - 0xee, 0x47, 0x55, 0xb4, 0x34, 0x77, 0x62, 0x7e, 0xd2, 0x67, 0x55, 0xdf, 0x83, 0xab, 0x7d, 0x81, - 0x11, 0x12, 0x46, 0xc3, 0xfa, 0xb8, 0x08, 0xb9, 0x72, 0x62, 0x30, 0x85, 0x5e, 0xbd, 0x0b, 0x33, - 0x01, 0xe9, 0x5a, 0x3b, 0x88, 0x16, 0x09, 0x68, 0x1c, 0xf2, 0xfa, 0x44, 0xe2, 0xb9, 0x39, 0xf3, - 0xfb, 0xcf, 0xcb, 0x20, 0x4f, 0xf5, 0x38, 0xe4, 0xe6, 0x54, 0x40, 0xba, 0x5b, 0x88, 0x1b, 0xc2, - 0x67, 0x0d, 0x12, 0xae, 0x53, 0x96, 0x9a, 0x73, 0x30, 0xdb, 0x8f, 0x7b, 0x46, 0xf2, 0x8f, 0x8a, - 0xb8, 0x62, 0x1b, 0x8e, 0xb3, 0xe1, 0xfb, 0xf4, 0x00, 0x9d, 0x74, 0x81, 0xde, 0x84, 0x49, 0x12, - 0xf3, 0x5d, 0x1a, 0x25, 0xd8, 0xa6, 0x74, 0x9f, 0x28, 0xd4, 0x79, 0x80, 0x36, 0x09, 0xf7, 0xe4, - 0xfa, 0x4d, 0x67, 0x73, 0x32, 0xd1, 0xa4, 0xc1, 0x6f, 0xc3, 0xb4, 0xe3, 0xb1, 0x8e, 0x4f, 0x0e, - 0xa5, 0x47, 0x4a, 0xce, 0x94, 0x54, 0x66, 0x2b, 0x1a, 0xbb, 0x1d, 0x1a, 0x62, 0xc8, 0x05, 0x3f, - 0xd3, 0x66, 0x26, 0xaf, 0xcd, 0x24, 0x8d, 0x9f, 0xd4, 0x93, 0xf7, 0x34, 0xd7, 0x63, 0x76, 0x84, - 0x4f, 0xe0, 0x8d, 0x16, 0x73, 0x4d, 0x0c, 0xe8, 0x3e, 0x5e, 0xe0, 0x10, 0xb3, 0x30, 0xd6, 0xdf, - 0x7f, 0x2a, 0x34, 0x17, 0x60, 0xfe, 0xcc, 0x64, 0x59, 0xb5, 0x17, 0x29, 0x60, 0x8f, 0xe8, 0xfe, - 0x36, 0xf2, 0x2d, 0xc4, 0xa7, 0x24, 0x22, 0x01, 0x3b, 0xa7, 0xd6, 0x3a, 0x54, 0x76, 0x50, 0x2c, - 0xd4, 0xe4, 0x22, 0xbe, 0x7b, 0xde, 0x84, 0x64, 0x69, 0x4d, 0x11, 0x36, 0x04, 0x8f, 0x5c, 0x0b, - 0xbd, 0x0e, 0x57, 0xff, 0xab, 0x42, 0xb9, 0xc5, 0x5c, 0xf5, 0x39, 0x54, 0xc4, 0xb3, 0x7c, 0xab, - 0xe0, 0x73, 0xab, 0x19, 0x05, 0x1d, 0xb3, 0x07, 0xe8, 0x5b, 0x05, 0xae, 0x0c, 0xbc, 0x2b, 0x77, - 0x46, 0x78, 0x2e, 0xb4, 0x8f, 0x46, 0x08, 0xca, 0xda, 0x78, 0xa1, 0xc0, 0xe5, 0xfc, 0x8e, 0x2c, - 0xb2, 0x85, 0x72, 0x31, 0xda, 0xda, 0xc5, 0x63, 0xb2, 0x1e, 0x28, 0x4c, 0x9e, 0x2c, 0xca, 0xf7, - 0x2f, 0xb2, 0x02, 0xb5, 0xbb, 0x17, 0xf1, 0x3e, 0x75, 0xe8, 0xfc, 0xd4, 0x16, 0x39, 0x74, 0x2e, - 0xa6, 0xd0, 0xa1, 0x87, 0x4c, 0x9e, 0xfa, 0xbd, 0x02, 0xea, 0x19, 0x73, 0xf7, 0x41, 0x81, 0x94, - 0x83, 0x61, 0xda, 0xfa, 0x48, 0x61, 0xa7, 0x00, 0xc9, 0x4f, 0x65, 0x11, 0x40, 0x72, 0x31, 0x85, - 0x00, 0x19, 0x32, 0x7a, 0x9b, 0xcf, 0x7f, 0x39, 0x6a, 0x28, 0xaf, 0x8e, 0x1a, 0xca, 0x5f, 0x47, - 0x0d, 0xe5, 0xe5, 0x71, 0xe3, 0xd2, 0xab, 0xe3, 0xc6, 0xa5, 0x3f, 0x8e, 0x1b, 0x97, 0xbe, 0xd8, - 0x72, 0x3d, 0xbe, 0x1b, 0xb7, 0x75, 0x9b, 0x06, 0x86, 0xc8, 0xbf, 0x1c, 0x22, 0x3f, 0xa0, 0xd1, - 0x9e, 0x94, 0x7c, 0x74, 0x5c, 0x8c, 0x8c, 0xee, 0x90, 0xbf, 0x6e, 0x7e, 0xd8, 0x41, 0x96, 0xfc, - 0xfb, 0x57, 0xc5, 0x6f, 0xc6, 0x9d, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x79, 0x80, 0xf5, 0x16, - 0x78, 0x0c, 0x00, 0x00, + 0x42, 0x42, 0xe2, 0xd4, 0x33, 0x47, 0xfe, 0x02, 0x0e, 0xfc, 0x11, 0x08, 0x2e, 0x15, 0x27, 0x6e, + 0xa0, 0x44, 0x82, 0x1b, 0x67, 0x8e, 0xc8, 0xe3, 0x59, 0x67, 0xe3, 0xcd, 0x36, 0xce, 0xde, 0xf2, + 0x7e, 0x7c, 0xef, 0xbd, 0xf9, 0xbe, 0x79, 0xe3, 0x0d, 0xdc, 0x8a, 0xd0, 0xc5, 0xd0, 0x40, 0x9b, + 0xda, 0x11, 0x3a, 0x1e, 0x37, 0x02, 0x12, 0xed, 0x21, 0xef, 0xf8, 0xc4, 0x46, 0x63, 0x7f, 0xc5, + 0xe0, 0x5d, 0xbd, 0x13, 0x51, 0x4e, 0xd5, 0x86, 0x48, 0xd4, 0xb3, 0x44, 0xbd, 0x2f, 0x51, 0xdf, + 0x5f, 0xd1, 0x1a, 0x36, 0x65, 0x01, 0x65, 0x46, 0x9b, 0xb0, 0x04, 0xd8, 0x46, 0x4e, 0x56, 0x0c, + 0x9b, 0x7a, 0x61, 0x8a, 0xd7, 0xae, 0xcb, 0x78, 0xc0, 0xdc, 0xa4, 0x6e, 0xc0, 0x5c, 0x19, 0xb8, + 0x91, 0x06, 0x2c, 0x61, 0x19, 0xa9, 0x21, 0x43, 0xb3, 0x2e, 0x75, 0x69, 0xea, 0x4f, 0xfe, 0x92, + 0xde, 0x05, 0x97, 0x52, 0xd7, 0x47, 0x43, 0x58, 0xed, 0x78, 0xc7, 0xe0, 0x5e, 0x80, 0x8c, 0x93, + 0xa0, 0x23, 0x13, 0x6e, 0x9f, 0x73, 0x26, 0xc6, 0x09, 0xc7, 0x34, 0xb7, 0xf9, 0x77, 0x09, 0xc6, + 0x5b, 0xcc, 0xdd, 0x46, 0xdf, 0x57, 0xe7, 0xa0, 0xca, 0xd0, 0xf7, 0x31, 0xaa, 0x2b, 0x8b, 0xca, + 0xd2, 0xa4, 0x29, 0x2d, 0xf5, 0x21, 0x54, 0x69, 0xe4, 0x60, 0xc4, 0xea, 0xa5, 0xc5, 0xf2, 0x52, + 0x6d, 0x75, 0x59, 0x7f, 0x3d, 0x17, 0xba, 0x2c, 0xa8, 0x7f, 0x9a, 0xa0, 0x4c, 0x09, 0xd6, 0xfe, + 0x55, 0x60, 0x4c, 0x78, 0xd4, 0x05, 0xa8, 0xb5, 0x09, 0xb7, 0x77, 0x2d, 0x07, 0x43, 0x1a, 0xc8, + 0x6e, 0x20, 0x5c, 0x0f, 0x12, 0x8f, 0xaa, 0xc1, 0xc4, 0xd7, 0x31, 0x09, 0xb9, 0xc7, 0x0f, 0xeb, + 0x25, 0x11, 0xcd, 0x6c, 0xf5, 0x43, 0x98, 0x24, 0x6c, 0xcf, 0xea, 0x44, 0x9e, 0x8d, 0xf5, 0xf2, + 0xa2, 0xb2, 0x54, 0x5b, 0xbd, 0xa1, 0x4b, 0xda, 0x12, 0xf2, 0x75, 0x49, 0xbe, 0x7e, 0x9f, 0x7a, + 0xa1, 0x39, 0x41, 0xd8, 0xde, 0xd3, 0x24, 0x55, 0xd5, 0xe1, 0x9a, 0xe3, 0x31, 0xd2, 0xf6, 0xd1, + 0x22, 0x31, 0xa7, 0x56, 0x84, 0xdc, 0x8b, 0xb0, 0x5e, 0x59, 0x54, 0x96, 0x26, 0xcc, 0xab, 0x32, + 0xb4, 0x11, 0x73, 0x6a, 0x8a, 0x80, 0xfa, 0x31, 0x00, 0x76, 0x3b, 0x5e, 0x44, 0xb8, 0x47, 0xc3, + 0xfa, 0x98, 0x68, 0xa4, 0xe9, 0x29, 0xf7, 0x7a, 0x8f, 0x7b, 0xfd, 0x59, 0x8f, 0xfb, 0xcd, 0xca, + 0xcb, 0x3f, 0x17, 0x14, 0xb3, 0x0f, 0xb3, 0x56, 0xfb, 0xe6, 0x9f, 0x9f, 0x6e, 0x4b, 0x12, 0x9b, + 0xf7, 0xe0, 0xb2, 0xa4, 0xc5, 0x44, 0xd6, 0xa1, 0x21, 0x43, 0xf5, 0x1d, 0x98, 0x49, 0x82, 0x96, + 0xe0, 0xc7, 0xf2, 0x1c, 0x56, 0x57, 0x16, 0xcb, 0x4b, 0x15, 0x73, 0x2a, 0xf1, 0x0a, 0xa6, 0x1e, + 0x3b, 0xac, 0xf9, 0x43, 0x19, 0xae, 0xb5, 0x98, 0xfb, 0x79, 0xc7, 0x21, 0x1c, 0xb7, 0x7b, 0x11, + 0x36, 0x54, 0xad, 0x67, 0x30, 0x1e, 0x8b, 0xdc, 0x9e, 0x5c, 0x6b, 0x05, 0xe4, 0xca, 0x57, 0xd7, + 0x53, 0x87, 0xd9, 0x2b, 0xa5, 0x7d, 0x57, 0x82, 0x6a, 0xea, 0x53, 0x9b, 0x30, 0x7d, 0x6a, 0x6c, + 0xd1, 0xbf, 0x62, 0xd6, 0xfa, 0xa6, 0x56, 0xdf, 0x82, 0xa9, 0x10, 0x0f, 0xac, 0x9c, 0x88, 0xb5, + 0x10, 0x0f, 0x3e, 0xeb, 0xe9, 0xb8, 0x0e, 0xd3, 0x49, 0xca, 0x05, 0xb4, 0x4c, 0xe0, 0x1b, 0xa3, + 0xca, 0xf9, 0x08, 0x66, 0x92, 0x76, 0x23, 0x48, 0x9a, 0x8c, 0xf9, 0x70, 0x88, 0xaa, 0xf3, 0xf0, + 0xe6, 0x19, 0xec, 0xf5, 0x14, 0x6e, 0x7e, 0x09, 0x6a, 0x8b, 0xb9, 0xf7, 0x49, 0x68, 0xa3, 0x9f, + 0x85, 0x87, 0x2a, 0x37, 0x40, 0x6c, 0x69, 0x80, 0xd8, 0xd3, 0xdd, 0x6f, 0x82, 0x36, 0x58, 0x3e, + 0x6b, 0xfe, 0x6b, 0x19, 0xa6, 0x5a, 0xcc, 0xdd, 0x8c, 0x0f, 0x1f, 0x78, 0x11, 0xda, 0x5c, 0x9d, + 0x85, 0xb1, 0x76, 0x7c, 0x98, 0xb5, 0x4d, 0x0d, 0xf5, 0x49, 0x6e, 0xbb, 0x57, 0x0b, 0x5c, 0x97, + 0xac, 0x66, 0x6e, 0xc5, 0x7f, 0x2b, 0xf5, 0x56, 0xbc, 0xc0, 0x59, 0x4e, 0x6d, 0x79, 0x79, 0x70, + 0xcb, 0xdb, 0x9e, 0x23, 0x6f, 0x46, 0xe5, 0xdc, 0x2d, 0x6f, 0x7b, 0xce, 0x6b, 0xaf, 0xc5, 0xd8, + 0xb0, 0x6b, 0x71, 0x0f, 0xae, 0xa7, 0x29, 0x01, 0x86, 0xdc, 0xfa, 0x2a, 0x8e, 0x3c, 0xe6, 0x78, + 0xb6, 0xb8, 0x1f, 0x55, 0x31, 0xd2, 0xdc, 0x49, 0xf8, 0x49, 0x5f, 0x54, 0x7d, 0x0f, 0xae, 0xf6, + 0x01, 0x23, 0x24, 0x8c, 0x86, 0xf5, 0x71, 0x01, 0xb9, 0x72, 0x12, 0x30, 0x85, 0x5f, 0xbd, 0x0b, + 0x33, 0x01, 0xe9, 0x5a, 0x3b, 0x88, 0x16, 0x09, 0x68, 0x1c, 0xf2, 0xfa, 0x44, 0x92, 0xb9, 0x39, + 0xf3, 0xfb, 0xcf, 0xcb, 0x20, 0x4f, 0xf5, 0x38, 0xe4, 0xe6, 0x54, 0x40, 0xba, 0x5b, 0x88, 0x1b, + 0x22, 0x67, 0x0d, 0x12, 0xad, 0x53, 0x95, 0x9a, 0x73, 0x30, 0xdb, 0xcf, 0x7b, 0x26, 0xf2, 0x8f, + 0x8a, 0xb8, 0x62, 0x1b, 0x8e, 0xb3, 0xe1, 0xfb, 0xf4, 0x00, 0x9d, 0xf4, 0x01, 0xbd, 0x09, 0x93, + 0x24, 0xe6, 0xbb, 0x34, 0x4a, 0xb8, 0x4d, 0xe5, 0x3e, 0x71, 0xa8, 0xf3, 0x00, 0x6d, 0x12, 0xee, + 0xc9, 0xe7, 0x37, 0xdd, 0xcd, 0xc9, 0xc4, 0x93, 0x82, 0xdf, 0x86, 0x69, 0xc7, 0x63, 0x1d, 0x9f, + 0x1c, 0xca, 0x8c, 0x54, 0x9c, 0x29, 0xe9, 0xcc, 0x9e, 0x68, 0xec, 0x76, 0x68, 0x88, 0x21, 0x17, + 0xfa, 0x4c, 0x9b, 0x99, 0xbd, 0x36, 0x93, 0x0c, 0x7e, 0xd2, 0x4f, 0xde, 0xd3, 0xdc, 0x8c, 0xd9, + 0x11, 0x3e, 0x81, 0x37, 0x5a, 0xcc, 0x35, 0x31, 0xa0, 0xfb, 0x78, 0x81, 0x43, 0xcc, 0xc2, 0x58, + 0xff, 0xfc, 0xa9, 0xd1, 0x5c, 0x80, 0xf9, 0x33, 0x8b, 0x65, 0xdd, 0x5e, 0xa4, 0x84, 0x3d, 0xa2, + 0xfb, 0xdb, 0xc8, 0xb7, 0x10, 0x9f, 0x92, 0x88, 0x04, 0xec, 0x9c, 0x5e, 0xeb, 0x50, 0xd9, 0x41, + 0xf1, 0xa0, 0x26, 0x17, 0xf1, 0xdd, 0xf3, 0x36, 0x24, 0x2b, 0x6b, 0x0a, 0xd8, 0x10, 0x3e, 0x72, + 0x23, 0xf4, 0x26, 0x5c, 0xfd, 0xaf, 0x0a, 0xe5, 0x16, 0x73, 0xd5, 0xe7, 0x50, 0x11, 0x9f, 0xe5, + 0x5b, 0x05, 0x3f, 0xb7, 0x9a, 0x51, 0x30, 0x31, 0xfb, 0x00, 0x7d, 0xab, 0xc0, 0x95, 0x81, 0xef, + 0xca, 0x9d, 0x11, 0x3e, 0x17, 0xda, 0x47, 0x23, 0x80, 0xb2, 0x31, 0x5e, 0x28, 0x70, 0x39, 0xff, + 0x46, 0x16, 0x79, 0x85, 0x72, 0x18, 0x6d, 0xed, 0xe2, 0x98, 0x6c, 0x06, 0x0a, 0x93, 0x27, 0x0f, + 0xe5, 0xfb, 0x17, 0x79, 0x02, 0xb5, 0xbb, 0x17, 0xc9, 0x3e, 0x75, 0xe8, 0xfc, 0xd6, 0x16, 0x39, + 0x74, 0x0e, 0x53, 0xe8, 0xd0, 0x43, 0x36, 0x4f, 0xfd, 0x5e, 0x01, 0xf5, 0x8c, 0xbd, 0xfb, 0xa0, + 0x40, 0xc9, 0x41, 0x98, 0xb6, 0x3e, 0x12, 0xec, 0x14, 0x21, 0xf9, 0xad, 0x2c, 0x42, 0x48, 0x0e, + 0x53, 0x88, 0x90, 0x21, 0xab, 0xb7, 0xf9, 0xfc, 0x97, 0xa3, 0x86, 0xf2, 0xea, 0xa8, 0xa1, 0xfc, + 0x75, 0xd4, 0x50, 0x5e, 0x1e, 0x37, 0x2e, 0xbd, 0x3a, 0x6e, 0x5c, 0xfa, 0xe3, 0xb8, 0x71, 0xe9, + 0x8b, 0x2d, 0xd7, 0xe3, 0xbb, 0x71, 0x5b, 0xb7, 0x69, 0x60, 0x88, 0xfa, 0xcb, 0x21, 0xf2, 0x03, + 0x1a, 0xed, 0x49, 0xcb, 0x47, 0xc7, 0xc5, 0xc8, 0xe8, 0x0e, 0xf9, 0xd5, 0xcd, 0x0f, 0x3b, 0xc8, + 0x92, 0x7f, 0x0b, 0xaa, 0xe2, 0x67, 0xc6, 0x9d, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x07, 0xda, + 0x17, 0x15, 0x78, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From 864c63be5132e26213fbcbc377756b07719bed2d Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 6 Feb 2024 13:07:28 -0500 Subject: [PATCH 008/112] add queries --- proto/regen/ecocredit/v1/query.proto | 60 + proto/regen/ecocredit/v1/state.proto | 5 +- x/ecocredit/base/types/v1/query.pb.go | 1366 +++++++++++++++++++--- x/ecocredit/base/types/v1/query.pb.gw.go | 260 ++++ x/ecocredit/base/types/v1/state.pb.go | 180 +-- 5 files changed, 1586 insertions(+), 285 deletions(-) diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 2b35bac56b..453f129351 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -259,6 +259,22 @@ service Query { returns (QueryAllowedBridgeChainsResponse) { option (google.api.http).get = "/regen/ecocredit/v1/allowed-bridge-chains"; } + + // ProjectClass queries information about a project credit class relationship. + // + // Since Revision 3 + rpc ProjectClass(QueryProjectClassRequest) returns (QueryProjectClassResponse) { + option (google.api.http) = { + get : "/regen/ecocredit/v1/project/{project_id}/class/{project_id}" + }; + } + + // ProjectClasses queries all credit classes associated with a project. + rpc ProjectClasses(QueryProjectClassesRequest) returns (QueryProjectClassesResponse) { + option (google.api.http) = { + get : "/regen/ecocredit/v1/project/{project_id}/class" + }; + } } // QueryClassesRequest is the Query/Classes request type. @@ -826,3 +842,47 @@ message QueryAllowedBridgeChainsResponse { // bridge operations. repeated string allowed_bridge_chains = 1; } + +// QueryProjectClassRequest is the Query/ProjectClass request type. +// +// Since Revision 3 +message QueryProjectClassRequest { + + // project_id is the unique identifier of the project to query. + string project_id = 1; + + // class_id is the unique identifier of the credit class to query. + string class_id = 2; +} + +// QueryProjectClassResponse is the Query/ProjectClass response type. +// +// Since Revision 3 +message QueryProjectClassResponse { + + // project_class is the fetched project class relationship. + ProjectClass project_class = 1; +} + +// QueryProjectClassesRequest is the Query/ProjectClasses request type. +// +// Since Revision 3 +message QueryProjectClassesRequest { + // project_id is the unique identifier of the project to query. + string project_id = 1; + + // pagination defines an optional pagination for the request. + cosmos.base.query.v1beta1.PageRequest pagination = 2; +} + +// QueryProjectClassesResponse is the Query/ProjectClasses response type. +// +// Since Revision 3 +message QueryProjectClassesResponse { + + // classes are the fetched credit classes. + repeated ClassInfo classes = 1; + + // pagination defines the pagination in the response. + cosmos.base.query.v1beta1.PageResponse pagination = 2; +} \ No newline at end of file diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 3ad682873c..480bab1505 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -98,9 +98,9 @@ message Project { // admin is the admin of the project. bytes admin = 3; - // class_key is the table row identifier of the credit class used internally + // Deprecated: class_key is the table row identifier of the credit class used internally // for efficient lookups. This links a project to a credit class. - uint64 class_key = 4; + uint64 class_key = 4 [deprecated = true]; // jurisdiction is the jurisdiction of the project. // Full documentation can be found in MsgCreateProject.jurisdiction. @@ -393,6 +393,7 @@ message ProjectClass { option (cosmos.orm.v1.table) = { id : 17 primary_key : {fields : "project_key,class_key"} + index: {id: 1, fields: "class_key"} }; // project_key is the table row identifier of the project used internally for diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index 960da1d1c9..9f64a2e242 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3038,6 +3038,225 @@ func (m *QueryAllowedBridgeChainsResponse) GetAllowedBridgeChains() []string { return nil } +// QueryProjectClassRequest is the Query/ProjectClass request type. +// +// Since Revision 3 +type QueryProjectClassRequest struct { + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to query. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` +} + +func (m *QueryProjectClassRequest) Reset() { *m = QueryProjectClassRequest{} } +func (m *QueryProjectClassRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProjectClassRequest) ProtoMessage() {} +func (*QueryProjectClassRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_c85efa417eafb74b, []int{56} +} +func (m *QueryProjectClassRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProjectClassRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProjectClassRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProjectClassRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectClassRequest.Merge(m, src) +} +func (m *QueryProjectClassRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryProjectClassRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectClassRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProjectClassRequest proto.InternalMessageInfo + +func (m *QueryProjectClassRequest) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *QueryProjectClassRequest) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +// QueryProjectClassResponse is the Query/ProjectClass response type. +// +// Since Revision 3 +type QueryProjectClassResponse struct { + // project_class is the fetched project class relationship. + ProjectClass *ProjectClass `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` +} + +func (m *QueryProjectClassResponse) Reset() { *m = QueryProjectClassResponse{} } +func (m *QueryProjectClassResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProjectClassResponse) ProtoMessage() {} +func (*QueryProjectClassResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_c85efa417eafb74b, []int{57} +} +func (m *QueryProjectClassResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProjectClassResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProjectClassResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectClassResponse.Merge(m, src) +} +func (m *QueryProjectClassResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryProjectClassResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectClassResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProjectClassResponse proto.InternalMessageInfo + +func (m *QueryProjectClassResponse) GetProjectClass() *ProjectClass { + if m != nil { + return m.ProjectClass + } + return nil +} + +// QueryProjectClassesRequest is the Query/ProjectClasses request type. +// +// Since Revision 3 +type QueryProjectClassesRequest struct { + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryProjectClassesRequest) Reset() { *m = QueryProjectClassesRequest{} } +func (m *QueryProjectClassesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProjectClassesRequest) ProtoMessage() {} +func (*QueryProjectClassesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_c85efa417eafb74b, []int{58} +} +func (m *QueryProjectClassesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProjectClassesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProjectClassesRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProjectClassesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectClassesRequest.Merge(m, src) +} +func (m *QueryProjectClassesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryProjectClassesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectClassesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProjectClassesRequest proto.InternalMessageInfo + +func (m *QueryProjectClassesRequest) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *QueryProjectClassesRequest) GetPagination() *query.PageRequest { + if m != nil { + return m.Pagination + } + return nil +} + +// QueryProjectClassesResponse is the Query/ProjectClasses response type. +// +// Since Revision 3 +type QueryProjectClassesResponse struct { + // classes are the fetched credit classes. + Classes []*ClassInfo `protobuf:"bytes,1,rep,name=classes,proto3" json:"classes,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` +} + +func (m *QueryProjectClassesResponse) Reset() { *m = QueryProjectClassesResponse{} } +func (m *QueryProjectClassesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProjectClassesResponse) ProtoMessage() {} +func (*QueryProjectClassesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_c85efa417eafb74b, []int{59} +} +func (m *QueryProjectClassesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryProjectClassesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryProjectClassesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryProjectClassesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectClassesResponse.Merge(m, src) +} +func (m *QueryProjectClassesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryProjectClassesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectClassesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryProjectClassesResponse proto.InternalMessageInfo + +func (m *QueryProjectClassesResponse) GetClasses() []*ClassInfo { + if m != nil { + return m.Classes + } + return nil +} + +func (m *QueryProjectClassesResponse) GetPagination() *query.PageResponse { + if m != nil { + return m.Pagination + } + return nil +} + func init() { proto.RegisterType((*QueryClassesRequest)(nil), "regen.ecocredit.v1.QueryClassesRequest") proto.RegisterType((*QueryClassesResponse)(nil), "regen.ecocredit.v1.QueryClassesResponse") @@ -3095,164 +3314,176 @@ func init() { proto.RegisterType((*QueryClassFeeResponse)(nil), "regen.ecocredit.v1.QueryClassFeeResponse") proto.RegisterType((*QueryAllowedBridgeChainsRequest)(nil), "regen.ecocredit.v1.QueryAllowedBridgeChainsRequest") proto.RegisterType((*QueryAllowedBridgeChainsResponse)(nil), "regen.ecocredit.v1.QueryAllowedBridgeChainsResponse") + proto.RegisterType((*QueryProjectClassRequest)(nil), "regen.ecocredit.v1.QueryProjectClassRequest") + proto.RegisterType((*QueryProjectClassResponse)(nil), "regen.ecocredit.v1.QueryProjectClassResponse") + proto.RegisterType((*QueryProjectClassesRequest)(nil), "regen.ecocredit.v1.QueryProjectClassesRequest") + proto.RegisterType((*QueryProjectClassesResponse)(nil), "regen.ecocredit.v1.QueryProjectClassesResponse") } func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2427 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x4f, 0x4d, 0x62, 0x7b, 0xfc, 0xec, 0x38, 0xa1, 0xf2, 0x81, 0x33, 0x9b, 0x4c, 0x9c, 0xde, - 0x24, 0x76, 0x62, 0xcf, 0x74, 0xfc, 0x11, 0x60, 0x3f, 0xd8, 0x60, 0x3b, 0x5a, 0xf0, 0xcd, 0x3b, - 0xac, 0x82, 0x30, 0x64, 0x4d, 0xcf, 0x74, 0xd9, 0xe9, 0xec, 0x78, 0x7a, 0xd2, 0xdd, 0x76, 0xd6, - 0x58, 0x66, 0x17, 0xa4, 0x5d, 0x38, 0xc1, 0x8a, 0x45, 0x68, 0x2f, 0x2b, 0x3e, 0x04, 0x07, 0x38, - 0x20, 0xb1, 0x20, 0x21, 0xb4, 0x42, 0xdc, 0x10, 0xc7, 0x48, 0xcb, 0x81, 0x8f, 0x0b, 0x4a, 0x90, - 0xe0, 0xcf, 0x40, 0x53, 0xf5, 0xaa, 0xbf, 0xa6, 0xba, 0xa6, 0x0d, 0xb3, 0x2b, 0x9f, 0x3c, 0x5d, - 0xfd, 0x5e, 0xbd, 0xdf, 0x7b, 0xf5, 0xea, 0xd5, 0xab, 0x5f, 0x1b, 0xca, 0x1e, 0xdb, 0x64, 0x2d, - 0x93, 0x35, 0xdc, 0x86, 0xc7, 0x6c, 0x27, 0x30, 0x77, 0x66, 0xcd, 0x07, 0xdb, 0xcc, 0xdb, 0xad, - 0xb6, 0x3d, 0x37, 0x70, 0x29, 0xe5, 0xef, 0xab, 0xe1, 0xfb, 0xea, 0xce, 0x6c, 0xe9, 0x7a, 0xc3, - 0xf5, 0xb7, 0x5c, 0xdf, 0xac, 0x5b, 0x3e, 0x13, 0xc2, 0xe6, 0xce, 0x6c, 0x9d, 0x05, 0xd6, 0xac, - 0xd9, 0xb6, 0x36, 0x9d, 0x96, 0x15, 0x38, 0x6e, 0x4b, 0xe8, 0x97, 0xca, 0x71, 0x59, 0x29, 0xd5, - 0x70, 0x1d, 0xf9, 0xfe, 0xfc, 0xa6, 0xeb, 0x6e, 0x36, 0x99, 0x69, 0xb5, 0x1d, 0xd3, 0x6a, 0xb5, - 0xdc, 0x80, 0x2b, 0xfb, 0xf8, 0xf6, 0x22, 0xbe, 0xe5, 0x4f, 0xf5, 0xed, 0x0d, 0x33, 0x70, 0xb6, - 0x98, 0x1f, 0x58, 0x5b, 0x6d, 0x39, 0xbd, 0x02, 0xbe, 0x1f, 0x58, 0x01, 0xd3, 0xbc, 0x0f, 0x76, - 0xdb, 0x0c, 0x0d, 0x18, 0x77, 0xe1, 0xd4, 0x4b, 0x1d, 0x07, 0x96, 0x9b, 0x96, 0xef, 0x33, 0xbf, - 0xc6, 0x1e, 0x6c, 0x33, 0x3f, 0xa0, 0x2f, 0x02, 0x44, 0x9e, 0x8c, 0x93, 0x09, 0x32, 0x35, 0x32, - 0x77, 0xb5, 0x2a, 0x5c, 0xa9, 0x76, 0x5c, 0xa9, 0x8a, 0x18, 0xa1, 0x43, 0xd5, 0x55, 0x6b, 0x93, - 0xa1, 0x6e, 0x2d, 0xa6, 0x69, 0xbc, 0x4b, 0xe0, 0x74, 0x72, 0x7e, 0xbf, 0xed, 0xb6, 0x7c, 0x46, - 0x3f, 0x0d, 0x43, 0x0d, 0x31, 0x34, 0x4e, 0x26, 0x8e, 0x4e, 0x8d, 0xcc, 0x5d, 0xa8, 0x76, 0x07, - 0xba, 0xca, 0xb5, 0x56, 0x5a, 0x1b, 0x6e, 0x4d, 0x4a, 0xd3, 0xcf, 0x27, 0x90, 0x15, 0x38, 0xb2, - 0xc9, 0x9e, 0xc8, 0x84, 0xd5, 0x04, 0xb4, 0xaf, 0x43, 0x29, 0x8e, 0x6c, 0x69, 0x77, 0xd1, 0xde, - 0x72, 0x5a, 0x32, 0x00, 0xa7, 0x61, 0xc0, 0xea, 0x3c, 0x73, 0xdf, 0x87, 0x6b, 0xe2, 0x21, 0x15, - 0x96, 0xc2, 0xff, 0x1c, 0x96, 0x1f, 0x11, 0x78, 0x4a, 0x69, 0xfc, 0xd0, 0x44, 0xa7, 0x0a, 0x9f, - 0x88, 0x00, 0xca, 0xa0, 0x9c, 0x83, 0x22, 0x37, 0xb4, 0xee, 0xd8, 0x18, 0x17, 0x61, 0x78, 0xc5, - 0x36, 0x56, 0x80, 0xc6, 0xe5, 0xd1, 0x8f, 0x79, 0x18, 0xe0, 0x02, 0x98, 0x41, 0x3d, 0xbc, 0x10, - 0xb2, 0xc6, 0x3e, 0x8c, 0x47, 0x53, 0xad, 0xf8, 0xfe, 0x36, 0xf3, 0x72, 0x20, 0xe8, 0xdb, 0xda, - 0x7c, 0x03, 0xce, 0x29, 0xcc, 0xa3, 0x43, 0xe3, 0x30, 0xe4, 0x88, 0x21, 0xbe, 0x30, 0xc3, 0x35, - 0xf9, 0xd8, 0xbf, 0xc8, 0xbf, 0x82, 0x3b, 0x66, 0xd5, 0x73, 0xef, 0xb3, 0x46, 0xd0, 0xf7, 0x2d, - 0xf9, 0x1e, 0x81, 0x33, 0x29, 0x03, 0xe8, 0xdc, 0x73, 0x50, 0x6c, 0xe3, 0x18, 0xa6, 0xdd, 0x45, - 0xd5, 0x82, 0xa1, 0x1e, 0x5f, 0xb2, 0x50, 0xa1, 0x7f, 0xfe, 0xbf, 0x21, 0xf7, 0x86, 0xc4, 0xb7, - 0x94, 0x37, 0x09, 0xfb, 0x96, 0x02, 0x3f, 0x23, 0x70, 0x5e, 0x0d, 0xe1, 0x50, 0x45, 0xea, 0xbb, - 0x04, 0x2e, 0xa5, 0x60, 0xd6, 0xd8, 0x06, 0xf3, 0x58, 0xab, 0xc1, 0x56, 0x6c, 0x19, 0xaf, 0x4b, - 0x30, 0xea, 0xc9, 0xd1, 0x28, 0x66, 0x23, 0x5e, 0x24, 0xd9, 0xb7, 0xb8, 0xfd, 0x92, 0x80, 0xa1, - 0x03, 0x74, 0xa8, 0xa2, 0xb7, 0xd7, 0x95, 0x66, 0x1f, 0xe3, 0x01, 0xa0, 0xc8, 0xb0, 0xe4, 0x09, - 0x70, 0x38, 0x62, 0xb4, 0x80, 0xdd, 0x01, 0x9a, 0x91, 0xb1, 0xb9, 0x00, 0x80, 0xb6, 0xa2, 0x84, - 0x1a, 0xc6, 0x91, 0x15, 0xdb, 0x78, 0x29, 0x59, 0xc1, 0x42, 0x9f, 0x9e, 0x81, 0x21, 0x14, 0xc2, - 0xf2, 0xd5, 0xd3, 0x25, 0x29, 0x1f, 0xb6, 0x29, 0x4b, 0x56, 0xd0, 0xb8, 0xf7, 0x11, 0xb6, 0x29, - 0xe1, 0xfc, 0xd1, 0x41, 0x5c, 0x17, 0x43, 0xba, 0x83, 0x98, 0x6b, 0x09, 0xc0, 0x28, 0xdd, 0xbf, - 0x25, 0xd8, 0xc7, 0x34, 0x45, 0x64, 0x4b, 0xbb, 0xe2, 0x48, 0x92, 0x11, 0x38, 0x0b, 0x83, 0xe2, - 0x04, 0xc2, 0x65, 0xc0, 0xa7, 0xbe, 0x25, 0xea, 0x8f, 0x65, 0xa2, 0x76, 0xd9, 0x3f, 0x34, 0x11, - 0x7a, 0x1d, 0x1b, 0xb9, 0x10, 0xe1, 0xc7, 0x7d, 0x5c, 0xbc, 0xd9, 0x15, 0xa3, 0x03, 0xed, 0x97, - 0xbe, 0xe1, 0xf8, 0x09, 0x81, 0x0b, 0x19, 0x38, 0x0e, 0xcd, 0x62, 0x85, 0x9d, 0x6f, 0x7a, 0xb5, - 0x0e, 0x0d, 0xc2, 0x05, 0xec, 0x7c, 0xb9, 0x0d, 0xb9, 0x82, 0x17, 0x61, 0x84, 0x1b, 0x5a, 0xb7, - 0x59, 0xcb, 0xdd, 0xc2, 0x25, 0x04, 0x3e, 0x74, 0xbb, 0x33, 0x12, 0xf6, 0xbf, 0xa8, 0x15, 0xf5, - 0xbf, 0x5c, 0x46, 0xd7, 0xff, 0x46, 0xbe, 0x08, 0x59, 0x63, 0x35, 0xac, 0x75, 0x4d, 0xab, 0xd5, - 0x90, 0x2b, 0xdd, 0x69, 0x3d, 0x2d, 0xdb, 0xf6, 0x18, 0x76, 0xd3, 0xc3, 0x35, 0xf9, 0x98, 0x06, - 0x57, 0xe8, 0x02, 0x77, 0x27, 0xac, 0x6e, 0x38, 0x23, 0xc2, 0x7b, 0xa1, 0x13, 0x6c, 0x3e, 0x84, - 0x00, 0x2f, 0x67, 0x02, 0x44, 0x55, 0x19, 0x73, 0xfe, 0x60, 0xbc, 0x96, 0x9c, 0xd7, 0xef, 0x0d, - 0xb5, 0x5f, 0xa9, 0xfe, 0x53, 0xd9, 0xc4, 0x46, 0xa6, 0xd1, 0xa7, 0xcf, 0x41, 0x11, 0xe1, 0xc9, - 0x0c, 0xca, 0xe7, 0x54, 0xa8, 0xd5, 0xbf, 0x4c, 0x7a, 0x2b, 0xca, 0x75, 0x31, 0xf5, 0xd2, 0xc1, - 0x92, 0xaa, 0x6f, 0xd1, 0xfa, 0x45, 0x54, 0xa0, 0x52, 0x40, 0x0e, 0x5f, 0xd0, 0x2c, 0xf8, 0x24, - 0x87, 0xba, 0xd8, 0x6c, 0xa6, 0xd3, 0xaa, 0x5f, 0xa7, 0xfd, 0xcf, 0x09, 0xde, 0x30, 0x13, 0x36, - 0x0e, 0x5f, 0x28, 0x6e, 0x62, 0x4d, 0xf9, 0xe2, 0x76, 0xbb, 0xdd, 0xdc, 0xcd, 0x5d, 0x8a, 0xde, - 0x26, 0x58, 0x40, 0xa4, 0x1e, 0x7a, 0x36, 0x09, 0x27, 0x02, 0xcf, 0xb2, 0xad, 0x7a, 0x93, 0xad, - 0x5b, 0x5b, 0xee, 0x76, 0x2b, 0x40, 0xe5, 0x31, 0x39, 0xbc, 0xc8, 0x47, 0xe9, 0x15, 0x18, 0xf3, - 0x58, 0xe0, 0x78, 0xcc, 0x96, 0x72, 0xa2, 0xa4, 0x1c, 0xc7, 0x51, 0x14, 0xbb, 0x06, 0x27, 0x1b, - 0x1d, 0x8f, 0x9b, 0xcd, 0x48, 0xf0, 0x28, 0x17, 0x3c, 0x11, 0x8e, 0x0b, 0x51, 0xe3, 0x1c, 0x2e, - 0xea, 0x32, 0x8f, 0xdf, 0xcb, 0xbb, 0xed, 0x70, 0x51, 0x8d, 0xbb, 0xf2, 0xb6, 0x1f, 0x7f, 0x85, - 0x88, 0x17, 0x61, 0x54, 0x44, 0x7c, 0x9d, 0x53, 0x56, 0xb8, 0x1e, 0x65, 0x25, 0x8b, 0x10, 0xaa, - 0xd7, 0x46, 0x1a, 0xd1, 0x54, 0xc6, 0x69, 0x8c, 0xe1, 0xaa, 0xe5, 0x59, 0x5b, 0xa1, 0xd1, 0x15, - 0xd9, 0xd7, 0xe2, 0x28, 0xda, 0x9b, 0x83, 0xc1, 0x36, 0x1f, 0xc1, 0xe4, 0x2a, 0x29, 0xfb, 0x53, - 0xa1, 0x83, 0x92, 0xc6, 0xf3, 0x70, 0x36, 0x85, 0x5f, 0x2e, 0x94, 0x01, 0xa3, 0x56, 0xbd, 0xee, - 0xb1, 0x1d, 0x27, 0x4a, 0xd8, 0xe1, 0x5a, 0x62, 0xcc, 0x58, 0xeb, 0x0a, 0x4c, 0x08, 0xe6, 0x16, - 0x8c, 0xc4, 0x9c, 0x47, 0x44, 0xbd, 0x7c, 0x87, 0xc8, 0x77, 0x63, 0x0f, 0x86, 0x43, 0x6e, 0x85, - 0x8e, 0x41, 0x21, 0x6c, 0x3d, 0x0a, 0x8e, 0x1d, 0x5d, 0x6f, 0x0a, 0xf1, 0xeb, 0x4d, 0x09, 0x8a, - 0x5b, 0x2c, 0xb0, 0x6c, 0x2b, 0xb0, 0x70, 0x29, 0xc3, 0x67, 0x3a, 0x03, 0x34, 0x86, 0x67, 0x5d, - 0xb8, 0x31, 0x7e, 0x8c, 0x4b, 0x9d, 0x8c, 0xcc, 0x2e, 0xf2, 0x71, 0xe3, 0xd7, 0x04, 0x46, 0x62, - 0x9d, 0x7c, 0x4e, 0xfb, 0xf1, 0x66, 0xed, 0x68, 0xb2, 0x59, 0x33, 0x60, 0xf4, 0xfe, 0xb6, 0xe7, - 0xf8, 0xb6, 0xd3, 0xe0, 0xd1, 0x14, 0x86, 0x13, 0x63, 0x09, 0xf8, 0x03, 0x29, 0xf8, 0xe9, 0x6b, - 0xf0, 0x60, 0xd7, 0x35, 0xd8, 0xf8, 0xa0, 0x00, 0xc3, 0xe1, 0x69, 0x9c, 0xd9, 0x59, 0x27, 0x9b, - 0xb9, 0x42, 0xba, 0x99, 0x3b, 0x0d, 0x03, 0x62, 0x63, 0x0a, 0xfc, 0xe2, 0x21, 0x81, 0xec, 0x58, - 0x0a, 0xd9, 0x33, 0x00, 0x7e, 0x60, 0x79, 0xc1, 0xba, 0x6d, 0x05, 0x8c, 0xe3, 0xee, 0x64, 0x9e, - 0x20, 0x7e, 0xab, 0x92, 0xf8, 0xad, 0xbe, 0x2c, 0x89, 0xdf, 0xda, 0x30, 0x97, 0xbe, 0x6d, 0x05, - 0x8c, 0xde, 0x84, 0x22, 0x6b, 0xd9, 0x42, 0x71, 0xb0, 0xa7, 0xe2, 0x10, 0x6b, 0xd9, 0x5c, 0xed, - 0x16, 0x1c, 0xef, 0x38, 0xd3, 0xd9, 0xa4, 0x42, 0x77, 0xa8, 0xa7, 0xee, 0xa8, 0x54, 0xe0, 0x13, - 0x50, 0x38, 0xe6, 0xb6, 0x59, 0x6b, 0xbc, 0x38, 0x41, 0xa6, 0x8a, 0x35, 0xfe, 0xdb, 0xf8, 0x13, - 0x81, 0x93, 0xe9, 0xaa, 0xf8, 0x7f, 0x34, 0x2d, 0xaa, 0x72, 0x75, 0x34, 0x67, 0xb9, 0x3a, 0xa6, - 0x2a, 0x57, 0x93, 0x70, 0x82, 0xf9, 0x0d, 0xcf, 0x7d, 0x18, 0xc9, 0x89, 0x1c, 0x19, 0x93, 0xc3, - 0x58, 0xac, 0x9e, 0x46, 0x56, 0x85, 0x6f, 0x9e, 0x65, 0x8f, 0x59, 0x81, 0xeb, 0x2d, 0x36, 0x9b, - 0xee, 0xc3, 0xa6, 0xe3, 0xcb, 0x96, 0xde, 0x78, 0x01, 0x99, 0x8e, 0x0c, 0xa1, 0x88, 0x2e, 0x64, - 0xad, 0x0e, 0x54, 0x91, 0xfa, 0xc5, 0x9a, 0x7c, 0x34, 0xee, 0xc3, 0x84, 0x3c, 0x82, 0x3a, 0xa6, - 0xe3, 0xd3, 0xf4, 0xfd, 0xbc, 0x7b, 0x47, 0xf2, 0x44, 0x6a, 0x63, 0x88, 0xf5, 0x0a, 0x8c, 0x89, - 0xbd, 0xd7, 0xc0, 0x37, 0xc8, 0x70, 0x1e, 0x6f, 0xc4, 0xc5, 0xfb, 0x77, 0xba, 0x9d, 0x8d, 0x7f, - 0x19, 0x78, 0x91, 0x49, 0xe4, 0xc6, 0x6d, 0xec, 0xec, 0xa2, 0x71, 0x04, 0x38, 0x0d, 0x47, 0x37, - 0x98, 0x2c, 0x84, 0xe7, 0x12, 0x26, 0xa5, 0xb1, 0x65, 0xd7, 0x69, 0xd5, 0x3a, 0x52, 0xc6, 0x25, - 0xb8, 0x18, 0x77, 0x79, 0xc9, 0x73, 0xec, 0x4d, 0xb6, 0x7c, 0xcf, 0x72, 0x5a, 0xe1, 0x21, 0x70, - 0x27, 0xb9, 0x04, 0x49, 0x91, 0xf0, 0x44, 0x38, 0x63, 0x89, 0xd7, 0xeb, 0x75, 0xfe, 0x7e, 0xbd, - 0xc1, 0x05, 0x30, 0x36, 0xa7, 0xac, 0x6e, 0xdd, 0xb9, 0x3f, 0x4c, 0xc2, 0x00, 0x9f, 0x98, 0x7e, - 0x93, 0xc0, 0x10, 0x32, 0xfc, 0x74, 0x52, 0x55, 0xb9, 0x15, 0x9f, 0x5e, 0x4a, 0x53, 0xbd, 0x05, - 0x05, 0x38, 0xe3, 0xe9, 0x6f, 0x7d, 0xf8, 0xaf, 0x77, 0x0a, 0x17, 0xe8, 0x53, 0xa6, 0xe2, 0x23, - 0x8f, 0xfc, 0x22, 0xf0, 0x17, 0x02, 0x63, 0xc9, 0xaf, 0x0c, 0xb4, 0xda, 0xcb, 0x42, 0x92, 0x0a, - 0x2b, 0x99, 0xb9, 0xe5, 0x11, 0x98, 0xc5, 0x81, 0x7d, 0x85, 0xce, 0x68, 0x80, 0x55, 0xea, 0xbb, - 0x15, 0x5e, 0xf4, 0xcd, 0x3d, 0xfe, 0x67, 0x7f, 0x6d, 0x9a, 0x5e, 0xd3, 0xc8, 0x9b, 0x09, 0x61, - 0xfa, 0x2b, 0x02, 0x03, 0xdc, 0x3a, 0xbd, 0xa2, 0x47, 0x27, 0x9d, 0xb8, 0xda, 0x4b, 0x0c, 0xb1, - 0xdf, 0xe1, 0xd8, 0x57, 0xe9, 0xe5, 0x4c, 0x2c, 0xe6, 0x9e, 0x3c, 0xa3, 0xf6, 0xd7, 0xa6, 0xe8, - 0x55, 0x1d, 0xe6, 0x48, 0x92, 0x7e, 0x48, 0x60, 0x34, 0xfe, 0x49, 0x81, 0xce, 0xe8, 0x01, 0x25, - 0x3f, 0x7c, 0x94, 0x2a, 0x39, 0xa5, 0xd1, 0x8b, 0x0d, 0xee, 0xc5, 0xd7, 0x34, 0x2b, 0x50, 0xc1, - 0x0f, 0x17, 0x71, 0x6f, 0x6e, 0xd0, 0x6a, 0x3e, 0x6f, 0x4c, 0xf9, 0xd5, 0xe3, 0x4d, 0x02, 0x45, - 0x49, 0x61, 0xd2, 0xec, 0xcc, 0x4d, 0x7d, 0xcb, 0x28, 0x5d, 0xcb, 0x21, 0x89, 0x9e, 0x5c, 0xe6, - 0x9e, 0x94, 0xe9, 0x79, 0x15, 0xb2, 0x90, 0xf1, 0xfc, 0x41, 0x01, 0x4e, 0xa4, 0xc8, 0x7a, 0x6a, - 0xf6, 0x34, 0x92, 0xa4, 0x8a, 0x4a, 0x37, 0xf2, 0x2b, 0x20, 0xb8, 0xf7, 0x08, 0x47, 0xf7, 0x43, - 0x42, 0x6f, 0xe8, 0xe0, 0x75, 0x72, 0xbd, 0x2b, 0x75, 0x4c, 0x5a, 0xd1, 0xe9, 0x74, 0xe7, 0xda, - 0x2c, 0x35, 0x73, 0xae, 0x4e, 0x18, 0x96, 0x6f, 0x17, 0xe0, 0x8c, 0x92, 0x8b, 0xa7, 0x37, 0x73, - 0xf8, 0xda, 0xfd, 0x31, 0xa1, 0xf4, 0xa9, 0x83, 0xaa, 0x61, 0xa0, 0x5e, 0xe7, 0x71, 0xda, 0xa5, - 0xcf, 0xf5, 0x0a, 0x53, 0xd8, 0x8f, 0x55, 0x1c, 0xdb, 0xdc, 0x8b, 0x77, 0x6c, 0xfb, 0x6b, 0xcf, - 0xd2, 0xcf, 0x68, 0x23, 0xa6, 0xd1, 0xa5, 0x7f, 0x23, 0xf1, 0x04, 0x11, 0x75, 0x30, 0x4f, 0x82, - 0x24, 0x0a, 0xe1, 0x8d, 0xfc, 0x0a, 0xe8, 0x77, 0x83, 0xfb, 0x7d, 0x57, 0xbf, 0xd4, 0xdd, 0xa5, - 0x70, 0x86, 0x5e, 0xd7, 0x7a, 0x9a, 0xac, 0x85, 0x1f, 0x10, 0x18, 0x42, 0x00, 0x9a, 0x63, 0x26, - 0xc9, 0x49, 0x96, 0xa6, 0x7a, 0x0b, 0xa2, 0x0f, 0x77, 0xb9, 0x0f, 0x5f, 0xa2, 0x53, 0x1a, 0x48, - 0xe6, 0x5e, 0xd4, 0x13, 0x67, 0x56, 0xf2, 0x10, 0x7e, 0x5c, 0x98, 0x1f, 0x92, 0x48, 0x06, 0x6a, - 0xd0, 0x27, 0x89, 0x7f, 0x0d, 0xfa, 0x14, 0x83, 0xaf, 0x3f, 0x24, 0x25, 0x79, 0xf8, 0x0f, 0x02, - 0x27, 0x52, 0x04, 0xb7, 0x26, 0x3b, 0xd4, 0x54, 0xbc, 0x26, 0x3b, 0x32, 0xb8, 0x73, 0x83, 0x71, - 0x6c, 0xeb, 0xea, 0xaa, 0x8b, 0xd8, 0x3a, 0xc9, 0x21, 0xaa, 0xad, 0xb9, 0x27, 0xfe, 0xee, 0xaf, - 0x55, 0xe8, 0xb4, 0x46, 0xc3, 0x4c, 0x89, 0xd3, 0xbf, 0x13, 0x18, 0x4b, 0xd2, 0xad, 0x9a, 0x16, - 0x40, 0xc9, 0xa2, 0x97, 0xcc, 0xdc, 0xf2, 0xe8, 0xda, 0x26, 0x77, 0xcd, 0x52, 0x97, 0xac, 0x98, - 0x6b, 0x5d, 0x55, 0xae, 0xaa, 0x3e, 0xb3, 0xa4, 0x6f, 0x69, 0x79, 0xfa, 0x1f, 0x79, 0xed, 0x88, - 0xf1, 0xdd, 0x34, 0xc7, 0x52, 0xa4, 0xb6, 0xc3, 0xec, 0x01, 0x34, 0xd0, 0x45, 0x97, 0xbb, 0xe8, - 0xd0, 0xf9, 0x1e, 0x2e, 0x2a, 0xb7, 0xc8, 0x9c, 0xfa, 0xc4, 0x90, 0x6e, 0xaa, 0x74, 0xe8, 0x6f, - 0x09, 0x0c, 0x70, 0x34, 0x9a, 0x9e, 0x27, 0x4e, 0x30, 0x6a, 0x7a, 0x9e, 0x04, 0xfd, 0x67, 0x7c, - 0x95, 0x7b, 0x72, 0x87, 0x4e, 0x66, 0x42, 0x32, 0xf7, 0x62, 0x97, 0xb5, 0xcc, 0x0d, 0x2e, 0xd1, - 0x27, 0x84, 0xe9, 0xbb, 0x85, 0xce, 0x06, 0xe7, 0x77, 0x42, 0xed, 0x06, 0x8f, 0xb3, 0xdd, 0xda, - 0x0d, 0x9e, 0x20, 0xb1, 0x8d, 0xdf, 0x8b, 0x33, 0xf8, 0x7d, 0x92, 0xb5, 0x10, 0x5c, 0x3c, 0x89, - 0xa9, 0x53, 0x3a, 0xf9, 0x35, 0x74, 0x7f, 0xed, 0xb3, 0xea, 0x33, 0x49, 0xe9, 0x4a, 0x34, 0x59, - 0xa8, 0xfe, 0x3c, 0x7d, 0x56, 0x63, 0xd5, 0x8f, 0x24, 0x55, 0x71, 0xa4, 0xdf, 0x23, 0x50, 0x94, - 0x0c, 0x24, 0xed, 0xe9, 0x72, 0x8e, 0xf6, 0x29, 0x4d, 0x67, 0x1a, 0x55, 0x1e, 0x9c, 0x8c, 0x36, - 0xb5, 0x1b, 0x25, 0xfd, 0x37, 0xaf, 0x84, 0x09, 0x96, 0x58, 0x5b, 0x09, 0x55, 0xc4, 0xb6, 0xb6, - 0x12, 0x2a, 0x09, 0x68, 0xe3, 0x01, 0x87, 0xf9, 0xaa, 0x76, 0x09, 0xf9, 0x66, 0x52, 0x65, 0xe3, - 0x02, 0x9d, 0x3b, 0xf0, 0x12, 0xfa, 0xf4, 0x7d, 0x02, 0x23, 0x31, 0x02, 0x98, 0x4e, 0x67, 0x82, - 0xee, 0xa6, 0xa2, 0x4b, 0x33, 0xf9, 0x84, 0xd1, 0xbb, 0x2f, 0x70, 0xef, 0x96, 0xe8, 0x84, 0x0a, - 0xa6, 0xd5, 0x6c, 0x56, 0x24, 0xa8, 0xb5, 0x8c, 0x3e, 0x37, 0x04, 0xfd, 0x47, 0x02, 0x83, 0x82, - 0xd6, 0xa5, 0xd9, 0x9b, 0x3b, 0xc1, 0x17, 0x97, 0x26, 0x7b, 0xca, 0x21, 0x4a, 0x9b, 0xa3, 0x7c, - 0x45, 0x7d, 0xce, 0xfb, 0x5c, 0x36, 0x15, 0xf8, 0x1e, 0x45, 0x2c, 0x19, 0x78, 0x31, 0x03, 0xfd, - 0x3e, 0x81, 0x91, 0x18, 0xd7, 0xab, 0x09, 0x7b, 0x37, 0x59, 0xac, 0x09, 0xbb, 0x82, 0x3e, 0x36, - 0xa6, 0xb8, 0x43, 0x86, 0x3a, 0xec, 0xe2, 0x57, 0x85, 0x13, 0xcb, 0xf4, 0x0d, 0x02, 0x83, 0x82, - 0xd7, 0xd5, 0x84, 0x35, 0x41, 0x21, 0x6b, 0xc2, 0x9a, 0x24, 0x95, 0x8d, 0x2b, 0x1c, 0xc5, 0x79, - 0x5a, 0x52, 0xb6, 0x44, 0x5c, 0xf6, 0x3b, 0x05, 0x42, 0x1f, 0x11, 0x80, 0xc8, 0x09, 0x7a, 0x3d, - 0x87, 0xa7, 0x12, 0xca, 0x74, 0x2e, 0x59, 0x84, 0xe3, 0x70, 0x38, 0x8d, 0x8c, 0x9b, 0x5e, 0x14, - 0x14, 0x73, 0x2f, 0x4e, 0x54, 0x67, 0xdf, 0x3e, 0x62, 0x61, 0x4c, 0xa9, 0x74, 0xfa, 0xd2, 0x33, - 0x4a, 0x7e, 0x4c, 0x73, 0xfb, 0xd0, 0x91, 0x6e, 0x9a, 0xdb, 0x87, 0x96, 0x86, 0x33, 0xe6, 0xb9, - 0xcf, 0x19, 0x5d, 0x93, 0xb8, 0x0d, 0x23, 0xe9, 0x55, 0xb1, 0x42, 0x8c, 0xbf, 0x23, 0x70, 0x5a, - 0x45, 0x98, 0xd1, 0x05, 0xdd, 0xde, 0xcf, 0x22, 0xf3, 0x4a, 0x37, 0x0f, 0xa8, 0x85, 0xd0, 0xe7, - 0x38, 0xf4, 0x8c, 0xfb, 0x00, 0xb2, 0x4f, 0x95, 0x84, 0x0b, 0x3e, 0x7d, 0x8b, 0x40, 0x51, 0xb2, - 0x67, 0xb4, 0x07, 0x9d, 0x14, 0x11, 0x6f, 0x9a, 0x53, 0x25, 0x4d, 0xc5, 0x61, 0x4e, 0x5f, 0xa4, - 0x17, 0xb2, 0x03, 0xba, 0xc1, 0x18, 0xfd, 0x0d, 0x81, 0x53, 0x0a, 0x76, 0x8d, 0xce, 0xf7, 0x8a, - 0x85, 0x82, 0xae, 0x2b, 0x2d, 0x1c, 0x4c, 0x09, 0x91, 0xce, 0x72, 0xa4, 0x19, 0xfd, 0x8a, 0x8c, - 0x9f, 0xa0, 0xf6, 0x2a, 0x82, 0xda, 0x5b, 0xfa, 0xf2, 0x9f, 0x1f, 0x97, 0xc9, 0xa3, 0xc7, 0x65, - 0xf2, 0xcf, 0xc7, 0x65, 0xf2, 0xf6, 0x93, 0xf2, 0x91, 0x47, 0x4f, 0xca, 0x47, 0xfe, 0xfa, 0xa4, - 0x7c, 0x64, 0xed, 0xd6, 0xa6, 0x13, 0xdc, 0xdb, 0xae, 0x57, 0x1b, 0xee, 0x96, 0x98, 0xae, 0xd2, - 0x62, 0xc1, 0x43, 0xd7, 0x7b, 0x15, 0x9f, 0x9a, 0xcc, 0xde, 0x64, 0x9e, 0xf9, 0x5a, 0xcc, 0x0a, - 0xff, 0xb7, 0x6f, 0xb1, 0x3b, 0x76, 0x66, 0xeb, 0x83, 0x9c, 0x59, 0x9f, 0xff, 0x6f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x3b, 0xf8, 0xe6, 0xac, 0x75, 0x2e, 0x00, 0x00, + // 2548 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x73, 0x1c, 0x47, + 0x15, 0x4f, 0xaf, 0xad, 0xaf, 0x27, 0x59, 0x36, 0xed, 0x0f, 0xe4, 0x8d, 0x2d, 0xcb, 0x13, 0xdb, + 0x92, 0x3f, 0x76, 0xc7, 0x92, 0xed, 0x40, 0x3e, 0x8d, 0x24, 0x13, 0xd0, 0xcd, 0x59, 0x5c, 0xa6, + 0x10, 0x38, 0x62, 0x76, 0xa7, 0x25, 0x8f, 0xb3, 0xda, 0x59, 0xcf, 0x8c, 0xec, 0x08, 0x95, 0x48, + 0x80, 0x4a, 0xe0, 0x04, 0x29, 0x42, 0x51, 0x39, 0x90, 0x0a, 0x50, 0x70, 0x08, 0x07, 0x0a, 0x02, + 0x55, 0x14, 0x95, 0x03, 0x37, 0x8a, 0xa3, 0xab, 0xc2, 0x81, 0x8f, 0x0b, 0x65, 0x53, 0x05, 0x7f, + 0x06, 0xb5, 0xdd, 0xaf, 0x67, 0xa6, 0x67, 0x7b, 0x7a, 0x47, 0xb0, 0xb8, 0x74, 0xb2, 0xa6, 0xf7, + 0xbd, 0xee, 0xdf, 0x7b, 0xfd, 0xfa, 0xf5, 0xeb, 0xdf, 0x2b, 0xc3, 0x64, 0xc0, 0xd6, 0x58, 0xcb, + 0x66, 0x0d, 0xbf, 0x11, 0x30, 0xd7, 0x8b, 0xec, 0x7b, 0xb3, 0xf6, 0xdd, 0x0d, 0x16, 0x6c, 0x56, + 0xdb, 0x81, 0x1f, 0xf9, 0x94, 0xf2, 0xdf, 0xab, 0xf1, 0xef, 0xd5, 0x7b, 0xb3, 0xe5, 0x73, 0x0d, + 0x3f, 0x5c, 0xf7, 0x43, 0xbb, 0xee, 0x84, 0x4c, 0x08, 0xdb, 0xf7, 0x66, 0xeb, 0x2c, 0x72, 0x66, + 0xed, 0xb6, 0xb3, 0xe6, 0xb5, 0x9c, 0xc8, 0xf3, 0x5b, 0x42, 0xbf, 0x3c, 0x99, 0x96, 0x95, 0x52, + 0x0d, 0xdf, 0x93, 0xbf, 0x1f, 0x5b, 0xf3, 0xfd, 0xb5, 0x26, 0xb3, 0x9d, 0xb6, 0x67, 0x3b, 0xad, + 0x96, 0x1f, 0x71, 0xe5, 0x10, 0x7f, 0x3d, 0x81, 0xbf, 0xf2, 0xaf, 0xfa, 0xc6, 0xaa, 0x1d, 0x79, + 0xeb, 0x2c, 0x8c, 0x9c, 0xf5, 0xb6, 0x9c, 0x5e, 0x03, 0x3f, 0x8c, 0x9c, 0x88, 0x19, 0x7e, 0x8f, + 0x36, 0xdb, 0x0c, 0x17, 0xb0, 0x6e, 0xc1, 0xc1, 0x97, 0x3b, 0x06, 0x2c, 0x36, 0x9d, 0x30, 0x64, + 0x61, 0x8d, 0xdd, 0xdd, 0x60, 0x61, 0x44, 0x5f, 0x02, 0x48, 0x2c, 0x99, 0x20, 0x53, 0x64, 0x66, + 0x74, 0xee, 0x4c, 0x55, 0x98, 0x52, 0xed, 0x98, 0x52, 0x15, 0x3e, 0x42, 0x83, 0xaa, 0xd7, 0x9d, + 0x35, 0x86, 0xba, 0xb5, 0x94, 0xa6, 0xf5, 0x2e, 0x81, 0x43, 0xea, 0xfc, 0x61, 0xdb, 0x6f, 0x85, + 0x8c, 0x7e, 0x0a, 0x86, 0x1a, 0x62, 0x68, 0x82, 0x4c, 0xed, 0x99, 0x19, 0x9d, 0x3b, 0x5e, 0xed, + 0x76, 0x74, 0x95, 0x6b, 0x2d, 0xb5, 0x56, 0xfd, 0x9a, 0x94, 0xa6, 0x9f, 0x53, 0x90, 0x95, 0x38, + 0xb2, 0xe9, 0x9e, 0xc8, 0xc4, 0xaa, 0x0a, 0xb4, 0xaf, 0x41, 0x39, 0x8d, 0x6c, 0x61, 0x73, 0xde, + 0x5d, 0xf7, 0x5a, 0xd2, 0x01, 0x87, 0x60, 0xc0, 0xe9, 0x7c, 0x73, 0xdb, 0x47, 0x6a, 0xe2, 0x23, + 0xe3, 0x96, 0xd2, 0x7f, 0xed, 0x96, 0xf7, 0x09, 0x3c, 0xa9, 0x5d, 0x7c, 0xd7, 0x78, 0xa7, 0x0a, + 0x9f, 0x48, 0x00, 0x4a, 0xa7, 0x1c, 0x85, 0x61, 0xbe, 0xd0, 0x8a, 0xe7, 0xa2, 0x5f, 0xc4, 0xc2, + 0x4b, 0xae, 0xb5, 0x04, 0x34, 0x2d, 0x8f, 0x76, 0x5c, 0x82, 0x01, 0x2e, 0x80, 0x11, 0xd4, 0xc3, + 0x0a, 0x21, 0x6b, 0x6d, 0xc3, 0x44, 0x32, 0xd5, 0x52, 0x18, 0x6e, 0xb0, 0xa0, 0x00, 0x82, 0xbe, + 0xed, 0xcd, 0xd7, 0xe1, 0xa8, 0x66, 0x79, 0x34, 0x68, 0x02, 0x86, 0x3c, 0x31, 0xc4, 0x37, 0x66, + 0xa4, 0x26, 0x3f, 0xfb, 0xe7, 0xf9, 0x57, 0xf0, 0xc4, 0x5c, 0x0f, 0xfc, 0x3b, 0xac, 0x11, 0xf5, + 0xfd, 0x48, 0xbe, 0x47, 0xe0, 0x70, 0x66, 0x01, 0x34, 0xee, 0x39, 0x18, 0x6e, 0xe3, 0x18, 0x86, + 0xdd, 0x09, 0xdd, 0x86, 0xa1, 0x1e, 0xdf, 0xb2, 0x58, 0xa1, 0x7f, 0xf6, 0xbf, 0x21, 0xcf, 0x86, + 0xc4, 0xb7, 0x50, 0x34, 0x08, 0xfb, 0x16, 0x02, 0x3f, 0x23, 0x70, 0x4c, 0x0f, 0x61, 0x57, 0x79, + 0xea, 0xbb, 0x04, 0x4e, 0x66, 0x60, 0xd6, 0xd8, 0x2a, 0x0b, 0x58, 0xab, 0xc1, 0x96, 0x5c, 0xe9, + 0xaf, 0x93, 0x30, 0x16, 0xc8, 0xd1, 0xc4, 0x67, 0xa3, 0x41, 0x22, 0xd9, 0x37, 0xbf, 0xfd, 0x82, + 0x80, 0x65, 0x02, 0xb4, 0xab, 0xbc, 0xb7, 0xd5, 0x15, 0x66, 0x8f, 0xf1, 0x02, 0xd0, 0x44, 0x98, + 0x7a, 0x03, 0xec, 0x0e, 0x1f, 0x5d, 0xc6, 0xea, 0x00, 0x97, 0x91, 0xbe, 0x39, 0x0e, 0x80, 0x6b, + 0x25, 0x01, 0x35, 0x82, 0x23, 0x4b, 0xae, 0xf5, 0xb2, 0x9a, 0xc1, 0x62, 0x9b, 0x9e, 0x81, 0x21, + 0x14, 0xc2, 0xf4, 0xd5, 0xd3, 0x24, 0x29, 0x1f, 0x97, 0x29, 0x0b, 0x4e, 0xd4, 0xb8, 0xfd, 0x7f, + 0x2c, 0x53, 0xe2, 0xf9, 0x93, 0x8b, 0xb8, 0x2e, 0x86, 0x4c, 0x17, 0x31, 0xd7, 0x12, 0x80, 0x51, + 0xba, 0x7f, 0x5b, 0xb0, 0x8d, 0x61, 0x8a, 0xc8, 0x16, 0x36, 0xc5, 0x95, 0x24, 0x3d, 0x70, 0x04, + 0x06, 0xc5, 0x0d, 0x84, 0xdb, 0x80, 0x5f, 0x7d, 0x0b, 0xd4, 0x1f, 0xcb, 0x40, 0xed, 0x5a, 0x7f, + 0xd7, 0x78, 0xe8, 0x75, 0x2c, 0xe4, 0x62, 0x84, 0x8f, 0xfb, 0xba, 0x78, 0xb3, 0xcb, 0x47, 0x3b, + 0x3a, 0x2f, 0x7d, 0xc3, 0xf1, 0x13, 0x02, 0xc7, 0x73, 0x70, 0xec, 0x9a, 0xcd, 0x8a, 0x2b, 0xdf, + 0xec, 0x6e, 0xed, 0x1a, 0x84, 0x97, 0xb1, 0xf2, 0xe5, 0x6b, 0xc8, 0x1d, 0x3c, 0x01, 0xa3, 0x7c, + 0xa1, 0x15, 0x97, 0xb5, 0xfc, 0x75, 0xdc, 0x42, 0xe0, 0x43, 0xd7, 0x3a, 0x23, 0x71, 0xfd, 0x8b, + 0x5a, 0x49, 0xfd, 0xcb, 0x65, 0x4c, 0xf5, 0x6f, 0x62, 0x8b, 0x90, 0xb5, 0xae, 0xc7, 0xb9, 0xae, + 0xe9, 0xb4, 0x1a, 0x72, 0xa7, 0x3b, 0xa5, 0xa7, 0xe3, 0xba, 0x01, 0xc3, 0x6a, 0x7a, 0xa4, 0x26, + 0x3f, 0xb3, 0xe0, 0x4a, 0x5d, 0xe0, 0x6e, 0xc6, 0xd9, 0x0d, 0x67, 0x44, 0x78, 0x2f, 0x76, 0x9c, + 0xcd, 0x87, 0x10, 0xe0, 0xa9, 0x5c, 0x80, 0xa8, 0x2a, 0x7d, 0xce, 0x3f, 0xac, 0xd7, 0xd4, 0x79, + 0xc3, 0xde, 0x50, 0xfb, 0x15, 0xea, 0x3f, 0x95, 0x45, 0x6c, 0xb2, 0x34, 0xda, 0xf4, 0x19, 0x18, + 0x46, 0x78, 0x32, 0x82, 0x8a, 0x19, 0x15, 0x6b, 0xf5, 0x2f, 0x92, 0xde, 0x4a, 0x62, 0x5d, 0x4c, + 0xbd, 0xb0, 0xb3, 0xa0, 0xea, 0x9b, 0xb7, 0x3e, 0x48, 0x12, 0x54, 0x06, 0xc8, 0xee, 0x73, 0x9a, + 0x03, 0x9f, 0xe4, 0x50, 0xe7, 0x9b, 0xcd, 0x6c, 0x58, 0xf5, 0xeb, 0xb6, 0xff, 0x39, 0xc1, 0x17, + 0xa6, 0xb2, 0xc6, 0xee, 0x73, 0xc5, 0x15, 0xcc, 0x29, 0x5f, 0xd8, 0x68, 0xb7, 0x9b, 0x9b, 0x85, + 0x53, 0xd1, 0xdb, 0x04, 0x13, 0x88, 0xd4, 0x43, 0xcb, 0xa6, 0x61, 0x7f, 0x14, 0x38, 0xae, 0x53, + 0x6f, 0xb2, 0x15, 0x67, 0xdd, 0xdf, 0x68, 0x45, 0xa8, 0x3c, 0x2e, 0x87, 0xe7, 0xf9, 0x28, 0x3d, + 0x0d, 0xe3, 0x01, 0x8b, 0xbc, 0x80, 0xb9, 0x52, 0x4e, 0xa4, 0x94, 0x7d, 0x38, 0x8a, 0x62, 0x67, + 0xe1, 0x40, 0xa3, 0x63, 0x71, 0xb3, 0x99, 0x08, 0xee, 0xe1, 0x82, 0xfb, 0xe3, 0x71, 0x21, 0x6a, + 0x1d, 0xc5, 0x4d, 0x5d, 0xe4, 0xfe, 0xbb, 0xb1, 0xd9, 0x8e, 0x37, 0xd5, 0xba, 0x25, 0x5f, 0xfb, + 0xe9, 0x9f, 0x10, 0xf1, 0x3c, 0x8c, 0x09, 0x8f, 0xaf, 0x70, 0xca, 0x0a, 0xf7, 0x63, 0x52, 0xcb, + 0x22, 0xc4, 0xea, 0xb5, 0xd1, 0x46, 0x32, 0x95, 0x75, 0x08, 0x7d, 0x78, 0xdd, 0x09, 0x9c, 0xf5, + 0x78, 0xd1, 0x25, 0x59, 0xd7, 0xe2, 0x28, 0xae, 0x37, 0x07, 0x83, 0x6d, 0x3e, 0x82, 0xc1, 0x55, + 0xd6, 0xd6, 0xa7, 0x42, 0x07, 0x25, 0xad, 0xe7, 0xe1, 0x48, 0x06, 0xbf, 0xdc, 0x28, 0x0b, 0xc6, + 0x9c, 0x7a, 0x3d, 0x60, 0xf7, 0xbc, 0x24, 0x60, 0x47, 0x6a, 0xca, 0x98, 0xb5, 0xdc, 0xe5, 0x98, + 0x18, 0xcc, 0x55, 0x18, 0x4d, 0x19, 0x8f, 0x88, 0x7a, 0xd9, 0x0e, 0x89, 0xed, 0xd6, 0x16, 0x8c, + 0xc4, 0xdc, 0x0a, 0x1d, 0x87, 0x52, 0x5c, 0x7a, 0x94, 0x3c, 0x37, 0x79, 0xde, 0x94, 0xd2, 0xcf, + 0x9b, 0x32, 0x0c, 0xaf, 0xb3, 0xc8, 0x71, 0x9d, 0xc8, 0xc1, 0xad, 0x8c, 0xbf, 0xe9, 0x05, 0xa0, + 0x29, 0x3c, 0x2b, 0xc2, 0x8c, 0x89, 0xbd, 0x5c, 0xea, 0x40, 0xb2, 0xec, 0x3c, 0x1f, 0xb7, 0x7e, + 0x4d, 0x60, 0x34, 0x55, 0xc9, 0x17, 0x5c, 0x3f, 0x5d, 0xac, 0xed, 0x51, 0x8b, 0x35, 0x0b, 0xc6, + 0xee, 0x6c, 0x04, 0x5e, 0xe8, 0x7a, 0x0d, 0xee, 0x4d, 0xb1, 0xb0, 0x32, 0xa6, 0xc0, 0x1f, 0xc8, + 0xc0, 0xcf, 0x3e, 0x83, 0x07, 0xbb, 0x9e, 0xc1, 0xd6, 0x47, 0x25, 0x18, 0x89, 0x6f, 0xe3, 0xdc, + 0xca, 0x5a, 0x2d, 0xe6, 0x4a, 0xd9, 0x62, 0xee, 0x10, 0x0c, 0x88, 0x83, 0x29, 0xf0, 0x8b, 0x0f, + 0x05, 0xd9, 0xde, 0x0c, 0xb2, 0x67, 0x00, 0xc2, 0xc8, 0x09, 0xa2, 0x15, 0xd7, 0x89, 0x18, 0xc7, + 0xdd, 0x89, 0x3c, 0x41, 0xfc, 0x56, 0x25, 0xf1, 0x5b, 0xbd, 0x21, 0x89, 0xdf, 0xda, 0x08, 0x97, + 0xbe, 0xe6, 0x44, 0x8c, 0x5e, 0x81, 0x61, 0xd6, 0x72, 0x85, 0xe2, 0x60, 0x4f, 0xc5, 0x21, 0xd6, + 0x72, 0xb9, 0xda, 0x55, 0xd8, 0xd7, 0x31, 0xa6, 0x73, 0x48, 0x85, 0xee, 0x50, 0x4f, 0xdd, 0x31, + 0xa9, 0xc0, 0x27, 0xa0, 0xb0, 0xd7, 0x6f, 0xb3, 0xd6, 0xc4, 0xf0, 0x14, 0x99, 0x19, 0xae, 0xf1, + 0xbf, 0xad, 0x3f, 0x12, 0x38, 0x90, 0xcd, 0x8a, 0xff, 0x43, 0xd1, 0xa2, 0x4b, 0x57, 0x7b, 0x0a, + 0xa6, 0xab, 0xbd, 0xba, 0x74, 0x35, 0x0d, 0xfb, 0x59, 0xd8, 0x08, 0xfc, 0xfb, 0x89, 0x9c, 0x88, + 0x91, 0x71, 0x39, 0x8c, 0xc9, 0xea, 0x29, 0x64, 0x55, 0xf8, 0xe1, 0x59, 0x0c, 0x98, 0x13, 0xf9, + 0xc1, 0x7c, 0xb3, 0xe9, 0xdf, 0x6f, 0x7a, 0xa1, 0x2c, 0xe9, 0xad, 0x17, 0x91, 0xe9, 0xc8, 0x11, + 0x4a, 0xe8, 0x42, 0xd6, 0xea, 0x40, 0x15, 0xa1, 0x3f, 0x5c, 0x93, 0x9f, 0xd6, 0x1d, 0x98, 0x92, + 0x57, 0x50, 0x67, 0xe9, 0xf4, 0x34, 0x7d, 0xbf, 0xef, 0xde, 0x91, 0x3c, 0x91, 0x7e, 0x31, 0xc4, + 0x7a, 0x1a, 0xc6, 0xc5, 0xd9, 0x6b, 0xe0, 0x2f, 0xc8, 0x70, 0xee, 0x6b, 0xa4, 0xc5, 0xfb, 0x77, + 0xbb, 0x1d, 0x49, 0x77, 0x06, 0x5e, 0x62, 0x12, 0xb9, 0x75, 0x0d, 0x2b, 0xbb, 0x64, 0x1c, 0x01, + 0x9e, 0x87, 0x3d, 0xab, 0x4c, 0x26, 0xc2, 0xa3, 0xca, 0x92, 0x72, 0xb1, 0x45, 0xdf, 0x6b, 0xd5, + 0x3a, 0x52, 0xd6, 0x49, 0x38, 0x91, 0x36, 0x79, 0x21, 0xf0, 0xdc, 0x35, 0xb6, 0x78, 0xdb, 0xf1, + 0x5a, 0xf1, 0x25, 0x70, 0x53, 0xdd, 0x02, 0x55, 0x24, 0xbe, 0x11, 0x0e, 0x3b, 0xe2, 0xe7, 0x95, + 0x3a, 0xff, 0x7d, 0xa5, 0xc1, 0x05, 0xd0, 0x37, 0x07, 0x9d, 0x6e, 0x5d, 0xeb, 0x06, 0xde, 0x68, + 0x98, 0xfe, 0x94, 0xd7, 0x68, 0x8f, 0x97, 0x60, 0x3a, 0xff, 0x95, 0x54, 0x82, 0xbd, 0x8e, 0xb4, + 0xb4, 0x3a, 0x2b, 0xc2, 0xfc, 0x2c, 0xec, 0x93, 0xd3, 0xa6, 0xf9, 0xf6, 0x29, 0x03, 0xbf, 0x22, + 0x26, 0x18, 0x6b, 0xa7, 0xbe, 0xac, 0x6f, 0x11, 0x7c, 0x4a, 0xa7, 0x65, 0x58, 0xf8, 0x98, 0x9f, + 0xb1, 0xef, 0x67, 0x08, 0xe0, 0x5d, 0xd7, 0x3a, 0x9a, 0xfb, 0xd1, 0x39, 0x18, 0xe0, 0x08, 0xe9, + 0x37, 0x08, 0x0c, 0x21, 0x3e, 0x3a, 0xad, 0x83, 0xa1, 0x69, 0xae, 0x95, 0x67, 0x7a, 0x0b, 0x8a, + 0x45, 0xad, 0xa7, 0xbe, 0xf9, 0xf1, 0x3f, 0xdf, 0x29, 0x1d, 0xa7, 0x4f, 0xda, 0x9a, 0x36, 0x9e, + 0x34, 0xeb, 0xcf, 0x04, 0xc6, 0xd5, 0x3e, 0x12, 0xad, 0xf6, 0x5a, 0x41, 0x25, 0x3b, 0xcb, 0x76, + 0x61, 0x79, 0x04, 0xe6, 0x70, 0x60, 0x5f, 0xa6, 0x17, 0x0c, 0xc0, 0x2a, 0xf5, 0xcd, 0x0a, 0xbf, + 0xd6, 0xed, 0x2d, 0xfe, 0xcf, 0xf6, 0xf2, 0x79, 0x7a, 0xd6, 0x20, 0x6f, 0x2b, 0xc2, 0xf4, 0x97, + 0x04, 0x06, 0xf8, 0xea, 0xf4, 0xb4, 0x19, 0x9d, 0x34, 0xe2, 0x4c, 0x2f, 0x31, 0xc4, 0x7e, 0x93, + 0x63, 0xbf, 0x4e, 0x4f, 0xe5, 0x62, 0xb1, 0xb7, 0xe4, 0x29, 0xdc, 0x5e, 0x9e, 0xa1, 0x67, 0x4c, + 0x98, 0x13, 0x49, 0xfa, 0x31, 0x81, 0xb1, 0x74, 0xd3, 0x88, 0x5e, 0x30, 0x03, 0x52, 0x5b, 0x5b, + 0xe5, 0x4a, 0x41, 0x69, 0xb4, 0x62, 0x95, 0x5b, 0xf1, 0x55, 0xc3, 0x0e, 0x54, 0xb0, 0x35, 0x95, + 0xb6, 0xe6, 0x22, 0xad, 0x16, 0xb3, 0xc6, 0x96, 0x7d, 0xad, 0x37, 0x09, 0x0c, 0x4b, 0x92, 0x9a, + 0xe6, 0x47, 0x6e, 0xa6, 0x5b, 0x55, 0x3e, 0x5b, 0x40, 0x12, 0x2d, 0x39, 0xc5, 0x2d, 0x99, 0xa4, + 0xc7, 0x74, 0xc8, 0x62, 0x4e, 0xfb, 0x07, 0x25, 0xd8, 0x9f, 0x69, 0xc7, 0x50, 0xbb, 0xe7, 0x22, + 0x2a, 0x19, 0x58, 0xbe, 0x58, 0x5c, 0x01, 0xc1, 0xbd, 0x47, 0x38, 0xba, 0x1f, 0x12, 0x7a, 0xd1, + 0x04, 0xaf, 0x13, 0xeb, 0x5d, 0xa1, 0x63, 0xd3, 0x8a, 0x49, 0xa7, 0x3b, 0xd6, 0x66, 0xa9, 0x5d, + 0x70, 0x77, 0x62, 0xb7, 0x7c, 0xbb, 0x04, 0x87, 0xb5, 0xdd, 0x16, 0x7a, 0xa5, 0x80, 0xad, 0xdd, + 0xed, 0xa2, 0xf2, 0xd3, 0x3b, 0x55, 0x43, 0x47, 0xbd, 0xce, 0xfd, 0xb4, 0x49, 0x9f, 0xeb, 0xe5, + 0xa6, 0xb8, 0xe2, 0xae, 0x78, 0xae, 0xbd, 0x95, 0xae, 0xc9, 0xb7, 0x97, 0x9f, 0xa5, 0x9f, 0x36, + 0x7a, 0xcc, 0xa0, 0x4b, 0xff, 0x4a, 0xd2, 0x01, 0x22, 0xf2, 0x60, 0x91, 0x00, 0x51, 0x12, 0xe1, + 0xc5, 0xe2, 0x0a, 0x68, 0x77, 0x83, 0xdb, 0x7d, 0xcb, 0xbc, 0xd5, 0xdd, 0xa9, 0xf0, 0x02, 0x3d, + 0x67, 0xb4, 0x54, 0xcd, 0x85, 0x1f, 0x11, 0x18, 0x42, 0x00, 0x86, 0x6b, 0x46, 0x65, 0x9d, 0xcb, + 0x33, 0xbd, 0x05, 0xd1, 0x86, 0x5b, 0xdc, 0x86, 0x2f, 0xd2, 0x19, 0x03, 0x24, 0x7b, 0x2b, 0xb9, + 0xfb, 0x73, 0x33, 0x79, 0x0c, 0x3f, 0x2d, 0xcc, 0x2f, 0x49, 0xa4, 0x7b, 0x0d, 0xe8, 0xd5, 0xd6, + 0x8e, 0x01, 0x7d, 0xa6, 0x47, 0x63, 0xbe, 0x24, 0x25, 0x3d, 0xfc, 0x77, 0x02, 0xfb, 0x33, 0x2d, + 0x0c, 0x43, 0x74, 0xe8, 0x9b, 0x2d, 0x86, 0xe8, 0xc8, 0xe9, 0x8e, 0x58, 0x8c, 0x63, 0x5b, 0xd1, + 0x67, 0x5d, 0xc4, 0xd6, 0x09, 0x0e, 0x91, 0x6d, 0xed, 0x2d, 0xf1, 0xef, 0xf6, 0x72, 0x85, 0x9e, + 0x37, 0x68, 0xd8, 0x19, 0x71, 0xfa, 0x37, 0x02, 0xe3, 0x2a, 0xa1, 0x6e, 0x28, 0x01, 0xb4, 0x7d, + 0x92, 0xb2, 0x5d, 0x58, 0x1e, 0x4d, 0x5b, 0xe3, 0xa6, 0x39, 0xfa, 0x94, 0x95, 0x32, 0xad, 0x2b, + 0xcb, 0x55, 0xf5, 0x77, 0x96, 0xb4, 0x2d, 0x2b, 0x4f, 0xff, 0x2d, 0x1f, 0x96, 0xa9, 0x8e, 0x06, + 0x2d, 0xb0, 0x15, 0x99, 0xe3, 0x30, 0xbb, 0x03, 0x0d, 0x34, 0xd1, 0xe7, 0x26, 0x7a, 0xf4, 0x52, + 0x0f, 0x13, 0xb5, 0x47, 0x64, 0x4e, 0x7f, 0x63, 0x48, 0x33, 0x75, 0x3a, 0xf4, 0xb7, 0x04, 0x06, + 0x38, 0x1a, 0x43, 0xcd, 0x93, 0xa6, 0x90, 0x0d, 0x35, 0x8f, 0x42, 0xf0, 0x5a, 0x5f, 0xe1, 0x96, + 0xdc, 0xa4, 0xd3, 0xb9, 0x90, 0xec, 0xad, 0xd4, 0x73, 0x3c, 0xf7, 0x80, 0x4b, 0xf4, 0x8a, 0x30, + 0x7d, 0xb7, 0xd4, 0x39, 0xe0, 0xfc, 0xd5, 0x6f, 0x3c, 0xe0, 0xe9, 0x7e, 0x86, 0xf1, 0x80, 0x2b, + 0x6d, 0x0a, 0xeb, 0xf7, 0xe2, 0x0e, 0xfe, 0x90, 0xe4, 0x6d, 0x04, 0x17, 0x57, 0x31, 0x75, 0x52, + 0x27, 0x27, 0x1a, 0xb6, 0x97, 0x5f, 0xd0, 0xdf, 0x49, 0x5a, 0x53, 0x92, 0xc9, 0x62, 0xf5, 0xe7, + 0xe9, 0xb3, 0x86, 0x55, 0xc3, 0x44, 0x52, 0xe7, 0x47, 0xfa, 0x3d, 0x02, 0xc3, 0x92, 0x63, 0xa6, + 0x3d, 0x4d, 0x2e, 0x50, 0x3e, 0x65, 0x09, 0x6b, 0xab, 0xca, 0x9d, 0x93, 0x53, 0xa6, 0x76, 0xa3, + 0xa4, 0xff, 0xe2, 0x99, 0x50, 0xe9, 0x03, 0x18, 0x33, 0xa1, 0xae, 0x75, 0x61, 0xcc, 0x84, 0xda, + 0x16, 0x83, 0x75, 0x97, 0xc3, 0x7c, 0xd5, 0xb8, 0x85, 0xfc, 0x30, 0xe9, 0xa2, 0xf1, 0x32, 0x9d, + 0xdb, 0xf1, 0x16, 0x86, 0xf4, 0x43, 0x02, 0xa3, 0x29, 0x8a, 0x9f, 0x9e, 0xcf, 0x05, 0xdd, 0xdd, + 0x6c, 0x28, 0x5f, 0x28, 0x26, 0x8c, 0xd6, 0x7d, 0x9e, 0x5b, 0xb7, 0x40, 0xa7, 0x74, 0x30, 0x9d, + 0x66, 0xb3, 0x22, 0x41, 0x2d, 0xe7, 0xd4, 0xb9, 0x31, 0xe8, 0x3f, 0x10, 0x18, 0x14, 0xc4, 0x3d, + 0xcd, 0x3f, 0xdc, 0x4a, 0x47, 0xa0, 0x3c, 0xdd, 0x53, 0x0e, 0x51, 0xba, 0x1c, 0xe5, 0x2b, 0xfa, + 0x7b, 0x3e, 0xe4, 0xb2, 0x19, 0xc7, 0xf7, 0x48, 0x62, 0xaa, 0xe3, 0xc5, 0x0c, 0xf4, 0xfb, 0x04, + 0x46, 0x53, 0x6c, 0xbe, 0xc1, 0xed, 0xdd, 0xed, 0x00, 0x83, 0xdb, 0x35, 0x0d, 0x02, 0x6b, 0x86, + 0x1b, 0x64, 0xe9, 0xdd, 0x2e, 0xfe, 0xaa, 0xf0, 0xd6, 0x01, 0x7d, 0x83, 0xc0, 0xa0, 0x60, 0xee, + 0x0d, 0x6e, 0x55, 0x9a, 0x04, 0x06, 0xb7, 0xaa, 0x6d, 0x03, 0xeb, 0x34, 0x47, 0x71, 0x8c, 0x96, + 0xb5, 0x25, 0x11, 0x97, 0xfd, 0x4e, 0x89, 0xd0, 0x07, 0x04, 0x20, 0x31, 0x82, 0x9e, 0x2b, 0x60, + 0xa9, 0x84, 0x72, 0xbe, 0x90, 0x2c, 0xc2, 0xf1, 0x38, 0x9c, 0x46, 0xce, 0x4b, 0x2f, 0x71, 0x8a, + 0xbd, 0x95, 0x6e, 0x45, 0xe4, 0xbf, 0x3e, 0x52, 0x6e, 0xcc, 0xa8, 0x74, 0xea, 0xd2, 0xc3, 0x5a, + 0x06, 0xd4, 0xf0, 0xfa, 0x30, 0xd1, 0xaa, 0x86, 0xd7, 0x87, 0x91, 0x68, 0xb5, 0x2e, 0x71, 0x9b, + 0x73, 0xaa, 0x26, 0xf1, 0x1a, 0x46, 0x5a, 0xb3, 0xe2, 0xc4, 0x18, 0x7f, 0x47, 0xe0, 0x90, 0x8e, + 0x12, 0xa5, 0x97, 0x4d, 0x67, 0x3f, 0x8f, 0xae, 0x2d, 0x5f, 0xd9, 0xa1, 0x16, 0x42, 0x9f, 0xe3, + 0xd0, 0x73, 0xde, 0x03, 0xc8, 0x2f, 0x56, 0x14, 0x13, 0x42, 0xfa, 0x16, 0x81, 0x61, 0xc9, 0x8f, + 0xd2, 0x1e, 0x74, 0x52, 0x42, 0xad, 0x1a, 0x6e, 0x95, 0x2c, 0xd9, 0x8a, 0x31, 0x7d, 0x82, 0x1e, + 0xcf, 0x77, 0xe8, 0x2a, 0x63, 0xf4, 0x37, 0x04, 0x0e, 0x6a, 0xf8, 0x53, 0x7a, 0xa9, 0x97, 0x2f, + 0x34, 0x84, 0x6c, 0xf9, 0xf2, 0xce, 0x94, 0x10, 0xe9, 0x2c, 0x47, 0x9a, 0x53, 0xaf, 0x48, 0xff, + 0x09, 0xf2, 0xb6, 0x22, 0xc8, 0x5b, 0xfa, 0x2b, 0x02, 0x63, 0x69, 0x72, 0xd1, 0xc0, 0xd4, 0x68, + 0x48, 0x5c, 0x03, 0x53, 0xa3, 0x23, 0x67, 0xad, 0x45, 0x0e, 0xf0, 0x05, 0xe3, 0xcb, 0x58, 0x29, + 0x03, 0x65, 0x09, 0x9c, 0xae, 0x0c, 0x3f, 0x20, 0x30, 0xae, 0xf2, 0xa1, 0x86, 0x0a, 0x5f, 0x4b, + 0xdf, 0x96, 0xed, 0xc2, 0xf2, 0x08, 0xfc, 0x69, 0x0e, 0x3c, 0x87, 0x32, 0xca, 0x07, 0xbe, 0xf0, + 0xa5, 0x3f, 0x3d, 0x9c, 0x24, 0x0f, 0x1e, 0x4e, 0x92, 0x7f, 0x3c, 0x9c, 0x24, 0x6f, 0x3f, 0x9a, + 0x7c, 0xe2, 0xc1, 0xa3, 0xc9, 0x27, 0xfe, 0xf2, 0x68, 0xf2, 0x89, 0xe5, 0xab, 0x6b, 0x5e, 0x74, + 0x7b, 0xa3, 0x5e, 0x6d, 0xf8, 0xeb, 0x62, 0xce, 0x4a, 0x8b, 0x45, 0xf7, 0xfd, 0xe0, 0x55, 0xfc, + 0x6a, 0x32, 0x77, 0x8d, 0x05, 0xf6, 0x6b, 0xa9, 0xa5, 0xf8, 0xff, 0x9b, 0x10, 0xc9, 0xe7, 0xde, + 0x6c, 0x7d, 0x90, 0xb7, 0xa6, 0x2e, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb5, 0x40, 0xa5, + 0xb6, 0x31, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3343,6 +3574,12 @@ type QueryClient interface { // // Since Revision 2 AllowedBridgeChains(ctx context.Context, in *QueryAllowedBridgeChainsRequest, opts ...grpc.CallOption) (*QueryAllowedBridgeChainsResponse, error) + // ProjectClass queries information about a project credit class relationship. + // + // Since Revision 3 + ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) + // ProjectClasses queries all credit classes associated with a project. + ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) } type queryClient struct { @@ -3588,6 +3825,24 @@ func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedB return out, nil } +func (c *queryClient) ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) { + out := new(QueryProjectClassResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectClass", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) { + out := new(QueryProjectClassesResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectClasses", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Classes queries for all credit classes with pagination. @@ -3666,6 +3921,12 @@ type QueryServer interface { // // Since Revision 2 AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) + // ProjectClass queries information about a project credit class relationship. + // + // Since Revision 3 + ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) + // ProjectClasses queries all credit classes associated with a project. + ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -3750,6 +4011,12 @@ func (*UnimplementedQueryServer) ClassFee(ctx context.Context, req *QueryClassFe func (*UnimplementedQueryServer) AllowedBridgeChains(ctx context.Context, req *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllowedBridgeChains not implemented") } +func (*UnimplementedQueryServer) ProjectClass(ctx context.Context, req *QueryProjectClassRequest) (*QueryProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectClass not implemented") +} +func (*UnimplementedQueryServer) ProjectClasses(ctx context.Context, req *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectClasses not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -4223,6 +4490,42 @@ func _Query_AllowedBridgeChains_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Query_ProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectClassRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProjectClass(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Query/ProjectClass", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProjectClass(ctx, req.(*QueryProjectClassRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_ProjectClasses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectClassesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProjectClasses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Query/ProjectClasses", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProjectClasses(ctx, req.(*QueryProjectClassesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "regen.ecocredit.v1.Query", HandlerType: (*QueryServer)(nil), @@ -4331,6 +4634,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "AllowedBridgeChains", Handler: _Query_AllowedBridgeChains_Handler, }, + { + MethodName: "ProjectClass", + Handler: _Query_ProjectClass_Handler, + }, + { + MethodName: "ProjectClasses", + Handler: _Query_ProjectClasses_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "regen/ecocredit/v1/query.proto", @@ -6620,58 +6931,221 @@ func (m *QueryAllowedBridgeChainsResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ +func (m *QueryProjectClassRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - dAtA[offset] = uint8(v) - return base + return dAtA[:n], nil } -func (m *QueryClassesRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } - return n + +func (m *QueryProjectClassRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryClassesResponse) Size() (n int) { - if m == nil { - return 0 - } +func (m *QueryProjectClassRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - if len(m.Classes) > 0 { - for _, e := range m.Classes { - l = e.Size() - n += 1 + l + sovQuery(uint64(l)) - } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 } - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *QueryClassesByAdminRequest) Size() (n int) { - if m == nil { - return 0 +func (m *QueryProjectClassResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - l = len(m.Admin) - if l > 0 { - n += 1 + l + sovQuery(uint64(l)) + return dAtA[:n], nil +} + +func (m *QueryProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ProjectClass != nil { + { + size, err := m.ProjectClass.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryProjectClassesRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryProjectClassesRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProjectClassesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryProjectClassesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryProjectClassesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProjectClassesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Pagination != nil { + { + size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Classes) > 0 { + for iNdEx := len(m.Classes) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Classes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { + offset -= sovQuery(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *QueryClassesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryClassesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Classes) > 0 { + for _, e := range m.Classes { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryClassesByAdminRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Admin) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) } if m.Pagination != nil { l = m.Pagination.Size() @@ -7559,6 +8033,72 @@ func (m *QueryAllowedBridgeChainsResponse) Size() (n int) { return n } +func (m *QueryProjectClassRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryProjectClassResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProjectClass != nil { + l = m.ProjectClass.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryProjectClassesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryProjectClassesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Classes) > 0 { + for _, e := range m.Classes { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + if m.Pagination != nil { + l = m.Pagination.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -13665,6 +14205,444 @@ func (m *QueryAllowedBridgeChainsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryProjectClassRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProjectClassRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProjectClassRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryProjectClassResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProjectClassResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectClass", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProjectClass == nil { + m.ProjectClass = &ProjectClass{} + } + if err := m.ProjectClass.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryProjectClassesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProjectClassesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProjectClassesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageRequest{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryProjectClassesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryProjectClassesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryProjectClassesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Classes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Classes = append(m.Classes, &ClassInfo{}) + if err := m.Classes[len(m.Classes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pagination == nil { + m.Pagination = &query.PageResponse{} + } + if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/ecocredit/base/types/v1/query.pb.gw.go b/x/ecocredit/base/types/v1/query.pb.gw.go index 9c4ac8b1ce..c699f5193d 100644 --- a/x/ecocredit/base/types/v1/query.pb.gw.go +++ b/x/ecocredit/base/types/v1/query.pb.gw.go @@ -2547,6 +2547,172 @@ func local_request_Query_AllowedBridgeChains_0(ctx context.Context, marshaler ru } +var ( + filter_Query_ProjectClass_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} +) + +func request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectClassRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClass_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ProjectClass(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectClassRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClass_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProjectClass(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Query_ProjectClasses_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectClassesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClasses_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ProjectClasses(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectClassesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["project_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + } + + protoReq.ProjectId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClasses_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProjectClasses(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -3565,6 +3731,52 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ProjectClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ProjectClass_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectClass_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ProjectClasses_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ProjectClasses_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectClasses_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -4486,6 +4698,46 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ProjectClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ProjectClass_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectClass_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_ProjectClasses_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ProjectClasses_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectClasses_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -4577,6 +4829,10 @@ var ( pattern_Query_ClassFee_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"regen", "ecocredit", "v1", "class-fee"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_AllowedBridgeChains_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"regen", "ecocredit", "v1", "allowed-bridge-chains"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProjectClass_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 4}, []string{"regen", "ecocredit", "v1", "project", "project_id", "class"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProjectClasses_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"regen", "ecocredit", "v1", "project", "project_id", "class"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -4667,4 +4923,8 @@ var ( forward_Query_ClassFee_0 = runtime.ForwardResponseMessage forward_Query_AllowedBridgeChains_0 = runtime.ForwardResponseMessage + + forward_Query_ProjectClass_0 = runtime.ForwardResponseMessage + + forward_Query_ProjectClasses_0 = runtime.ForwardResponseMessage ) diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 5145ab4c88..ebf9cd1abc 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -296,9 +296,9 @@ type Project struct { Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin []byte `protobuf:"bytes,3,opt,name=admin,proto3" json:"admin,omitempty"` - // class_key is the table row identifier of the credit class used internally + // Deprecated: class_key is the table row identifier of the credit class used internally // for efficient lookups. This links a project to a credit class. - ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` + ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // Deprecated: Do not use. // jurisdiction is the jurisdiction of the project. // Full documentation can be found in MsgCreateProject.jurisdiction. Jurisdiction string `protobuf:"bytes,5,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` @@ -362,6 +362,7 @@ func (m *Project) GetAdmin() []byte { return nil } +// Deprecated: Do not use. func (m *Project) GetClassKey() uint64 { if m != nil { return m.ClassKey @@ -1330,93 +1331,94 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1372 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x73, 0xdb, 0x54, - 0x17, 0x8e, 0xfc, 0x11, 0xdb, 0xc7, 0x5f, 0xca, 0x4d, 0x93, 0xaa, 0x69, 0xeb, 0xa6, 0x7a, 0xfb, - 0xf6, 0xeb, 0xcd, 0x2b, 0x4f, 0x02, 0xcc, 0x80, 0x99, 0x69, 0xc7, 0x71, 0x5c, 0x08, 0x85, 0x36, - 0xc8, 0xee, 0x82, 0x6e, 0xcc, 0xb5, 0x74, 0xeb, 0xa8, 0xb5, 0x25, 0x23, 0x5d, 0xa7, 0xc9, 0x96, - 0x1f, 0xd0, 0x61, 0xc5, 0x8a, 0xe1, 0x0f, 0xc0, 0x4f, 0x60, 0xc9, 0x02, 0x76, 0x9d, 0x61, 0xc3, - 0x92, 0x69, 0xff, 0x01, 0xc3, 0x8a, 0x15, 0x73, 0x8f, 0xae, 0x6c, 0xc9, 0x75, 0xd3, 0x0e, 0x3b, - 0x9d, 0x73, 0xcf, 0xc7, 0x73, 0x9e, 0x7b, 0xce, 0xbd, 0x57, 0x50, 0xf3, 0xd9, 0x80, 0xb9, 0x75, - 0x66, 0x79, 0x96, 0xcf, 0x6c, 0x87, 0xd7, 0x8f, 0xb6, 0xeb, 0x01, 0xa7, 0x9c, 0x19, 0x63, 0xdf, - 0xe3, 0x1e, 0x21, 0xb8, 0x6e, 0x4c, 0xd7, 0x8d, 0xa3, 0xed, 0x8d, 0x9a, 0xe5, 0x05, 0x23, 0x2f, - 0xa8, 0xf7, 0x69, 0xc0, 0xea, 0x47, 0xdb, 0x7d, 0xc6, 0xe9, 0x76, 0xdd, 0xf2, 0x1c, 0x37, 0xf4, - 0xd9, 0x38, 0x2b, 0xd7, 0x3d, 0x7f, 0x24, 0xc2, 0x79, 0xfe, 0x48, 0x2e, 0x5c, 0x1a, 0x78, 0xde, - 0x60, 0xc8, 0xea, 0x28, 0xf5, 0x27, 0x8f, 0xea, 0xdc, 0x19, 0xb1, 0x80, 0xd3, 0xd1, 0x38, 0x34, - 0xd0, 0xbf, 0x53, 0x00, 0x5a, 0x98, 0xa7, 0x7b, 0x32, 0x66, 0x44, 0x87, 0x12, 0xed, 0xf7, 0x7d, - 0x76, 0xe4, 0x50, 0xee, 0x78, 0xae, 0xa6, 0x6c, 0x2a, 0xd7, 0x0b, 0x66, 0x42, 0x47, 0x08, 0x64, - 0x5c, 0x3a, 0x62, 0x5a, 0x0a, 0xd7, 0xf0, 0x5b, 0xe8, 0x26, 0xae, 0xc3, 0xb5, 0x74, 0xa8, 0x13, - 0xdf, 0xe4, 0x02, 0x14, 0xc6, 0x3e, 0xb3, 0x9c, 0x40, 0x04, 0xca, 0x6c, 0x2a, 0xd7, 0xcb, 0xe6, - 0x4c, 0xd1, 0xb8, 0xf2, 0xe7, 0xf7, 0xbf, 0x3d, 0x4b, 0xd7, 0xa0, 0x92, 0xcc, 0x48, 0x20, 0x8c, - 0xae, 0x2a, 0x9a, 0xa2, 0x29, 0xfa, 0xaf, 0x0a, 0x64, 0x5b, 0x43, 0x1a, 0x04, 0x44, 0x85, 0xf4, - 0x13, 0x76, 0x82, 0x80, 0x32, 0xa6, 0xf8, 0x24, 0x15, 0x48, 0x39, 0xb6, 0x44, 0x91, 0x72, 0x6c, - 0x72, 0x06, 0xb2, 0xd4, 0x1e, 0x39, 0x2e, 0x82, 0x28, 0x99, 0xa1, 0x40, 0x36, 0x20, 0x3f, 0x62, - 0x9c, 0xda, 0x94, 0x53, 0x04, 0x51, 0x30, 0xa7, 0x32, 0xd9, 0x02, 0x12, 0x72, 0xdc, 0xe3, 0x27, - 0x63, 0xd6, 0x0b, 0x71, 0x68, 0x59, 0xb4, 0x52, 0xad, 0x29, 0x2b, 0x4d, 0xd4, 0x37, 0x6e, 0x21, - 0xe2, 0xf7, 0x21, 0x87, 0x48, 0x54, 0x85, 0xe4, 0x05, 0x00, 0x01, 0x94, 0x14, 0x64, 0x6a, 0x35, - 0x45, 0xd6, 0x17, 0xc5, 0x54, 0xd3, 0x5a, 0x4a, 0xff, 0x12, 0x8a, 0x58, 0xca, 0x7e, 0x10, 0x4c, - 0x98, 0x4f, 0xce, 0x43, 0xc1, 0x12, 0x62, 0x6f, 0x56, 0x56, 0x1e, 0x15, 0x77, 0xd9, 0x09, 0x59, - 0x87, 0x65, 0x07, 0xcd, 0xb0, 0xbe, 0x92, 0x29, 0xa5, 0xc6, 0x05, 0xc4, 0xb0, 0x0e, 0x04, 0xd4, - 0xa9, 0xf3, 0x96, 0xb4, 0x4c, 0xeb, 0x3f, 0xa4, 0x20, 0x77, 0xe0, 0x7b, 0x8f, 0x99, 0xc5, 0xff, - 0x35, 0x5f, 0x09, 0x58, 0x99, 0x39, 0x58, 0x3a, 0x94, 0x1e, 0x4f, 0x7c, 0x27, 0xb0, 0x1d, 0x0b, - 0xdb, 0x23, 0xa4, 0x2a, 0xa1, 0x4b, 0x10, 0xbe, 0x3c, 0x47, 0xf8, 0x65, 0x28, 0xf9, 0xec, 0x11, - 0xf3, 0x99, 0x6b, 0xb1, 0x9e, 0x63, 0x6b, 0x39, 0x5c, 0x2f, 0x4e, 0x75, 0xfb, 0x76, 0xe3, 0x10, - 0x2b, 0xec, 0x2f, 0x62, 0x99, 0x40, 0x29, 0x56, 0xb4, 0xad, 0xa6, 0xe2, 0xcc, 0xa7, 0x89, 0x9a, - 0x0c, 0xae, 0x66, 0xc8, 0x06, 0xac, 0xcf, 0x1c, 0x12, 0x6b, 0x59, 0x2d, 0xa3, 0xff, 0x9c, 0x86, - 0xec, 0x2e, 0xe5, 0xd6, 0xe1, 0x02, 0xae, 0x5e, 0xc3, 0x3f, 0xb9, 0x04, 0xc5, 0x71, 0x48, 0x30, - 0xf2, 0x93, 0x46, 0x0f, 0x90, 0x2a, 0xc1, 0xd0, 0x19, 0xc8, 0xda, 0xcc, 0xf5, 0x46, 0xb2, 0xd7, - 0x42, 0x21, 0xc1, 0x49, 0x76, 0x8e, 0x93, 0x0f, 0x00, 0x02, 0x4e, 0x7d, 0xde, 0xb3, 0x29, 0x67, - 0xc8, 0x58, 0x71, 0x67, 0xc3, 0x08, 0xe7, 0xd6, 0x88, 0xe6, 0xd6, 0xe8, 0x46, 0x73, 0x6b, 0x16, - 0xd0, 0x7a, 0x8f, 0x72, 0x46, 0xde, 0x83, 0x3c, 0x73, 0xed, 0xd0, 0x31, 0xf7, 0x46, 0xc7, 0x1c, - 0x73, 0x6d, 0x74, 0xbb, 0x0d, 0x65, 0x51, 0x0e, 0x15, 0x5c, 0xa0, 0x6f, 0xfe, 0x8d, 0xbe, 0xa5, - 0xc8, 0x01, 0x03, 0x10, 0xc8, 0x78, 0x63, 0xe6, 0x6a, 0x85, 0x4d, 0xe5, 0x7a, 0xde, 0xc4, 0xef, - 0x64, 0xdf, 0x40, 0xb2, 0x6f, 0x1a, 0x0f, 0x71, 0x53, 0xbb, 0xb3, 0x4d, 0x2d, 0x4a, 0x9a, 0x70, - 0x5f, 0xab, 0x09, 0x52, 0xd5, 0x14, 0xa9, 0xc4, 0x29, 0x51, 0xd3, 0x04, 0xa2, 0xdd, 0x50, 0x33, - 0xa4, 0x1c, 0xcb, 0xa3, 0x66, 0xb5, 0xac, 0xfe, 0xb5, 0x02, 0x65, 0x9c, 0xab, 0x0e, 0xfb, 0x6a, - 0x22, 0xf6, 0xf7, 0x35, 0x63, 0xad, 0x2c, 0x1e, 0x6b, 0xf2, 0x1f, 0x28, 0xbb, 0xec, 0x98, 0xf7, - 0x02, 0xe9, 0x8e, 0x3b, 0x9e, 0x31, 0x4b, 0x42, 0x19, 0x85, 0x6c, 0xd4, 0xb0, 0x00, 0x0d, 0xce, - 0x2c, 0x0c, 0xbd, 0xac, 0x3f, 0x86, 0xaa, 0x1c, 0xbc, 0x29, 0x8a, 0x53, 0xe7, 0xfb, 0xad, 0x92, - 0xae, 0x61, 0xd2, 0x2a, 0x14, 0xe3, 0x91, 0x72, 0xba, 0x0b, 0x65, 0x6c, 0xdb, 0x69, 0xa6, 0xb9, - 0xa6, 0x54, 0x5e, 0x69, 0xca, 0xb7, 0xca, 0x76, 0x16, 0xb3, 0xad, 0x40, 0x39, 0x19, 0x2d, 0xaf, - 0xff, 0xa5, 0x40, 0x09, 0x13, 0xee, 0xd2, 0x21, 0x95, 0x95, 0xf5, 0x85, 0x1c, 0xaf, 0x0c, 0x15, - 0x22, 0x97, 0x06, 0x39, 0x6a, 0xdb, 0x3e, 0x0b, 0x02, 0x39, 0x3a, 0x91, 0x48, 0xae, 0x41, 0x95, - 0xfb, 0xd4, 0xa6, 0xfd, 0x21, 0xeb, 0xd1, 0x91, 0x37, 0x71, 0xa3, 0xeb, 0xa2, 0x12, 0xa9, 0x9b, - 0xa8, 0x25, 0xff, 0x85, 0x8a, 0xcf, 0xb8, 0xe3, 0x33, 0x3b, 0xb2, 0x0b, 0x87, 0xa9, 0x2c, 0xb5, - 0xd2, 0xec, 0x1a, 0x54, 0x59, 0x60, 0xf9, 0xde, 0xd3, 0x99, 0x5d, 0x38, 0x5b, 0x95, 0x48, 0x1d, - 0x1a, 0x36, 0xde, 0xc5, 0xca, 0x0c, 0x58, 0x85, 0x15, 0x89, 0x65, 0x6b, 0x8a, 0x9f, 0xac, 0xc1, - 0xca, 0x54, 0xd8, 0x92, 0xcb, 0xaa, 0xa2, 0x15, 0xf4, 0x9f, 0x14, 0x28, 0x86, 0x3c, 0x4f, 0xc6, - 0xe3, 0xe1, 0xc9, 0xe9, 0x55, 0x2f, 0xa8, 0x2d, 0xf5, 0x96, 0xb5, 0xa5, 0x17, 0xd5, 0x76, 0x03, - 0x54, 0x4b, 0x70, 0x3d, 0x1c, 0xce, 0x93, 0x50, 0x9d, 0xea, 0x65, 0x75, 0xb1, 0x2e, 0x99, 0xe1, - 0x03, 0x7d, 0x02, 0xe5, 0xfb, 0xbe, 0x33, 0x70, 0xdc, 0xee, 0xf1, 0xbe, 0x6b, 0xb3, 0xe3, 0xd3, - 0xfb, 0x71, 0xfe, 0x6e, 0x58, 0x87, 0xe5, 0xc0, 0x9b, 0xf8, 0x16, 0x93, 0xf0, 0xa4, 0xd4, 0xb8, - 0x84, 0xc9, 0xce, 0xc1, 0x1a, 0xac, 0xc6, 0x8f, 0xe2, 0x2d, 0x69, 0x5c, 0xd4, 0xbf, 0x55, 0x64, - 0x77, 0xb6, 0x3c, 0x97, 0xfb, 0xd4, 0xe2, 0xa7, 0xf3, 0x96, 0x00, 0x95, 0x9a, 0x03, 0xb5, 0x01, - 0x79, 0x4b, 0x46, 0x91, 0x30, 0xa6, 0x72, 0xa3, 0x8e, 0x40, 0x6e, 0x24, 0xaa, 0x26, 0x1a, 0x90, - 0x19, 0xaa, 0xc8, 0x14, 0x5f, 0x12, 0x25, 0xfd, 0x43, 0x58, 0xc3, 0x53, 0xa2, 0xe5, 0x33, 0xca, - 0x3d, 0xbf, 0x39, 0x1c, 0x7a, 0x4f, 0x87, 0x4e, 0xc0, 0x45, 0xc3, 0x32, 0x57, 0xec, 0x90, 0x8d, - 0xe8, 0xf2, 0x66, 0x24, 0x36, 0xf2, 0x7f, 0x8b, 0x1c, 0xa9, 0x7c, 0x59, 0xdf, 0x83, 0x55, 0x74, - 0x60, 0x76, 0x3c, 0x46, 0xbc, 0xd7, 0x95, 0x44, 0xaf, 0x37, 0x56, 0x11, 0x5e, 0x19, 0x0a, 0x33, - 0x8b, 0x8a, 0xde, 0x84, 0x3c, 0xba, 0xdf, 0x61, 0x8c, 0xfc, 0x0f, 0xd2, 0x8f, 0x18, 0x43, 0xb7, - 0xe2, 0xce, 0x39, 0x23, 0x7c, 0xbf, 0x19, 0xe2, 0x7d, 0x67, 0xc8, 0xf7, 0x9d, 0xd1, 0xf2, 0x1c, - 0xd7, 0x14, 0x56, 0x53, 0x20, 0x55, 0xfd, 0x2e, 0x10, 0x09, 0x64, 0xd7, 0x77, 0xec, 0x01, 0x6b, - 0x1d, 0x52, 0xc7, 0x25, 0x17, 0x01, 0x2c, 0xf1, 0xd1, 0xc3, 0x77, 0x59, 0x78, 0xd0, 0x15, 0x50, - 0x73, 0x8f, 0x8e, 0x58, 0x63, 0x1d, 0xc1, 0xa8, 0x50, 0x4a, 0x98, 0xa9, 0xfa, 0xb3, 0x14, 0x94, - 0xe4, 0xa9, 0x15, 0xbe, 0xb1, 0xde, 0x78, 0x90, 0x24, 0xb6, 0x2b, 0x3d, 0xb7, 0x5d, 0xb7, 0x60, - 0x59, 0xbc, 0x63, 0x27, 0x01, 0x76, 0x6a, 0x65, 0xe7, 0xaa, 0xf1, 0xea, 0x4b, 0xd6, 0x88, 0xe7, - 0xeb, 0xa0, 0xb5, 0x29, 0xbd, 0x44, 0xcf, 0x47, 0xd9, 0xe7, 0x2e, 0xcb, 0xaa, 0xd4, 0x7f, 0x16, - 0xdd, 0x99, 0x3b, 0xb0, 0x26, 0x8f, 0xe1, 0x10, 0xce, 0xdc, 0x83, 0x63, 0x35, 0x5c, 0xc4, 0x24, - 0x91, 0x4f, 0xe3, 0x32, 0xb2, 0x70, 0x1e, 0xce, 0xc2, 0x5a, 0xac, 0xc8, 0xad, 0x59, 0x3d, 0x2b, - 0x37, 0x7f, 0x54, 0x80, 0xbc, 0x0a, 0x90, 0x5c, 0x81, 0xcd, 0x03, 0xf3, 0xfe, 0x27, 0xed, 0x56, - 0xb7, 0xd7, 0xfa, 0xb4, 0xd9, 0xe9, 0xf4, 0x3a, 0xdd, 0x66, 0xf7, 0x41, 0xa7, 0xf7, 0xe0, 0x5e, - 0xe7, 0xa0, 0xdd, 0xda, 0xbf, 0xb3, 0xdf, 0xde, 0x53, 0x97, 0xc8, 0x65, 0xb8, 0xb8, 0xd0, 0xaa, - 0xd9, 0x6a, 0xb5, 0x0f, 0xba, 0xed, 0x3d, 0x55, 0x21, 0x37, 0xe1, 0xea, 0x42, 0x93, 0xd6, 0xc7, - 0xcd, 0x7b, 0x1f, 0xb5, 0x3b, 0x3d, 0xb3, 0xfd, 0xf9, 0x83, 0x76, 0x47, 0xd8, 0xa6, 0x5e, 0x1b, - 0xce, 0x6c, 0x0b, 0x5d, 0x7b, 0x4f, 0x4d, 0xef, 0x7e, 0xf1, 0xcb, 0x8b, 0x9a, 0xf2, 0xfc, 0x45, - 0x4d, 0xf9, 0xe3, 0x45, 0x4d, 0xf9, 0xe6, 0x65, 0x6d, 0xe9, 0xf9, 0xcb, 0xda, 0xd2, 0xef, 0x2f, - 0x6b, 0x4b, 0x0f, 0x6f, 0x0f, 0x1c, 0x7e, 0x38, 0xe9, 0x1b, 0x96, 0x37, 0xaa, 0xe3, 0x26, 0xfc, - 0xdf, 0x65, 0xfc, 0xa9, 0xe7, 0x3f, 0x91, 0xd2, 0x90, 0xd9, 0x03, 0xe6, 0xd7, 0x8f, 0x63, 0x7f, - 0x21, 0xf8, 0x6b, 0x21, 0x2e, 0xb5, 0x40, 0xfc, 0x60, 0x2c, 0xe3, 0x1b, 0xe0, 0x9d, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x0a, 0xdd, 0xcf, 0xe1, 0xad, 0x0c, 0x00, 0x00, + // 1381 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x44, + 0x14, 0x8f, 0xfc, 0x27, 0xb1, 0x9f, 0xff, 0x29, 0x9b, 0x26, 0x55, 0x43, 0xeb, 0xa4, 0xa2, 0xf4, + 0x1f, 0x41, 0x26, 0x01, 0x66, 0xc0, 0xcc, 0xb4, 0xe3, 0x38, 0x2e, 0x84, 0x42, 0x1b, 0x64, 0xf7, + 0x40, 0x2f, 0x66, 0x2d, 0x6d, 0x1d, 0xb5, 0xb6, 0x64, 0xa4, 0x75, 0x9a, 0x5c, 0xf9, 0x00, 0x0c, + 0x27, 0x4e, 0xc0, 0x27, 0x60, 0x86, 0x2f, 0xc0, 0x91, 0x03, 0xdc, 0x3a, 0xc3, 0x85, 0x23, 0xd3, + 0x7e, 0x03, 0x86, 0x13, 0x27, 0x66, 0x9f, 0x56, 0xb6, 0xe4, 0xba, 0x69, 0x87, 0x9b, 0xde, 0xdb, + 0xf7, 0xe7, 0xf7, 0x7e, 0xfb, 0xde, 0xee, 0x0a, 0xaa, 0x3e, 0xeb, 0x33, 0xb7, 0xc6, 0x2c, 0xcf, + 0xf2, 0x99, 0xed, 0xf0, 0xda, 0xd1, 0x76, 0x2d, 0xe0, 0x94, 0x33, 0x63, 0xe4, 0x7b, 0xdc, 0x23, + 0x04, 0xd7, 0x8d, 0xc9, 0xba, 0x71, 0xb4, 0xbd, 0x5e, 0xb5, 0xbc, 0x60, 0xe8, 0x05, 0xb5, 0x1e, + 0x0d, 0x58, 0xed, 0x68, 0xbb, 0xc7, 0x38, 0xdd, 0xae, 0x59, 0x9e, 0xe3, 0x86, 0x3e, 0xeb, 0x67, + 0xe5, 0xba, 0xe7, 0x0f, 0x45, 0x38, 0xcf, 0x1f, 0xca, 0x85, 0x8d, 0xbe, 0xe7, 0xf5, 0x07, 0xac, + 0x86, 0x52, 0x6f, 0xfc, 0xa0, 0xc6, 0x9d, 0x21, 0x0b, 0x38, 0x1d, 0x8e, 0x42, 0x03, 0xfd, 0x7b, + 0x05, 0xa0, 0x89, 0x79, 0x3a, 0x27, 0x23, 0x46, 0x74, 0x28, 0xd2, 0x5e, 0xcf, 0x67, 0x47, 0x0e, + 0xe5, 0x8e, 0xe7, 0x6a, 0xca, 0xa6, 0x72, 0x35, 0x6f, 0x26, 0x74, 0x84, 0x40, 0xc6, 0xa5, 0x43, + 0xa6, 0xa5, 0x70, 0x0d, 0xbf, 0x85, 0x6e, 0xec, 0x3a, 0x5c, 0x4b, 0x87, 0x3a, 0xf1, 0x4d, 0xce, + 0x43, 0x7e, 0xe4, 0x33, 0xcb, 0x09, 0x44, 0xa0, 0xcc, 0xa6, 0x72, 0xb5, 0x64, 0x4e, 0x15, 0xf5, + 0x4b, 0x7f, 0xff, 0xf8, 0xc7, 0x37, 0xe9, 0x2a, 0x94, 0x93, 0x19, 0x09, 0x84, 0xd1, 0x55, 0x45, + 0x53, 0x34, 0x45, 0xff, 0x5d, 0x81, 0x6c, 0x73, 0x40, 0x83, 0x80, 0xa8, 0x90, 0x7e, 0xc4, 0x4e, + 0x10, 0x50, 0xc6, 0x14, 0x9f, 0xa4, 0x0c, 0x29, 0xc7, 0x96, 0x28, 0x52, 0x8e, 0x4d, 0xce, 0x40, + 0x96, 0xda, 0x43, 0xc7, 0x45, 0x10, 0x45, 0x33, 0x14, 0xc8, 0x3a, 0xe4, 0x86, 0x8c, 0x53, 0x9b, + 0x72, 0x8a, 0x20, 0xf2, 0xe6, 0x44, 0x26, 0x5b, 0x40, 0x42, 0x8e, 0xbb, 0xfc, 0x64, 0xc4, 0xba, + 0x21, 0x0e, 0x2d, 0x8b, 0x56, 0xaa, 0x35, 0x61, 0xa5, 0x81, 0xfa, 0xfa, 0x0d, 0x44, 0xfc, 0x3e, + 0x2c, 0x21, 0x12, 0x55, 0x21, 0x39, 0x01, 0x40, 0x00, 0x25, 0x79, 0x99, 0x5a, 0x4d, 0x91, 0xb5, + 0x79, 0x31, 0xd5, 0xb4, 0x96, 0xd2, 0xbf, 0x84, 0x02, 0x96, 0xb2, 0x1f, 0x04, 0x63, 0xe6, 0x93, + 0xd7, 0x20, 0x6f, 0x09, 0xb1, 0x3b, 0x2d, 0x2b, 0x87, 0x8a, 0xdb, 0xec, 0x84, 0xac, 0xc1, 0xa2, + 0x83, 0x66, 0x58, 0x5f, 0xd1, 0x94, 0x52, 0xfd, 0x3c, 0x62, 0x58, 0x03, 0x02, 0xea, 0xc4, 0x79, + 0x4b, 0x5a, 0xa6, 0xf5, 0x9f, 0x53, 0xb0, 0x74, 0xe0, 0x7b, 0x0f, 0x99, 0xc5, 0xff, 0x37, 0x5f, + 0x1b, 0x71, 0x58, 0x82, 0xb0, 0xcc, 0x6e, 0x4a, 0x53, 0x62, 0xd0, 0x74, 0x28, 0x3e, 0x1c, 0xfb, + 0x4e, 0x60, 0x3b, 0x16, 0xb6, 0x48, 0x48, 0x57, 0x42, 0x97, 0x20, 0x7d, 0x71, 0x86, 0xf4, 0x8b, + 0x50, 0xf4, 0xd9, 0x03, 0xe6, 0x33, 0xd7, 0x62, 0x5d, 0xc7, 0xd6, 0x96, 0x70, 0xbd, 0x30, 0xd1, + 0xed, 0xdb, 0xf5, 0x43, 0xac, 0xb2, 0x37, 0x8f, 0x69, 0x02, 0xc5, 0x58, 0xe1, 0xb6, 0x9a, 0x8a, + 0xb3, 0x9f, 0x26, 0x6a, 0x32, 0xb8, 0x9a, 0x21, 0xeb, 0xb0, 0x36, 0x75, 0x48, 0xac, 0x65, 0xb5, + 0x8c, 0xfe, 0x6b, 0x1a, 0xb2, 0xbb, 0x94, 0x5b, 0x87, 0x73, 0xf8, 0x7a, 0xc1, 0x1e, 0x90, 0x0d, + 0x28, 0x8c, 0x42, 0x92, 0x91, 0xa3, 0x34, 0x7a, 0x80, 0x54, 0x09, 0x86, 0xce, 0x40, 0xd6, 0x66, + 0xae, 0x37, 0x94, 0xfd, 0x16, 0x0a, 0x09, 0x4e, 0xb2, 0x33, 0x9c, 0x7c, 0x00, 0x10, 0x70, 0xea, + 0xf3, 0xae, 0x4d, 0x39, 0x43, 0xc6, 0x0a, 0x3b, 0xeb, 0x46, 0x38, 0xbb, 0x46, 0x34, 0xbb, 0x46, + 0x27, 0x9a, 0x5d, 0x33, 0x8f, 0xd6, 0x7b, 0x94, 0x33, 0xf2, 0x1e, 0xe4, 0x98, 0x6b, 0x87, 0x8e, + 0x4b, 0x2f, 0x75, 0x5c, 0x62, 0xae, 0x8d, 0x6e, 0x37, 0xa1, 0x24, 0xca, 0xa1, 0x82, 0x0b, 0xf4, + 0xcd, 0xbd, 0xd4, 0xb7, 0x18, 0x39, 0x60, 0x00, 0x02, 0x19, 0x6f, 0xc4, 0x5c, 0x2d, 0xbf, 0xa9, + 0x5c, 0xcd, 0x99, 0xf8, 0x9d, 0x6c, 0x69, 0x48, 0xb6, 0x74, 0xfd, 0x3e, 0x6e, 0x6a, 0x67, 0xba, + 0xa9, 0x05, 0x49, 0x13, 0xee, 0x6b, 0x25, 0x41, 0xaa, 0x9a, 0x22, 0xe5, 0x38, 0x25, 0x6a, 0x9a, + 0x40, 0xb4, 0x1b, 0x6a, 0x86, 0x94, 0x62, 0x79, 0xd4, 0xac, 0x96, 0xd5, 0xbf, 0x56, 0xa0, 0x84, + 0xb3, 0xd5, 0x66, 0x5f, 0x8d, 0xc5, 0xfe, 0xbe, 0x60, 0xb4, 0x95, 0xf9, 0xa3, 0x4d, 0x5e, 0x87, + 0x92, 0xcb, 0x8e, 0x79, 0x37, 0x90, 0xee, 0xb8, 0xe3, 0x19, 0xb3, 0x28, 0x94, 0x51, 0xc8, 0x7a, + 0x15, 0x0b, 0xd0, 0xe0, 0xcc, 0xdc, 0xd0, 0x8b, 0xfa, 0x43, 0xa8, 0xc8, 0xe1, 0x9b, 0xa0, 0x38, + 0x75, 0xc6, 0x5f, 0x29, 0xe9, 0x2a, 0x26, 0xad, 0x40, 0x21, 0x1e, 0x69, 0x49, 0x77, 0xa1, 0x84, + 0x6d, 0x3b, 0xc9, 0x34, 0xd3, 0x94, 0xca, 0x73, 0x4d, 0xf9, 0x4a, 0xd9, 0xce, 0x62, 0xb6, 0x65, + 0x28, 0x25, 0xa3, 0xe5, 0xf4, 0x7f, 0x14, 0x28, 0x62, 0xc2, 0x5d, 0x3a, 0xa0, 0xb2, 0xb2, 0x9e, + 0x90, 0xe3, 0x95, 0xa1, 0x42, 0xe4, 0xd2, 0x60, 0x89, 0xda, 0xb6, 0xcf, 0x82, 0x40, 0x8e, 0x4e, + 0x24, 0x92, 0x2b, 0x50, 0xe1, 0x3e, 0xb5, 0x69, 0x6f, 0xc0, 0xba, 0x74, 0xe8, 0x8d, 0xdd, 0xe8, + 0xca, 0x28, 0x47, 0xea, 0x06, 0x6a, 0xc9, 0x1b, 0x50, 0xf6, 0x19, 0x77, 0x7c, 0x66, 0x47, 0x76, + 0xe1, 0x30, 0x95, 0xa4, 0x56, 0x9a, 0x5d, 0x81, 0x0a, 0x0b, 0x2c, 0xdf, 0x7b, 0x3c, 0xb5, 0x0b, + 0x67, 0xab, 0x1c, 0xa9, 0x43, 0xc3, 0xfa, 0xbb, 0x58, 0x99, 0x01, 0x2b, 0xb0, 0x2c, 0xb1, 0x6c, + 0x4d, 0xf0, 0x93, 0x55, 0x58, 0x9e, 0x08, 0x5b, 0x72, 0x59, 0x55, 0xb4, 0xbc, 0xfe, 0x8b, 0x02, + 0x85, 0x90, 0xe7, 0xf1, 0x68, 0x34, 0x38, 0x39, 0xbd, 0xea, 0x39, 0xb5, 0xa5, 0x5e, 0xb1, 0xb6, + 0xf4, 0xbc, 0xda, 0xae, 0x81, 0x6a, 0x09, 0xae, 0x07, 0x83, 0x59, 0x12, 0x2a, 0x13, 0xbd, 0xac, + 0x2e, 0xd6, 0x25, 0x53, 0x7c, 0xa0, 0x8f, 0xa1, 0x74, 0xd7, 0x77, 0xfa, 0x8e, 0xdb, 0x39, 0xde, + 0x77, 0x6d, 0x76, 0x7c, 0x7a, 0x3f, 0xce, 0xde, 0x0f, 0x6b, 0xb0, 0x18, 0x78, 0x63, 0xdf, 0x62, + 0x12, 0x9e, 0x94, 0xea, 0x1b, 0x98, 0xec, 0x1c, 0xac, 0xc2, 0x4a, 0xfc, 0x28, 0xde, 0x92, 0xc6, + 0x05, 0xfd, 0x3b, 0x45, 0x76, 0x67, 0xd3, 0x73, 0xb9, 0x4f, 0x2d, 0x7e, 0x3a, 0x6f, 0x09, 0x50, + 0xa9, 0x19, 0x50, 0xeb, 0x90, 0xb3, 0x64, 0x14, 0x09, 0x63, 0x22, 0xd7, 0x6b, 0x08, 0xe4, 0x5a, + 0xa2, 0x6a, 0xa2, 0x01, 0x99, 0xa2, 0x8a, 0x4c, 0xf1, 0x35, 0x51, 0xd4, 0x3f, 0x84, 0x55, 0x3c, + 0x25, 0x9a, 0x3e, 0xa3, 0xdc, 0xf3, 0x1b, 0x83, 0x81, 0xf7, 0x78, 0xe0, 0x04, 0x5c, 0x34, 0x2c, + 0x73, 0xc5, 0x0e, 0xd9, 0x88, 0x2e, 0x67, 0x46, 0x62, 0x3d, 0xf7, 0xaf, 0xc8, 0x91, 0xca, 0x95, + 0xf4, 0x3d, 0x58, 0x41, 0x07, 0x66, 0xc7, 0x63, 0xc4, 0x7b, 0x5d, 0x49, 0xf4, 0x7a, 0x7d, 0x05, + 0xe1, 0x95, 0x20, 0x3f, 0xb5, 0x28, 0xeb, 0x0d, 0xc8, 0xa1, 0xfb, 0x2d, 0xc6, 0xc8, 0x9b, 0x90, + 0x7e, 0xc0, 0x18, 0xba, 0x15, 0x76, 0xce, 0x19, 0xe1, 0x1b, 0xce, 0x10, 0x6f, 0x3c, 0x43, 0xbe, + 0xf1, 0x8c, 0xa6, 0xe7, 0xb8, 0xa6, 0xb0, 0x9a, 0x00, 0xa9, 0xe8, 0xb7, 0x81, 0x48, 0x20, 0xbb, + 0xbe, 0x63, 0xf7, 0x59, 0xf3, 0x90, 0x3a, 0x2e, 0xb9, 0x00, 0x60, 0x89, 0x8f, 0x2e, 0xbe, 0xcd, + 0xc2, 0x83, 0x2e, 0x8f, 0x9a, 0x3b, 0x74, 0xc8, 0xea, 0x6b, 0x08, 0x46, 0x85, 0x62, 0xc2, 0x4c, + 0xd5, 0x7f, 0x48, 0x41, 0x51, 0x9e, 0x5a, 0xe1, 0x3b, 0xeb, 0xa5, 0x07, 0x49, 0x62, 0xbb, 0xd2, + 0x33, 0xdb, 0x75, 0x03, 0x16, 0xc5, 0x5b, 0x76, 0x1c, 0x60, 0xa7, 0x96, 0x77, 0x2e, 0x1b, 0xcf, + 0xbf, 0x66, 0x8d, 0x78, 0xbe, 0x36, 0x5a, 0x9b, 0xd2, 0x4b, 0xf4, 0x7c, 0x94, 0x7d, 0xe6, 0xb2, + 0xac, 0x48, 0xfd, 0x67, 0xd1, 0x9d, 0xb9, 0x03, 0xab, 0xf2, 0x18, 0x0e, 0xe1, 0xcc, 0x3c, 0x38, + 0x56, 0xc2, 0x45, 0x4c, 0x12, 0xf9, 0xd4, 0xdf, 0x46, 0x16, 0xae, 0xc3, 0x59, 0x58, 0x8d, 0x15, + 0xb9, 0x35, 0xa9, 0x27, 0x79, 0xb3, 0x28, 0xda, 0xf2, 0xf5, 0x9f, 0x14, 0x20, 0xcf, 0xe3, 0x25, + 0x97, 0x60, 0xf3, 0xc0, 0xbc, 0xfb, 0x49, 0xab, 0xd9, 0xe9, 0x36, 0x3f, 0x6d, 0xb4, 0xdb, 0xdd, + 0x76, 0xa7, 0xd1, 0xb9, 0xd7, 0xee, 0xde, 0xbb, 0xd3, 0x3e, 0x68, 0x35, 0xf7, 0x6f, 0xed, 0xb7, + 0xf6, 0xd4, 0x05, 0x72, 0x11, 0x2e, 0xcc, 0xb5, 0x6a, 0x34, 0x9b, 0xad, 0x83, 0x4e, 0x6b, 0x4f, + 0x55, 0xc8, 0x75, 0xb8, 0x3c, 0xd7, 0xa4, 0xf9, 0x71, 0xe3, 0xce, 0x47, 0xad, 0x76, 0xd7, 0x6c, + 0x7d, 0x7e, 0xaf, 0xd5, 0x16, 0xb6, 0xa9, 0x17, 0x86, 0x33, 0x5b, 0x42, 0xd7, 0xda, 0x53, 0xd3, + 0xbb, 0x5f, 0xfc, 0xf6, 0xb4, 0xaa, 0x3c, 0x79, 0x5a, 0x55, 0xfe, 0x7a, 0x5a, 0x55, 0xbe, 0x7d, + 0x56, 0x5d, 0x78, 0xf2, 0xac, 0xba, 0xf0, 0xe7, 0xb3, 0xea, 0xc2, 0xfd, 0x9b, 0x7d, 0x87, 0x1f, + 0x8e, 0x7b, 0x86, 0xe5, 0x0d, 0x6b, 0xb8, 0x27, 0x6f, 0xb9, 0x8c, 0x3f, 0xf6, 0xfc, 0x47, 0x52, + 0x1a, 0x30, 0xbb, 0xcf, 0xfc, 0xda, 0x71, 0xec, 0xc7, 0x04, 0xff, 0x36, 0xc4, 0x1d, 0x17, 0x88, + 0x7f, 0x8e, 0x45, 0x7c, 0x12, 0xbc, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x05, 0x9a, + 0xa6, 0xc0, 0x0c, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { From 7f0af0db8c57509d518c41285c9e71d2e7c407de Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 6 Feb 2024 13:07:41 -0500 Subject: [PATCH 009/112] add queries --- api/regen/ecocredit/v1/query.pulsar.go | 3213 +++++++++++++++++--- api/regen/ecocredit/v1/query_grpc.pb.go | 82 + api/regen/ecocredit/v1/state.cosmos_orm.go | 13 + api/regen/ecocredit/v1/state.pulsar.go | 338 +- 4 files changed, 3016 insertions(+), 630 deletions(-) diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index 132a34ba8c..a3c9fcf586 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -28020,6 +28020,1997 @@ func (x *fastReflection_QueryAllowedBridgeChainsResponse) ProtoMethods() *protoi } } +var ( + md_QueryProjectClassRequest protoreflect.MessageDescriptor + fd_QueryProjectClassRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectClassRequest_class_id protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_QueryProjectClassRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassRequest") + fd_QueryProjectClassRequest_project_id = md_QueryProjectClassRequest.Fields().ByName("project_id") + fd_QueryProjectClassRequest_class_id = md_QueryProjectClassRequest.Fields().ByName("class_id") +} + +var _ protoreflect.Message = (*fastReflection_QueryProjectClassRequest)(nil) + +type fastReflection_QueryProjectClassRequest QueryProjectClassRequest + +func (x *QueryProjectClassRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectClassRequest)(x) +} + +func (x *QueryProjectClassRequest) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[56] + 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_QueryProjectClassRequest_messageType fastReflection_QueryProjectClassRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectClassRequest_messageType{} + +type fastReflection_QueryProjectClassRequest_messageType struct{} + +func (x fastReflection_QueryProjectClassRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectClassRequest)(nil) +} +func (x fastReflection_QueryProjectClassRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassRequest) +} +func (x fastReflection_QueryProjectClassRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryProjectClassRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassRequest +} + +// 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_QueryProjectClassRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectClassRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryProjectClassRequest) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryProjectClassRequest) Interface() protoreflect.ProtoMessage { + return (*QueryProjectClassRequest)(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_QueryProjectClassRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_QueryProjectClassRequest_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_QueryProjectClassRequest_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_QueryProjectClassRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + return x.ClassId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + x.ClassId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + x.ClassId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectClassRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.QueryProjectClassRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest 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_QueryProjectClassRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassRequest", 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_QueryProjectClassRequest) 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_QueryProjectClassRequest) 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_QueryProjectClassRequest) 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_QueryProjectClassRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryProjectClassRequest) + 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)) + } + l = len(x.ClassId) + 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().(*QueryProjectClassRequest) + 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.ClassId) > 0 { + i -= len(x.ClassId) + copy(dAtA[i:], x.ClassId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassId))) + i-- + dAtA[i] = 0x12 + } + 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().(*QueryProjectClassRequest) + 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: QueryProjectClassRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassRequest: 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 != 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 + 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_QueryProjectClassResponse protoreflect.MessageDescriptor + fd_QueryProjectClassResponse_project_class protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_QueryProjectClassResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassResponse") + fd_QueryProjectClassResponse_project_class = md_QueryProjectClassResponse.Fields().ByName("project_class") +} + +var _ protoreflect.Message = (*fastReflection_QueryProjectClassResponse)(nil) + +type fastReflection_QueryProjectClassResponse QueryProjectClassResponse + +func (x *QueryProjectClassResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectClassResponse)(x) +} + +func (x *QueryProjectClassResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[57] + 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_QueryProjectClassResponse_messageType fastReflection_QueryProjectClassResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectClassResponse_messageType{} + +type fastReflection_QueryProjectClassResponse_messageType struct{} + +func (x fastReflection_QueryProjectClassResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectClassResponse)(nil) +} +func (x fastReflection_QueryProjectClassResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassResponse) +} +func (x fastReflection_QueryProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassResponse +} + +// 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_QueryProjectClassResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectClassResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryProjectClassResponse) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryProjectClassResponse) Interface() protoreflect.ProtoMessage { + return (*QueryProjectClassResponse)(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_QueryProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectClass != nil { + value := protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) + if !f(fd_QueryProjectClassResponse_project_class, 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_QueryProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + return x.ProjectClass != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + x.ProjectClass = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + value := x.ProjectClass + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + x.ProjectClass = value.Message().Interface().(*ProjectClass) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + if x.ProjectClass == nil { + x.ProjectClass = new(ProjectClass) + } + return protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + m := new(ProjectClass) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse 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_QueryProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassResponse", 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_QueryProjectClassResponse) 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_QueryProjectClassResponse) 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_QueryProjectClassResponse) 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_QueryProjectClassResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryProjectClassResponse) + 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.ProjectClass != nil { + l = options.Size(x.ProjectClass) + 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().(*QueryProjectClassResponse) + 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.ProjectClass != nil { + encoded, err := options.Marshal(x.ProjectClass) + 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().(*QueryProjectClassResponse) + 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: QueryProjectClassResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassResponse: 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 ProjectClass", 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.ProjectClass == nil { + x.ProjectClass = &ProjectClass{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProjectClass); 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_QueryProjectClassesRequest protoreflect.MessageDescriptor + fd_QueryProjectClassesRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectClassesRequest_pagination protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_QueryProjectClassesRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassesRequest") + fd_QueryProjectClassesRequest_project_id = md_QueryProjectClassesRequest.Fields().ByName("project_id") + fd_QueryProjectClassesRequest_pagination = md_QueryProjectClassesRequest.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryProjectClassesRequest)(nil) + +type fastReflection_QueryProjectClassesRequest QueryProjectClassesRequest + +func (x *QueryProjectClassesRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectClassesRequest)(x) +} + +func (x *QueryProjectClassesRequest) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[58] + 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_QueryProjectClassesRequest_messageType fastReflection_QueryProjectClassesRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectClassesRequest_messageType{} + +type fastReflection_QueryProjectClassesRequest_messageType struct{} + +func (x fastReflection_QueryProjectClassesRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectClassesRequest)(nil) +} +func (x fastReflection_QueryProjectClassesRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassesRequest) +} +func (x fastReflection_QueryProjectClassesRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassesRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryProjectClassesRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassesRequest +} + +// 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_QueryProjectClassesRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectClassesRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryProjectClassesRequest) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassesRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryProjectClassesRequest) Interface() protoreflect.ProtoMessage { + return (*QueryProjectClassesRequest)(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_QueryProjectClassesRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_QueryProjectClassesRequest_project_id, value) { + return + } + } + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryProjectClassesRequest_pagination, 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_QueryProjectClassesRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageRequest) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectClassesRequest is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + m := new(v1beta1.PageRequest) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest 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_QueryProjectClassesRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassesRequest", 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_QueryProjectClassesRequest) 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_QueryProjectClassesRequest) 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_QueryProjectClassesRequest) 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_QueryProjectClassesRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryProjectClassesRequest) + 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.Pagination != nil { + l = options.Size(x.Pagination) + 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().(*QueryProjectClassesRequest) + 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.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.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().(*QueryProjectClassesRequest) + 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: QueryProjectClassesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesRequest: 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 != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", 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.Pagination == nil { + x.Pagination = &v1beta1.PageRequest{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); 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 = (*_QueryProjectClassesResponse_1_list)(nil) + +type _QueryProjectClassesResponse_1_list struct { + list *[]*ClassInfo +} + +func (x *_QueryProjectClassesResponse_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_QueryProjectClassesResponse_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_QueryProjectClassesResponse_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ClassInfo) + (*x.list)[i] = concreteValue +} + +func (x *_QueryProjectClassesResponse_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*ClassInfo) + *x.list = append(*x.list, concreteValue) +} + +func (x *_QueryProjectClassesResponse_1_list) AppendMutable() protoreflect.Value { + v := new(ClassInfo) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryProjectClassesResponse_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_QueryProjectClassesResponse_1_list) NewElement() protoreflect.Value { + v := new(ClassInfo) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_QueryProjectClassesResponse_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_QueryProjectClassesResponse protoreflect.MessageDescriptor + fd_QueryProjectClassesResponse_classes protoreflect.FieldDescriptor + fd_QueryProjectClassesResponse_pagination protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_QueryProjectClassesResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassesResponse") + fd_QueryProjectClassesResponse_classes = md_QueryProjectClassesResponse.Fields().ByName("classes") + fd_QueryProjectClassesResponse_pagination = md_QueryProjectClassesResponse.Fields().ByName("pagination") +} + +var _ protoreflect.Message = (*fastReflection_QueryProjectClassesResponse)(nil) + +type fastReflection_QueryProjectClassesResponse QueryProjectClassesResponse + +func (x *QueryProjectClassesResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectClassesResponse)(x) +} + +func (x *QueryProjectClassesResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[59] + 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_QueryProjectClassesResponse_messageType fastReflection_QueryProjectClassesResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectClassesResponse_messageType{} + +type fastReflection_QueryProjectClassesResponse_messageType struct{} + +func (x fastReflection_QueryProjectClassesResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectClassesResponse)(nil) +} +func (x fastReflection_QueryProjectClassesResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassesResponse) +} +func (x fastReflection_QueryProjectClassesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassesResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryProjectClassesResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectClassesResponse +} + +// 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_QueryProjectClassesResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectClassesResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryProjectClassesResponse) New() protoreflect.Message { + return new(fastReflection_QueryProjectClassesResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryProjectClassesResponse) Interface() protoreflect.ProtoMessage { + return (*QueryProjectClassesResponse)(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_QueryProjectClassesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Classes) != 0 { + value := protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{list: &x.Classes}) + if !f(fd_QueryProjectClassesResponse_classes, value) { + return + } + } + if x.Pagination != nil { + value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + if !f(fd_QueryProjectClassesResponse_pagination, 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_QueryProjectClassesResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + return len(x.Classes) != 0 + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + return x.Pagination != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + x.Classes = nil + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + x.Pagination = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + if len(x.Classes) == 0 { + return protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{}) + } + listValue := &_QueryProjectClassesResponse_1_list{list: &x.Classes} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + value := x.Pagination + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + lv := value.List() + clv := lv.(*_QueryProjectClassesResponse_1_list) + x.Classes = *clv.list + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + x.Pagination = value.Message().Interface().(*v1beta1.PageResponse) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + if x.Classes == nil { + x.Classes = []*ClassInfo{} + } + value := &_QueryProjectClassesResponse_1_list{list: &x.Classes} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + if x.Pagination == nil { + x.Pagination = new(v1beta1.PageResponse) + } + return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + list := []*ClassInfo{} + return protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{list: &list}) + case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + m := new(v1beta1.PageResponse) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse 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_QueryProjectClassesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassesResponse", 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_QueryProjectClassesResponse) 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_QueryProjectClassesResponse) 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_QueryProjectClassesResponse) 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_QueryProjectClassesResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryProjectClassesResponse) + 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.Classes) > 0 { + for _, e := range x.Classes { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.Pagination != nil { + l = options.Size(x.Pagination) + 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().(*QueryProjectClassesResponse) + 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.Pagination != nil { + encoded, err := options.Marshal(x.Pagination) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Classes) > 0 { + for iNdEx := len(x.Classes) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Classes[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().(*QueryProjectClassesResponse) + 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: QueryProjectClassesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesResponse: 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 Classes", 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.Classes = append(x.Classes, &ClassInfo{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Classes[len(x.Classes)-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 Pagination", 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.Pagination == nil { + x.Pagination = &v1beta1.PageResponse{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); 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 @@ -30384,149 +32375,332 @@ func (x *QueryAllowedClassCreatorsResponse) GetClassCreators() []string { return nil } -func (x *QueryAllowedClassCreatorsResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryAllowedClassCreatorsResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryClassFeeRequest is the Query/ClassFee request type. +// +// Since Revision 2 +type QueryClassFeeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryClassFeeRequest) Reset() { + *x = QueryClassFeeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryClassFeeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryClassFeeRequest) ProtoMessage() {} + +// Deprecated: Use QueryClassFeeRequest.ProtoReflect.Descriptor instead. +func (*QueryClassFeeRequest) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{52} +} + +// QueryClassFeeResponse is the Query/ClassFee response type. +// +// Since Revision 2 +type QueryClassFeeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // fee is the credit class creation fee. If not set, a credit class creation + // fee is not required. + Fee *v1beta11.Coin `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (x *QueryClassFeeResponse) Reset() { + *x = QueryClassFeeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryClassFeeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryClassFeeResponse) ProtoMessage() {} + +// Deprecated: Use QueryClassFeeResponse.ProtoReflect.Descriptor instead. +func (*QueryClassFeeResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{53} +} + +func (x *QueryClassFeeResponse) GetFee() *v1beta11.Coin { + if x != nil { + return x.Fee + } + return nil +} + +// QueryAllowedBridgeChainsRequest is the Query/AllowedBridgeChains request +// type. +// +// Since Revision 2 +type QueryAllowedBridgeChainsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryAllowedBridgeChainsRequest) Reset() { + *x = QueryAllowedBridgeChainsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllowedBridgeChainsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllowedBridgeChainsRequest) ProtoMessage() {} + +// Deprecated: Use QueryAllowedBridgeChainsRequest.ProtoReflect.Descriptor instead. +func (*QueryAllowedBridgeChainsRequest) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{54} +} + +// QueryAllowedBridgeChainsResponse is the Query/AllowedBridgeChains response +// type. +// +// Since Revision 2 +type QueryAllowedBridgeChainsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // allowed_bridge_chains is a list of chains that are allowed to be used in + // bridge operations. + AllowedBridgeChains []string `protobuf:"bytes,1,rep,name=allowed_bridge_chains,json=allowedBridgeChains,proto3" json:"allowed_bridge_chains,omitempty"` +} + +func (x *QueryAllowedBridgeChainsResponse) Reset() { + *x = QueryAllowedBridgeChainsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryAllowedBridgeChainsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryAllowedBridgeChainsResponse) ProtoMessage() {} + +// Deprecated: Use QueryAllowedBridgeChainsResponse.ProtoReflect.Descriptor instead. +func (*QueryAllowedBridgeChainsResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{55} +} + +func (x *QueryAllowedBridgeChainsResponse) GetAllowedBridgeChains() []string { if x != nil { - return x.Pagination + return x.AllowedBridgeChains } return nil } -// QueryClassFeeRequest is the Query/ClassFee request type. +// QueryProjectClassRequest is the Query/ProjectClass request type. // -// Since Revision 2 -type QueryClassFeeRequest struct { +// Since Revision 3 +type QueryProjectClassRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to query. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` } -func (x *QueryClassFeeRequest) Reset() { - *x = QueryClassFeeRequest{} +func (x *QueryProjectClassRequest) Reset() { + *x = QueryProjectClassRequest{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_query_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryClassFeeRequest) String() string { +func (x *QueryProjectClassRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryClassFeeRequest) ProtoMessage() {} +func (*QueryProjectClassRequest) ProtoMessage() {} -// Deprecated: Use QueryClassFeeRequest.ProtoReflect.Descriptor instead. -func (*QueryClassFeeRequest) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{52} +// Deprecated: Use QueryProjectClassRequest.ProtoReflect.Descriptor instead. +func (*QueryProjectClassRequest) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{56} } -// QueryClassFeeResponse is the Query/ClassFee response type. +func (x *QueryProjectClassRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *QueryProjectClassRequest) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +// QueryProjectClassResponse is the Query/ProjectClass response type. // -// Since Revision 2 -type QueryClassFeeResponse struct { +// Since Revision 3 +type QueryProjectClassResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // fee is the credit class creation fee. If not set, a credit class creation - // fee is not required. - Fee *v1beta11.Coin `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"` + // project_class is the fetched project class relationship. + ProjectClass *ProjectClass `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` } -func (x *QueryClassFeeResponse) Reset() { - *x = QueryClassFeeResponse{} +func (x *QueryProjectClassResponse) Reset() { + *x = QueryProjectClassResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_query_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryClassFeeResponse) String() string { +func (x *QueryProjectClassResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryClassFeeResponse) ProtoMessage() {} +func (*QueryProjectClassResponse) ProtoMessage() {} -// Deprecated: Use QueryClassFeeResponse.ProtoReflect.Descriptor instead. -func (*QueryClassFeeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{53} +// Deprecated: Use QueryProjectClassResponse.ProtoReflect.Descriptor instead. +func (*QueryProjectClassResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{57} } -func (x *QueryClassFeeResponse) GetFee() *v1beta11.Coin { +func (x *QueryProjectClassResponse) GetProjectClass() *ProjectClass { if x != nil { - return x.Fee + return x.ProjectClass } return nil } -// QueryAllowedBridgeChainsRequest is the Query/AllowedBridgeChains request -// type. +// QueryProjectClassesRequest is the Query/ProjectClasses request type. // -// Since Revision 2 -type QueryAllowedBridgeChainsRequest struct { +// Since Revision 3 +type QueryProjectClassesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryAllowedBridgeChainsRequest) Reset() { - *x = QueryAllowedBridgeChainsRequest{} +func (x *QueryProjectClassesRequest) Reset() { + *x = QueryProjectClassesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_query_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryAllowedBridgeChainsRequest) String() string { +func (x *QueryProjectClassesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryAllowedBridgeChainsRequest) ProtoMessage() {} +func (*QueryProjectClassesRequest) ProtoMessage() {} -// Deprecated: Use QueryAllowedBridgeChainsRequest.ProtoReflect.Descriptor instead. -func (*QueryAllowedBridgeChainsRequest) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{54} +// Deprecated: Use QueryProjectClassesRequest.ProtoReflect.Descriptor instead. +func (*QueryProjectClassesRequest) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{58} } -// QueryAllowedBridgeChainsResponse is the Query/AllowedBridgeChains response -// type. +func (x *QueryProjectClassesRequest) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *QueryProjectClassesRequest) GetPagination() *v1beta1.PageRequest { + if x != nil { + return x.Pagination + } + return nil +} + +// QueryProjectClassesResponse is the Query/ProjectClasses response type. // -// Since Revision 2 -type QueryAllowedBridgeChainsResponse struct { +// Since Revision 3 +type QueryProjectClassesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // allowed_bridge_chains is a list of chains that are allowed to be used in - // bridge operations. - AllowedBridgeChains []string `protobuf:"bytes,1,rep,name=allowed_bridge_chains,json=allowedBridgeChains,proto3" json:"allowed_bridge_chains,omitempty"` + // classes are the fetched credit classes. + Classes []*ClassInfo `protobuf:"bytes,1,rep,name=classes,proto3" json:"classes,omitempty"` + // pagination defines the pagination in the response. + Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryAllowedBridgeChainsResponse) Reset() { - *x = QueryAllowedBridgeChainsResponse{} +func (x *QueryProjectClassesResponse) Reset() { + *x = QueryProjectClassesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_query_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueryAllowedBridgeChainsResponse) String() string { +func (x *QueryProjectClassesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryAllowedBridgeChainsResponse) ProtoMessage() {} +func (*QueryProjectClassesResponse) ProtoMessage() {} -// Deprecated: Use QueryAllowedBridgeChainsResponse.ProtoReflect.Descriptor instead. -func (*QueryAllowedBridgeChainsResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{55} +// Deprecated: Use QueryProjectClassesResponse.ProtoReflect.Descriptor instead. +func (*QueryProjectClassesResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{59} } -func (x *QueryAllowedBridgeChainsResponse) GetAllowedBridgeChains() []string { +func (x *QueryProjectClassesResponse) GetClasses() []*ClassInfo { if x != nil { - return x.AllowedBridgeChains + return x.Classes + } + return nil +} + +func (x *QueryProjectClassesResponse) GetPagination() *v1beta1.PageResponse { + if x != nil { + return x.Pagination } return nil } @@ -30955,337 +33129,389 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x32, 0xbd, 0x27, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, - 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x6e, 0x73, 0x22, 0x54, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x22, 0x62, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 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, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x83, 0x01, 0x0a, + 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x9c, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, + 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x2c, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2b, 0x12, 0x29, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x2c, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, - 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x28, - 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, + 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x30, + 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x2c, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x30, 0x12, 0x2e, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x85, - 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, + 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, + 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x3a, 0x12, + 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, + 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x87, 0x02, - 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x12, 0x3b, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x3a, 0x12, 0x38, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, - 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x61, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, + 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x7d, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, - 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, - 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x69, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, - 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x69, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, + 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x27, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x12, 0x33, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, + 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x27, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, + 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, + 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x12, 0x33, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, - 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, - 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, - 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, - 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x8f, 0x01, - 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, + 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, + 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x20, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x32, + 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, - 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x12, 0x33, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x25, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, - 0x6f, 0x6d, 0x7d, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, - 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, - 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x20, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5a, 0x1e, - 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, - 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x5e, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x32, 0x12, 0x30, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x25, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, + 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, + 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, + 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, - 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, + 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, + 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, - 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, + 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, + 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, - 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, - 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, + 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -31300,7 +33526,7 @@ func file_regen_ecocredit_v1_query_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_query_proto_rawDescData } -var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 56) +var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 60) var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryClassesRequest)(nil), // 0: regen.ecocredit.v1.QueryClassesRequest (*QueryClassesResponse)(nil), // 1: regen.ecocredit.v1.QueryClassesResponse @@ -31358,125 +33584,138 @@ var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryClassFeeResponse)(nil), // 53: regen.ecocredit.v1.QueryClassFeeResponse (*QueryAllowedBridgeChainsRequest)(nil), // 54: regen.ecocredit.v1.QueryAllowedBridgeChainsRequest (*QueryAllowedBridgeChainsResponse)(nil), // 55: regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - (*v1beta1.PageRequest)(nil), // 56: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 57: cosmos.base.query.v1beta1.PageResponse - (*CreditType)(nil), // 58: regen.ecocredit.v1.CreditType - (*Params)(nil), // 59: regen.ecocredit.v1.Params - (*timestamppb.Timestamp)(nil), // 60: google.protobuf.Timestamp - (*v1beta11.Coin)(nil), // 61: cosmos.base.v1beta1.Coin + (*QueryProjectClassRequest)(nil), // 56: regen.ecocredit.v1.QueryProjectClassRequest + (*QueryProjectClassResponse)(nil), // 57: regen.ecocredit.v1.QueryProjectClassResponse + (*QueryProjectClassesRequest)(nil), // 58: regen.ecocredit.v1.QueryProjectClassesRequest + (*QueryProjectClassesResponse)(nil), // 59: regen.ecocredit.v1.QueryProjectClassesResponse + (*v1beta1.PageRequest)(nil), // 60: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 61: cosmos.base.query.v1beta1.PageResponse + (*CreditType)(nil), // 62: regen.ecocredit.v1.CreditType + (*Params)(nil), // 63: regen.ecocredit.v1.Params + (*timestamppb.Timestamp)(nil), // 64: google.protobuf.Timestamp + (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin + (*ProjectClass)(nil), // 66: regen.ecocredit.v1.ProjectClass } var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ - 56, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 1: regen.ecocredit.v1.QueryClassesResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 57, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 4: regen.ecocredit.v1.QueryClassesByAdminResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 57, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 44, // 6: regen.ecocredit.v1.QueryClassResponse.class:type_name -> regen.ecocredit.v1.ClassInfo - 56, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 57, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 10: regen.ecocredit.v1.QueryProjectsResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 57, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 13: regen.ecocredit.v1.QueryProjectsByClassResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 57, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 16: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 57, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 19: regen.ecocredit.v1.QueryProjectsByAdminResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 57, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 45, // 21: regen.ecocredit.v1.QueryProjectResponse.project:type_name -> regen.ecocredit.v1.ProjectInfo - 56, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 23: regen.ecocredit.v1.QueryBatchesResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 57, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 26: regen.ecocredit.v1.QueryBatchesByIssuerResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 57, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 56, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 30: regen.ecocredit.v1.QueryBatchesByProjectResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 57, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 32: regen.ecocredit.v1.QueryBatchesByClassResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 57, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 34: regen.ecocredit.v1.QueryBatchResponse.batch:type_name -> regen.ecocredit.v1.BatchInfo 47, // 35: regen.ecocredit.v1.QueryBalanceResponse.balance:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 56, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 37: regen.ecocredit.v1.QueryBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 57, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 40: regen.ecocredit.v1.QueryBalancesByBatchResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 57, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 56, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 60, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 43: regen.ecocredit.v1.QueryAllBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 57, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 58, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType - 59, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params - 58, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType - 60, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp - 60, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp - 60, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp - 56, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 57, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 61, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin - 0, // 54: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest - 2, // 55: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest - 4, // 56: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest - 6, // 57: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest - 8, // 58: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest - 10, // 59: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest - 12, // 60: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest - 14, // 61: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest - 16, // 62: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest - 18, // 63: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest - 20, // 64: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest - 22, // 65: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest - 23, // 66: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest - 26, // 67: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest - 28, // 68: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest - 30, // 69: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest - 32, // 70: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest - 34, // 71: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest - 36, // 72: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest - 38, // 73: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest - 40, // 74: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest - 42, // 75: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest - 48, // 76: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest - 50, // 77: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest - 52, // 78: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest - 54, // 79: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest - 1, // 80: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse - 3, // 81: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse - 5, // 82: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse - 7, // 83: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse - 9, // 84: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse - 11, // 85: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse - 13, // 86: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse - 15, // 87: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse - 17, // 88: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse - 19, // 89: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse - 21, // 90: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse - 25, // 91: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse - 24, // 92: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse - 27, // 93: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse - 29, // 94: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse - 31, // 95: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse - 33, // 96: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse - 35, // 97: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse - 37, // 98: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse - 39, // 99: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse - 41, // 100: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse - 43, // 101: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse - 49, // 102: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse - 51, // 103: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse - 53, // 104: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse - 55, // 105: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - 80, // [80:106] is the sub-list for method output_type - 54, // [54:80] is the sub-list for method input_type - 54, // [54:54] is the sub-list for extension type_name - 54, // [54:54] is the sub-list for extension extendee - 0, // [0:54] is the sub-list for field type_name + 61, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType + 63, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params + 62, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType + 64, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp + 64, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp + 64, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp + 60, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 65, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin + 66, // 54: regen.ecocredit.v1.QueryProjectClassResponse.project_class:type_name -> regen.ecocredit.v1.ProjectClass + 60, // 55: regen.ecocredit.v1.QueryProjectClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 44, // 56: regen.ecocredit.v1.QueryProjectClassesResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo + 61, // 57: regen.ecocredit.v1.QueryProjectClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 0, // 58: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest + 2, // 59: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest + 4, // 60: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest + 6, // 61: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest + 8, // 62: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest + 10, // 63: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest + 12, // 64: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest + 14, // 65: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest + 16, // 66: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest + 18, // 67: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest + 20, // 68: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest + 22, // 69: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest + 23, // 70: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest + 26, // 71: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest + 28, // 72: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest + 30, // 73: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest + 32, // 74: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest + 34, // 75: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest + 36, // 76: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest + 38, // 77: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest + 40, // 78: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest + 42, // 79: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest + 48, // 80: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest + 50, // 81: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest + 52, // 82: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest + 54, // 83: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest + 56, // 84: regen.ecocredit.v1.Query.ProjectClass:input_type -> regen.ecocredit.v1.QueryProjectClassRequest + 58, // 85: regen.ecocredit.v1.Query.ProjectClasses:input_type -> regen.ecocredit.v1.QueryProjectClassesRequest + 1, // 86: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse + 3, // 87: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse + 5, // 88: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse + 7, // 89: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse + 9, // 90: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse + 11, // 91: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse + 13, // 92: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse + 15, // 93: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse + 17, // 94: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse + 19, // 95: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse + 21, // 96: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse + 25, // 97: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse + 24, // 98: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse + 27, // 99: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse + 29, // 100: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse + 31, // 101: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse + 33, // 102: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse + 35, // 103: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse + 37, // 104: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse + 39, // 105: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse + 41, // 106: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse + 43, // 107: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse + 49, // 108: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse + 51, // 109: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse + 53, // 110: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse + 55, // 111: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse + 57, // 112: regen.ecocredit.v1.Query.ProjectClass:output_type -> regen.ecocredit.v1.QueryProjectClassResponse + 59, // 113: regen.ecocredit.v1.Query.ProjectClasses:output_type -> regen.ecocredit.v1.QueryProjectClassesResponse + 86, // [86:114] is the sub-list for method output_type + 58, // [58:86] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1_query_proto_init() } @@ -32159,6 +34398,54 @@ func file_regen_ecocredit_v1_query_proto_init() { return nil } } + file_regen_ecocredit_v1_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryProjectClassRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryProjectClassResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryProjectClassesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryProjectClassesResponse); 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{ @@ -32166,7 +34453,7 @@ func file_regen_ecocredit_v1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 56, + NumMessages: 60, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/query_grpc.pb.go b/api/regen/ecocredit/v1/query_grpc.pb.go index 6ab27dc212..fb66e11019 100644 --- a/api/regen/ecocredit/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/v1/query_grpc.pb.go @@ -45,6 +45,8 @@ const ( Query_AllowedClassCreators_FullMethodName = "/regen.ecocredit.v1.Query/AllowedClassCreators" Query_ClassFee_FullMethodName = "/regen.ecocredit.v1.Query/ClassFee" Query_AllowedBridgeChains_FullMethodName = "/regen.ecocredit.v1.Query/AllowedBridgeChains" + Query_ProjectClass_FullMethodName = "/regen.ecocredit.v1.Query/ProjectClass" + Query_ProjectClasses_FullMethodName = "/regen.ecocredit.v1.Query/ProjectClasses" ) // QueryClient is the client API for Query service. @@ -128,6 +130,12 @@ type QueryClient interface { // // Since Revision 2 AllowedBridgeChains(ctx context.Context, in *QueryAllowedBridgeChainsRequest, opts ...grpc.CallOption) (*QueryAllowedBridgeChainsResponse, error) + // ProjectClass queries information about a project credit class relationship. + // + // Since Revision 3 + ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) + // ProjectClasses queries all credit classes associated with a project. + ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) } type queryClient struct { @@ -373,6 +381,24 @@ func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedB return out, nil } +func (c *queryClient) ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) { + out := new(QueryProjectClassResponse) + err := c.cc.Invoke(ctx, Query_ProjectClass_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) { + out := new(QueryProjectClassesResponse) + err := c.cc.Invoke(ctx, Query_ProjectClasses_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility @@ -454,6 +480,12 @@ type QueryServer interface { // // Since Revision 2 AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) + // ProjectClass queries information about a project credit class relationship. + // + // Since Revision 3 + ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) + // ProjectClasses queries all credit classes associated with a project. + ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) mustEmbedUnimplementedQueryServer() } @@ -539,6 +571,12 @@ func (UnimplementedQueryServer) ClassFee(context.Context, *QueryClassFeeRequest) func (UnimplementedQueryServer) AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllowedBridgeChains not implemented") } +func (UnimplementedQueryServer) ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectClass not implemented") +} +func (UnimplementedQueryServer) ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectClasses not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. @@ -1020,6 +1058,42 @@ func _Query_AllowedBridgeChains_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Query_ProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectClassRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProjectClass(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_ProjectClass_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProjectClass(ctx, req.(*QueryProjectClassRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_ProjectClasses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectClassesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).ProjectClasses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_ProjectClasses_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).ProjectClasses(ctx, req.(*QueryProjectClassesRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1131,6 +1205,14 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "AllowedBridgeChains", Handler: _Query_AllowedBridgeChains_Handler, }, + { + MethodName: "ProjectClass", + Handler: _Query_ProjectClass_Handler, + }, + { + MethodName: "ProjectClasses", + Handler: _Query_ProjectClasses_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "regen/ecocredit/v1/query.proto", diff --git a/api/regen/ecocredit/v1/state.cosmos_orm.go b/api/regen/ecocredit/v1/state.cosmos_orm.go index 06a67ba958..88758c0b86 100644 --- a/api/regen/ecocredit/v1/state.cosmos_orm.go +++ b/api/regen/ecocredit/v1/state.cosmos_orm.go @@ -2124,6 +2124,19 @@ func (this ProjectClassProjectKeyClassKeyIndexKey) WithProjectKeyClassKey(projec return this } +type ProjectClassClassKeyIndexKey struct { + vs []interface{} +} + +func (x ProjectClassClassKeyIndexKey) id() uint32 { return 1 } +func (x ProjectClassClassKeyIndexKey) values() []interface{} { return x.vs } +func (x ProjectClassClassKeyIndexKey) projectClassIndexKey() {} + +func (this ProjectClassClassKeyIndexKey) WithClassKey(class_key uint64) ProjectClassClassKeyIndexKey { + this.vs = []interface{}{class_key} + return this +} + type projectClassTable struct { table ormtable.Table } diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 7efcf06f97..317de7209c 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -9777,8 +9777,10 @@ type Project struct { Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin []byte `protobuf:"bytes,3,opt,name=admin,proto3" json:"admin,omitempty"` - // class_key is the table row identifier of the credit class used internally + // Deprecated: class_key is the table row identifier of the credit class used internally // for efficient lookups. This links a project to a credit class. + // + // Deprecated: Do not use. ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // jurisdiction is the jurisdiction of the project. // Full documentation can be found in MsgCreateProject.jurisdiction. @@ -9830,6 +9832,7 @@ func (x *Project) GetAdmin() []byte { return nil } +// Deprecated: Do not use. func (x *Project) GetClassKey() uint64 { if x != nil { return x.ClassKey @@ -10697,180 +10700,181 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x3a, 0x1c, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x16, 0x0a, 0x12, 0x0a, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x22, 0xab, 0x02, 0x0a, 0x07, + 0x65, 0x79, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x22, 0xaf, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, - 0x68, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x62, 0x0a, 0x07, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01, 0x18, 0x01, 0x12, 0x12, 0x0a, 0x0c, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x10, 0x02, 0x18, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0xc4, 0x03, 0x0a, 0x05, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 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, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x1f, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, + 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x3a, 0x68, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x62, 0x0a, 0x07, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01, 0x18, 0x01, 0x12, 0x12, + 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x10, 0x02, + 0x18, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, + 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x04, 0x12, + 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0xc4, 0x03, + 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 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, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, + 0x63, 0x65, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 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, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x5a, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x54, 0x0a, 0x07, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x10, 0x01, - 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x10, 0x04, 0x12, - 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x05, 0x18, 0x05, - 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, - 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x18, 0x0a, 0x14, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, - 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, - 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, - 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x11, - 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, + 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x5a, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x54, + 0x0a, 0x07, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, + 0x6f, 0x6d, 0x10, 0x01, 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x10, 0x05, 0x18, 0x05, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, + 0x62, 0x72, 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, + 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, + 0x18, 0x0a, 0x14, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x15, + 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, 0xf2, 0x9e, + 0xd3, 0x8e, 0x03, 0x11, 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x13, + 0x0a, 0x11, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x6b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, + 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, 0x01, 0x0a, + 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, - 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x13, 0x0a, 0x11, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, - 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x4b, 0x65, 0x79, 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x1f, 0xf2, - 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x22, 0x96, - 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x29, 0x0a, 0x0b, - 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x12, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, - 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0d, 0x0a, 0x09, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x22, 0x41, 0x0a, 0x08, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, - 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0f, 0x22, 0x4b, 0x0a, - 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x21, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1b, - 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x11, 0x2a, 0xac, 0x01, 0x0a, 0x12, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, + 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, 0x0d, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x3a, 0x1f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x0b, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, 0xd3, 0x8e, + 0x03, 0x29, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, + 0x18, 0x0a, 0x12, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, 0x15, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x08, + 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, + 0x0d, 0x0a, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x22, 0x41, + 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, + 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, + 0x0f, 0x22, 0x4b, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x9d, + 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, + 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, + 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, + 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xac, + 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, - 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2a, + 0x0a, 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, + 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0xd8, 0x01, + 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( From f6d3f93902503e76fb23f487f121552f055bafdc Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 6 Feb 2024 13:19:59 -0500 Subject: [PATCH 010/112] add events --- api/regen/ecocredit/v1/events.pulsar.go | 2059 ++++++++++++++++++++++- api/regen/ecocredit/v1/state.pulsar.go | 130 +- api/regen/ecocredit/v1/tx.pulsar.go | 1030 ++++++------ proto/regen/ecocredit/v1/events.proto | 50 + proto/regen/ecocredit/v1/state.proto | 4 +- proto/regen/ecocredit/v1/tx.proto | 9 +- x/ecocredit/base/types/v1/events.pb.go | 1040 +++++++++++- x/ecocredit/base/types/v1/state.pb.go | 198 +-- x/ecocredit/base/types/v1/tx.pb.go | 324 ++-- 9 files changed, 3977 insertions(+), 867 deletions(-) diff --git a/api/regen/ecocredit/v1/events.pulsar.go b/api/regen/ecocredit/v1/events.pulsar.go index 9582938c32..954d1723b1 100644 --- a/api/regen/ecocredit/v1/events.pulsar.go +++ b/api/regen/ecocredit/v1/events.pulsar.go @@ -9637,6 +9637,1746 @@ func (x *fastReflection_EventBurnRegen) ProtoMethods() *protoiface.Methods { } } +var ( + md_EventUpdateProjectClass protoreflect.MessageDescriptor + fd_EventUpdateProjectClass_project_id protoreflect.FieldDescriptor + fd_EventUpdateProjectClass_class_id protoreflect.FieldDescriptor + fd_EventUpdateProjectClass_new_project_metadata protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_events_proto_init() + md_EventUpdateProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventUpdateProjectClass") + fd_EventUpdateProjectClass_project_id = md_EventUpdateProjectClass.Fields().ByName("project_id") + fd_EventUpdateProjectClass_class_id = md_EventUpdateProjectClass.Fields().ByName("class_id") + fd_EventUpdateProjectClass_new_project_metadata = md_EventUpdateProjectClass.Fields().ByName("new_project_metadata") +} + +var _ protoreflect.Message = (*fastReflection_EventUpdateProjectClass)(nil) + +type fastReflection_EventUpdateProjectClass EventUpdateProjectClass + +func (x *EventUpdateProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventUpdateProjectClass)(x) +} + +func (x *EventUpdateProjectClass) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[19] + 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_EventUpdateProjectClass_messageType fastReflection_EventUpdateProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_EventUpdateProjectClass_messageType{} + +type fastReflection_EventUpdateProjectClass_messageType struct{} + +func (x fastReflection_EventUpdateProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventUpdateProjectClass)(nil) +} +func (x fastReflection_EventUpdateProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_EventUpdateProjectClass) +} +func (x fastReflection_EventUpdateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateProjectClass +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EventUpdateProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateProjectClass +} + +// 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_EventUpdateProjectClass) Type() protoreflect.MessageType { + return _fastReflection_EventUpdateProjectClass_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EventUpdateProjectClass) New() protoreflect.Message { + return new(fastReflection_EventUpdateProjectClass) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EventUpdateProjectClass) Interface() protoreflect.ProtoMessage { + return (*EventUpdateProjectClass)(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_EventUpdateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_EventUpdateProjectClass_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_EventUpdateProjectClass_class_id, value) { + return + } + } + if x.NewProjectMetadata != "" { + value := protoreflect.ValueOfString(x.NewProjectMetadata) + if !f(fd_EventUpdateProjectClass_new_project_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_EventUpdateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + return x.NewProjectMetadata != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + x.NewProjectMetadata = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + value := x.NewProjectMetadata + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + x.NewProjectMetadata = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + panic(fmt.Errorf("field new_project_metadata of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventUpdateProjectClass", 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EventUpdateProjectClass) + 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)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.NewProjectMetadata) + 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().(*EventUpdateProjectClass) + 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.NewProjectMetadata) > 0 { + i -= len(x.NewProjectMetadata) + copy(dAtA[i:], x.NewProjectMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewProjectMetadata))) + i-- + dAtA[i] = 0x1a + } + 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] = 0x12 + } + 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().(*EventUpdateProjectClass) + 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: EventUpdateProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateProjectClass: 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 != 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 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewProjectMetadata", 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.NewProjectMetadata = 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_EventWithdrawProjectClass protoreflect.MessageDescriptor + fd_EventWithdrawProjectClass_project_id protoreflect.FieldDescriptor + fd_EventWithdrawProjectClass_class_id protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_events_proto_init() + md_EventWithdrawProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventWithdrawProjectClass") + fd_EventWithdrawProjectClass_project_id = md_EventWithdrawProjectClass.Fields().ByName("project_id") + fd_EventWithdrawProjectClass_class_id = md_EventWithdrawProjectClass.Fields().ByName("class_id") +} + +var _ protoreflect.Message = (*fastReflection_EventWithdrawProjectClass)(nil) + +type fastReflection_EventWithdrawProjectClass EventWithdrawProjectClass + +func (x *EventWithdrawProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventWithdrawProjectClass)(x) +} + +func (x *EventWithdrawProjectClass) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] + 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_EventWithdrawProjectClass_messageType fastReflection_EventWithdrawProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_EventWithdrawProjectClass_messageType{} + +type fastReflection_EventWithdrawProjectClass_messageType struct{} + +func (x fastReflection_EventWithdrawProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventWithdrawProjectClass)(nil) +} +func (x fastReflection_EventWithdrawProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_EventWithdrawProjectClass) +} +func (x fastReflection_EventWithdrawProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventWithdrawProjectClass +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EventWithdrawProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_EventWithdrawProjectClass +} + +// 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_EventWithdrawProjectClass) Type() protoreflect.MessageType { + return _fastReflection_EventWithdrawProjectClass_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EventWithdrawProjectClass) New() protoreflect.Message { + return new(fastReflection_EventWithdrawProjectClass) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EventWithdrawProjectClass) Interface() protoreflect.ProtoMessage { + return (*EventWithdrawProjectClass)(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_EventWithdrawProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_EventWithdrawProjectClass_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_EventWithdrawProjectClass_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_EventWithdrawProjectClass) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + return x.ClassId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + x.ClassId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + x.ClassId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass 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_EventWithdrawProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventWithdrawProjectClass", 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_EventWithdrawProjectClass) 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_EventWithdrawProjectClass) 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_EventWithdrawProjectClass) 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_EventWithdrawProjectClass) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EventWithdrawProjectClass) + 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)) + } + l = len(x.ClassId) + 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().(*EventWithdrawProjectClass) + 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.ClassId) > 0 { + i -= len(x.ClassId) + copy(dAtA[i:], x.ClassId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassId))) + i-- + dAtA[i] = 0x12 + } + 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().(*EventWithdrawProjectClass) + 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: EventWithdrawProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventWithdrawProjectClass: 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 != 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 + 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_EventEvaluateProjectClass protoreflect.MessageDescriptor + fd_EventEvaluateProjectClass_issuer protoreflect.FieldDescriptor + fd_EventEvaluateProjectClass_project_id protoreflect.FieldDescriptor + fd_EventEvaluateProjectClass_class_id protoreflect.FieldDescriptor + fd_EventEvaluateProjectClass_old_status protoreflect.FieldDescriptor + fd_EventEvaluateProjectClass_new_status protoreflect.FieldDescriptor + fd_EventEvaluateProjectClass_new_class_metadata protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_events_proto_init() + md_EventEvaluateProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventEvaluateProjectClass") + fd_EventEvaluateProjectClass_issuer = md_EventEvaluateProjectClass.Fields().ByName("issuer") + fd_EventEvaluateProjectClass_project_id = md_EventEvaluateProjectClass.Fields().ByName("project_id") + fd_EventEvaluateProjectClass_class_id = md_EventEvaluateProjectClass.Fields().ByName("class_id") + fd_EventEvaluateProjectClass_old_status = md_EventEvaluateProjectClass.Fields().ByName("old_status") + fd_EventEvaluateProjectClass_new_status = md_EventEvaluateProjectClass.Fields().ByName("new_status") + fd_EventEvaluateProjectClass_new_class_metadata = md_EventEvaluateProjectClass.Fields().ByName("new_class_metadata") +} + +var _ protoreflect.Message = (*fastReflection_EventEvaluateProjectClass)(nil) + +type fastReflection_EventEvaluateProjectClass EventEvaluateProjectClass + +func (x *EventEvaluateProjectClass) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventEvaluateProjectClass)(x) +} + +func (x *EventEvaluateProjectClass) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[21] + 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_EventEvaluateProjectClass_messageType fastReflection_EventEvaluateProjectClass_messageType +var _ protoreflect.MessageType = fastReflection_EventEvaluateProjectClass_messageType{} + +type fastReflection_EventEvaluateProjectClass_messageType struct{} + +func (x fastReflection_EventEvaluateProjectClass_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventEvaluateProjectClass)(nil) +} +func (x fastReflection_EventEvaluateProjectClass_messageType) New() protoreflect.Message { + return new(fastReflection_EventEvaluateProjectClass) +} +func (x fastReflection_EventEvaluateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventEvaluateProjectClass +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EventEvaluateProjectClass) Descriptor() protoreflect.MessageDescriptor { + return md_EventEvaluateProjectClass +} + +// 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_EventEvaluateProjectClass) Type() protoreflect.MessageType { + return _fastReflection_EventEvaluateProjectClass_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EventEvaluateProjectClass) New() protoreflect.Message { + return new(fastReflection_EventEvaluateProjectClass) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EventEvaluateProjectClass) Interface() protoreflect.ProtoMessage { + return (*EventEvaluateProjectClass)(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_EventEvaluateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_EventEvaluateProjectClass_issuer, value) { + return + } + } + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_EventEvaluateProjectClass_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_EventEvaluateProjectClass_class_id, value) { + return + } + } + if x.OldStatus != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.OldStatus)) + if !f(fd_EventEvaluateProjectClass_old_status, value) { + return + } + } + if x.NewStatus != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.NewStatus)) + if !f(fd_EventEvaluateProjectClass_new_status, value) { + return + } + } + if x.NewClassMetadata != "" { + value := protoreflect.ValueOfString(x.NewClassMetadata) + if !f(fd_EventEvaluateProjectClass_new_class_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_EventEvaluateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + return x.Issuer != "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + return x.OldStatus != 0 + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + return x.NewStatus != 0 + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + return x.NewClassMetadata != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + x.Issuer = "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + x.OldStatus = 0 + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + x.NewStatus = 0 + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + x.NewClassMetadata = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + value := x.OldStatus + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + value := x.NewStatus + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + value := x.NewClassMetadata + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + x.Issuer = value.Interface().(string) + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + x.OldStatus = (ProjectClassStatus)(value.Enum()) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + x.NewStatus = (ProjectClassStatus)(value.Enum()) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + x.NewClassMetadata = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + panic(fmt.Errorf("field old_status of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + panic(fmt.Errorf("field new_status of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + panic(fmt.Errorf("field new_class_metadata of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass 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_EventEvaluateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventEvaluateProjectClass", 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_EventEvaluateProjectClass) 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_EventEvaluateProjectClass) 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_EventEvaluateProjectClass) 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_EventEvaluateProjectClass) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EventEvaluateProjectClass) + 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.Issuer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.OldStatus != 0 { + n += 1 + runtime.Sov(uint64(x.OldStatus)) + } + if x.NewStatus != 0 { + n += 1 + runtime.Sov(uint64(x.NewStatus)) + } + l = len(x.NewClassMetadata) + 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().(*EventEvaluateProjectClass) + 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.NewClassMetadata) > 0 { + i -= len(x.NewClassMetadata) + copy(dAtA[i:], x.NewClassMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewClassMetadata))) + i-- + dAtA[i] = 0x32 + } + if x.NewStatus != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NewStatus)) + i-- + dAtA[i] = 0x28 + } + if x.OldStatus != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.OldStatus)) + i-- + dAtA[i] = 0x20 + } + 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] = 0x1a + } + 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] = 0x12 + } + 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] = 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().(*EventEvaluateProjectClass) + 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: EventEvaluateProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventEvaluateProjectClass: 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 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 + case 2: + 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 3: + 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 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OldStatus", wireType) + } + x.OldStatus = 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.OldStatus |= ProjectClassStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewStatus", wireType) + } + x.NewStatus = 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.NewStatus |= ProjectClassStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewClassMetadata", 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.NewClassMetadata = 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 @@ -10625,6 +12365,196 @@ func (x *EventBurnRegen) GetReason() string { return "" } +// EventUpdateProjectClass is emitted when a project admin submits or updates +// a project class relationship's metadata, usually relating to credit class +// application. +type EventUpdateProjectClass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project that was updated. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class that was updated. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // new_project_metadata is the new project metadata. + NewProjectMetadata string `protobuf:"bytes,3,opt,name=new_project_metadata,json=newProjectMetadata,proto3" json:"new_project_metadata,omitempty"` +} + +func (x *EventUpdateProjectClass) Reset() { + *x = EventUpdateProjectClass{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventUpdateProjectClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventUpdateProjectClass) ProtoMessage() {} + +// Deprecated: Use EventUpdateProjectClass.ProtoReflect.Descriptor instead. +func (*EventUpdateProjectClass) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{19} +} + +func (x *EventUpdateProjectClass) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *EventUpdateProjectClass) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *EventUpdateProjectClass) GetNewProjectMetadata() string { + if x != nil { + return x.NewProjectMetadata + } + return "" +} + +// EventWithdrawProjectClass is emitted when a project admin withdraws a project +// from a credit class. +type EventWithdrawProjectClass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project which withdrew from the + // class. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class that was withdrawn from. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` +} + +func (x *EventWithdrawProjectClass) Reset() { + *x = EventWithdrawProjectClass{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventWithdrawProjectClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventWithdrawProjectClass) ProtoMessage() {} + +// Deprecated: Use EventWithdrawProjectClass.ProtoReflect.Descriptor instead. +func (*EventWithdrawProjectClass) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{20} +} + +func (x *EventWithdrawProjectClass) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *EventWithdrawProjectClass) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +// EventEvaluateProjectClass is emitted when a project class relationship is +// evaluated by a credit class issuer. +type EventEvaluateProjectClass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // issuer is the address of the credit class issuer which evaluated the + // project. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // project_id is the unique identifier of the project that was evaluated. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class in which the project was + // evaluated. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // old_status is the old status of the project class relationship. + OldStatus ProjectClassStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"old_status,omitempty"` + // new_status is the new status of the project class relationship. + NewStatus ProjectClassStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"new_status,omitempty"` + // new_class_metadata is any new class metadata. + NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` +} + +func (x *EventEvaluateProjectClass) Reset() { + *x = EventEvaluateProjectClass{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EventEvaluateProjectClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EventEvaluateProjectClass) ProtoMessage() {} + +// Deprecated: Use EventEvaluateProjectClass.ProtoReflect.Descriptor instead. +func (*EventEvaluateProjectClass) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{21} +} + +func (x *EventEvaluateProjectClass) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *EventEvaluateProjectClass) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *EventEvaluateProjectClass) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *EventEvaluateProjectClass) GetOldStatus() ProjectClassStatus { + if x != nil { + return x.OldStatus + } + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED +} + +func (x *EventEvaluateProjectClass) GetNewStatus() ProjectClassStatus { + if x != nil { + return x.NewStatus + } + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED +} + +func (x *EventEvaluateProjectClass) GetNewClassMetadata() string { + if x != nil { + return x.NewClassMetadata + } + return "" +} + var File_regen_ecocredit_v1_events_proto protoreflect.FileDescriptor var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ @@ -10633,6 +12563,8 @@ var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ 0x6f, 0x12, 0x12, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 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, @@ -10745,22 +12677,54 @@ var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0xd9, 0x01, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x85, 0x01, + 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 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, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 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, 0x22, 0xa9, 0x02, 0x0a, + 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 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, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0a, + 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, + 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xd9, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, + 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10775,7 +12739,7 @@ func file_regen_ecocredit_v1_events_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_events_proto_rawDescData } -var file_regen_ecocredit_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_regen_ecocredit_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_regen_ecocredit_v1_events_proto_goTypes = []interface{}{ (*EventCreateClass)(nil), // 0: regen.ecocredit.v1.EventCreateClass (*EventCreateProject)(nil), // 1: regen.ecocredit.v1.EventCreateProject @@ -10796,17 +12760,23 @@ var file_regen_ecocredit_v1_events_proto_goTypes = []interface{}{ (*EventBridge)(nil), // 16: regen.ecocredit.v1.EventBridge (*EventBridgeReceive)(nil), // 17: regen.ecocredit.v1.EventBridgeReceive (*EventBurnRegen)(nil), // 18: regen.ecocredit.v1.EventBurnRegen - (*OriginTx)(nil), // 19: regen.ecocredit.v1.OriginTx + (*EventUpdateProjectClass)(nil), // 19: regen.ecocredit.v1.EventUpdateProjectClass + (*EventWithdrawProjectClass)(nil), // 20: regen.ecocredit.v1.EventWithdrawProjectClass + (*EventEvaluateProjectClass)(nil), // 21: regen.ecocredit.v1.EventEvaluateProjectClass + (*OriginTx)(nil), // 22: regen.ecocredit.v1.OriginTx + (ProjectClassStatus)(0), // 23: regen.ecocredit.v1.ProjectClassStatus } var file_regen_ecocredit_v1_events_proto_depIdxs = []int32{ - 19, // 0: regen.ecocredit.v1.EventCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 19, // 1: regen.ecocredit.v1.EventMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 19, // 2: regen.ecocredit.v1.EventBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 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 + 22, // 0: regen.ecocredit.v1.EventCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 22, // 1: regen.ecocredit.v1.EventMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 22, // 2: regen.ecocredit.v1.EventBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 23, // 3: regen.ecocredit.v1.EventEvaluateProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectClassStatus + 23, // 4: regen.ecocredit.v1.EventEvaluateProjectClass.new_status:type_name -> regen.ecocredit.v1.ProjectClassStatus + 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_v1_events_proto_init() } @@ -10815,6 +12785,7 @@ func file_regen_ecocredit_v1_events_proto_init() { return } file_regen_ecocredit_v1_types_proto_init() + file_regen_ecocredit_v1_state_proto_init() if !protoimpl.UnsafeEnabled { file_regen_ecocredit_v1_events_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventCreateClass); i { @@ -11044,6 +13015,42 @@ func file_regen_ecocredit_v1_events_proto_init() { return nil } } + file_regen_ecocredit_v1_events_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventUpdateProjectClass); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_events_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventWithdrawProjectClass); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_events_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EventEvaluateProjectClass); 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{ @@ -11051,7 +13058,7 @@ func file_regen_ecocredit_v1_events_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_events_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 22, NumExtensions: 0, NumServices: 0, }, diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 317de7209c..51e3038fa5 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -8868,12 +8868,12 @@ func (x *fastReflection_AllowedBridgeChain) ProtoMethods() *protoiface.Methods { } var ( - md_ProjectClass protoreflect.MessageDescriptor - fd_ProjectClass_project_key protoreflect.FieldDescriptor - fd_ProjectClass_class_key protoreflect.FieldDescriptor - fd_ProjectClass_status protoreflect.FieldDescriptor - fd_ProjectClass_project_metadata protoreflect.FieldDescriptor - fd_ProjectClass_credit_class_metadata protoreflect.FieldDescriptor + md_ProjectClass protoreflect.MessageDescriptor + fd_ProjectClass_project_key protoreflect.FieldDescriptor + fd_ProjectClass_class_key protoreflect.FieldDescriptor + fd_ProjectClass_status protoreflect.FieldDescriptor + fd_ProjectClass_project_metadata protoreflect.FieldDescriptor + fd_ProjectClass_class_metadata protoreflect.FieldDescriptor ) func init() { @@ -8883,7 +8883,7 @@ func init() { fd_ProjectClass_class_key = md_ProjectClass.Fields().ByName("class_key") fd_ProjectClass_status = md_ProjectClass.Fields().ByName("status") fd_ProjectClass_project_metadata = md_ProjectClass.Fields().ByName("project_metadata") - fd_ProjectClass_credit_class_metadata = md_ProjectClass.Fields().ByName("credit_class_metadata") + fd_ProjectClass_class_metadata = md_ProjectClass.Fields().ByName("class_metadata") } var _ protoreflect.Message = (*fastReflection_ProjectClass)(nil) @@ -8975,9 +8975,9 @@ func (x *fastReflection_ProjectClass) Range(f func(protoreflect.FieldDescriptor, return } } - if x.CreditClassMetadata != "" { - value := protoreflect.ValueOfString(x.CreditClassMetadata) - if !f(fd_ProjectClass_credit_class_metadata, value) { + if x.ClassMetadata != "" { + value := protoreflect.ValueOfString(x.ClassMetadata) + if !f(fd_ProjectClass_class_metadata, value) { return } } @@ -9004,8 +9004,8 @@ func (x *fastReflection_ProjectClass) Has(fd protoreflect.FieldDescriptor) bool return x.Status != 0 case "regen.ecocredit.v1.ProjectClass.project_metadata": return x.ProjectMetadata != "" - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": - return x.CreditClassMetadata != "" + case "regen.ecocredit.v1.ProjectClass.class_metadata": + return x.ClassMetadata != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) @@ -9030,8 +9030,8 @@ func (x *fastReflection_ProjectClass) Clear(fd protoreflect.FieldDescriptor) { x.Status = 0 case "regen.ecocredit.v1.ProjectClass.project_metadata": x.ProjectMetadata = "" - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": - x.CreditClassMetadata = "" + case "regen.ecocredit.v1.ProjectClass.class_metadata": + x.ClassMetadata = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) @@ -9060,8 +9060,8 @@ func (x *fastReflection_ProjectClass) Get(descriptor protoreflect.FieldDescripto case "regen.ecocredit.v1.ProjectClass.project_metadata": value := x.ProjectMetadata return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": - value := x.CreditClassMetadata + case "regen.ecocredit.v1.ProjectClass.class_metadata": + value := x.ClassMetadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { @@ -9091,8 +9091,8 @@ func (x *fastReflection_ProjectClass) Set(fd protoreflect.FieldDescriptor, value x.Status = (ProjectClassStatus)(value.Enum()) case "regen.ecocredit.v1.ProjectClass.project_metadata": x.ProjectMetadata = value.Interface().(string) - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": - x.CreditClassMetadata = value.Interface().(string) + case "regen.ecocredit.v1.ProjectClass.class_metadata": + x.ClassMetadata = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) @@ -9121,8 +9121,8 @@ func (x *fastReflection_ProjectClass) Mutable(fd protoreflect.FieldDescriptor) p panic(fmt.Errorf("field status of message regen.ecocredit.v1.ProjectClass is not mutable")) case "regen.ecocredit.v1.ProjectClass.project_metadata": panic(fmt.Errorf("field project_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": - panic(fmt.Errorf("field credit_class_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectClass.class_metadata": + panic(fmt.Errorf("field class_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) @@ -9144,7 +9144,7 @@ func (x *fastReflection_ProjectClass) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfEnum(0) case "regen.ecocredit.v1.ProjectClass.project_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.ProjectClass.credit_class_metadata": + case "regen.ecocredit.v1.ProjectClass.class_metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { @@ -9228,7 +9228,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.CreditClassMetadata) + l = len(x.ClassMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -9261,10 +9261,10 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.CreditClassMetadata) > 0 { - i -= len(x.CreditClassMetadata) - copy(dAtA[i:], x.CreditClassMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditClassMetadata))) + if len(x.ClassMetadata) > 0 { + i -= len(x.ClassMetadata) + copy(dAtA[i:], x.ClassMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassMetadata))) i-- dAtA[i] = 0x32 } @@ -9430,7 +9430,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { iNdEx = postIndex case 6: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreditClassMetadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9458,7 +9458,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.CreditClassMetadata = string(dAtA[iNdEx:postIndex]) + x.ClassMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10599,10 +10599,10 @@ type ProjectClass struct { // admin. This should primarily be used to store metadata regarding the project's // application to the credit class. ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` - // credit_class_metadata is any arbitrary metadata set by a credit + // class_metadata is any arbitrary metadata set by a credit // class issuer. This should primarily be used to store metadata regarding the // project's application to the credit class. - CreditClassMetadata string `protobuf:"bytes,6,opt,name=credit_class_metadata,json=creditClassMetadata,proto3" json:"credit_class_metadata,omitempty"` + ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` } func (x *ProjectClass) Reset() { @@ -10653,9 +10653,9 @@ func (x *ProjectClass) GetProjectMetadata() string { return "" } -func (x *ProjectClass) GetCreditClassMetadata() string { +func (x *ProjectClass) GetClassMetadata() string { if x != nil { - return x.CreditClassMetadata + return x.ClassMetadata } return "" } @@ -10831,7 +10831,7 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x9d, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x90, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, @@ -10843,38 +10843,38 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, - 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, - 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xac, - 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2a, - 0x0a, 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, - 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0xd8, 0x01, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, + 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, + 0x11, 0x2a, 0xac, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, + 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, + 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, + 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, + 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 8c56cf52a2..84df65b2c2 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -5142,6 +5143,7 @@ var ( md_MsgWithdrawProjectClass protoreflect.MessageDescriptor fd_MsgWithdrawProjectClass_project_admin protoreflect.FieldDescriptor fd_MsgWithdrawProjectClass_application_id protoreflect.FieldDescriptor + fd_MsgWithdrawProjectClass_metadata protoreflect.FieldDescriptor ) func init() { @@ -5149,6 +5151,7 @@ func init() { md_MsgWithdrawProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectClass") fd_MsgWithdrawProjectClass_project_admin = md_MsgWithdrawProjectClass.Fields().ByName("project_admin") fd_MsgWithdrawProjectClass_application_id = md_MsgWithdrawProjectClass.Fields().ByName("application_id") + fd_MsgWithdrawProjectClass_metadata = md_MsgWithdrawProjectClass.Fields().ByName("metadata") } var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectClass)(nil) @@ -5228,6 +5231,12 @@ func (x *fastReflection_MsgWithdrawProjectClass) Range(f func(protoreflect.Field return } } + if x.Metadata != "" { + value := protoreflect.ValueOfString(x.Metadata) + if !f(fd_MsgWithdrawProjectClass_metadata, value) { + return + } + } } // Has reports whether a field is populated. @@ -5247,6 +5256,8 @@ func (x *fastReflection_MsgWithdrawProjectClass) Has(fd protoreflect.FieldDescri return x.ProjectAdmin != "" case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": return x.ApplicationId != uint64(0) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + return x.Metadata != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5267,6 +5278,8 @@ func (x *fastReflection_MsgWithdrawProjectClass) Clear(fd protoreflect.FieldDesc x.ProjectAdmin = "" case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": x.ApplicationId = uint64(0) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + x.Metadata = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5289,6 +5302,9 @@ func (x *fastReflection_MsgWithdrawProjectClass) Get(descriptor protoreflect.Fie case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": value := x.ApplicationId return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + value := x.Metadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5313,6 +5329,8 @@ func (x *fastReflection_MsgWithdrawProjectClass) Set(fd protoreflect.FieldDescri x.ProjectAdmin = value.Interface().(string) case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": x.ApplicationId = value.Uint() + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + x.Metadata = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5337,6 +5355,8 @@ func (x *fastReflection_MsgWithdrawProjectClass) Mutable(fd protoreflect.FieldDe panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5354,6 +5374,8 @@ func (x *fastReflection_MsgWithdrawProjectClass) NewField(fd protoreflect.FieldD return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) @@ -5430,6 +5452,10 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth if x.ApplicationId != 0 { n += 1 + runtime.Sov(uint64(x.ApplicationId)) } + l = len(x.Metadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5459,6 +5485,13 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth 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] = 0x1a + } if x.ApplicationId != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) i-- @@ -5571,6 +5604,38 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth break } } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", 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.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -29381,7 +29446,7 @@ type MsgUpdateProjectClass struct { // class_id is the identifier of the credit class which the project is // applying to. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optional arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -29473,6 +29538,10 @@ type MsgWithdrawProjectClass struct { ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` // application_id is the identifier of the application to withdraw. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` + // metadata is any optional arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the withdrawal. This + // will only be included in events. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (x *MsgWithdrawProjectClass) Reset() { @@ -29509,6 +29578,13 @@ func (x *MsgWithdrawProjectClass) GetApplicationId() uint64 { return 0 } +func (x *MsgWithdrawProjectClass) GetMetadata() string { + if x != nil { + return x.Metadata + } + return "" +} + // MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. type MsgWithdrawProjectClassResponse struct { state protoimpl.MessageState @@ -29549,7 +29625,7 @@ type MsgEvaluateProjectClass struct { ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -31811,505 +31887,507 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, - 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, - 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x21, - 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, - 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x21, 0x0a, - 0x1f, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, - 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, + 0x6e, 0x73, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x4d, + 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc9, + 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, + 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, + 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, + 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x3f, 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, 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, + 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, + 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, + 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, + 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, + 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, - 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, - 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, + 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, + 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, + 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, + 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, - 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, - 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, - 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, + 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 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, 0x1b, 0x0a, 0x09, 0x6e, + 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, - 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, - 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, - 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, - 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, - 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, - 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 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, 0x21, + 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, + 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, + 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, + 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, + 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, + 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, + 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, - 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 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, 0x46, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, - 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, - 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 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, 0x46, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, + 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, + 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x3f, 0x0a, 0x0a, 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, + 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, 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, 0x42, + 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, + 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, - 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, + 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, + 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, + 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, + 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, + 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, + 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, - 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, - 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, - 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd1, 0x17, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, + 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, + 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, + 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd1, 0x17, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, + 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x31, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x78, 0x0a, 0x14, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, - 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, - 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, - 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, - 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, + 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, + 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, + 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, + 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, - 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, - 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, + 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, 0x72, + 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, + 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, + 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, - 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, - 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, - 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, + 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, + 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, + 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, + 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/regen/ecocredit/v1/events.proto b/proto/regen/ecocredit/v1/events.proto index d8ebfe83bd..4bd5802dfa 100644 --- a/proto/regen/ecocredit/v1/events.proto +++ b/proto/regen/ecocredit/v1/events.proto @@ -3,6 +3,7 @@ syntax = "proto3"; package regen.ecocredit.v1; import "regen/ecocredit/v1/types.proto"; +import "regen/ecocredit/v1/state.proto"; option go_package = "github.com/regen-network/regen-ledger/x/ecocredit/base/types/v1"; @@ -259,3 +260,52 @@ message EventBurnRegen { // reason is the reason for the burn. string reason = 3; } + +// EventUpdateProjectClass is emitted when a project admin submits or updates +// a project class relationship's metadata, usually relating to credit class +// application. +message EventUpdateProjectClass { + // project_id is the unique identifier of the project that was updated. + string project_id = 1; + + // class_id is the unique identifier of the class that was updated. + string class_id = 2; + + // new_project_metadata is the new project metadata. + string new_project_metadata = 3; +} + +// EventWithdrawProjectClass is emitted when a project admin withdraws a project +// from a credit class. +message EventWithdrawProjectClass { + // project_id is the unique identifier of the project which withdrew from the + // class. + string project_id = 1; + + // class_id is the unique identifier of the class that was withdrawn from. + string class_id = 2; +} + +// EventEvaluateProjectClass is emitted when a project class relationship is +// evaluated by a credit class issuer. +message EventEvaluateProjectClass { + // issuer is the address of the credit class issuer which evaluated the + // project. + string issuer = 1; + + // project_id is the unique identifier of the project that was evaluated. + string project_id = 2; + + // class_id is the unique identifier of the class in which the project was + // evaluated. + string class_id = 3; + + // old_status is the old status of the project class relationship. + ProjectClassStatus old_status = 4; + + // new_status is the new status of the project class relationship. + ProjectClassStatus new_status = 5; + + // new_class_metadata is any new class metadata. + string new_class_metadata = 6; +} \ No newline at end of file diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 480bab1505..8248363f53 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -412,10 +412,10 @@ message ProjectClass { // application to the credit class. string project_metadata = 5; - // credit_class_metadata is any arbitrary metadata set by a credit + // class_metadata is any arbitrary metadata set by a credit // class issuer. This should primarily be used to store metadata regarding the // project's application to the credit class. - string credit_class_metadata = 6; + string class_metadata = 6; } // Application represents the evaluation status that a credit class issuer diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index cb81b711bf..4c478ac2a3 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -363,7 +363,7 @@ message MsgUpdateProjectClass { // applying to. string class_id = 3; - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optional arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. string metadata = 4; @@ -382,6 +382,11 @@ message MsgWithdrawProjectClass { // application_id is the identifier of the application to withdraw. uint64 application_id = 2; + + // metadata is any optional arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the withdrawal. This + // will only be included in events. + string metadata = 3; } // MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. @@ -401,7 +406,7 @@ message MsgEvaluateProjectClass { // evaluation is the evaluation of the application. ProjectClassStatus evaluation = 3; - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. string metadata = 4; diff --git a/x/ecocredit/base/types/v1/events.pb.go b/x/ecocredit/base/types/v1/events.pb.go index 09ca58e555..7f065c6a4e 100644 --- a/x/ecocredit/base/types/v1/events.pb.go +++ b/x/ecocredit/base/types/v1/events.pb.go @@ -1168,6 +1168,223 @@ func (m *EventBurnRegen) GetReason() string { return "" } +// EventUpdateProjectClass is emitted when a project admin submits or updates +// a project class relationship's metadata, usually relating to credit class +// application. +type EventUpdateProjectClass struct { + // project_id is the unique identifier of the project that was updated. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class that was updated. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // new_project_metadata is the new project metadata. + NewProjectMetadata string `protobuf:"bytes,3,opt,name=new_project_metadata,json=newProjectMetadata,proto3" json:"new_project_metadata,omitempty"` +} + +func (m *EventUpdateProjectClass) Reset() { *m = EventUpdateProjectClass{} } +func (m *EventUpdateProjectClass) String() string { return proto.CompactTextString(m) } +func (*EventUpdateProjectClass) ProtoMessage() {} +func (*EventUpdateProjectClass) Descriptor() ([]byte, []int) { + return fileDescriptor_e32415575ff8b4b2, []int{19} +} +func (m *EventUpdateProjectClass) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventUpdateProjectClass.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventUpdateProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventUpdateProjectClass.Merge(m, src) +} +func (m *EventUpdateProjectClass) XXX_Size() int { + return m.Size() +} +func (m *EventUpdateProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_EventUpdateProjectClass.DiscardUnknown(m) +} + +var xxx_messageInfo_EventUpdateProjectClass proto.InternalMessageInfo + +func (m *EventUpdateProjectClass) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *EventUpdateProjectClass) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +func (m *EventUpdateProjectClass) GetNewProjectMetadata() string { + if m != nil { + return m.NewProjectMetadata + } + return "" +} + +// EventWithdrawProjectClass is emitted when a project admin withdraws a project +// from a credit class. +type EventWithdrawProjectClass struct { + // project_id is the unique identifier of the project which withdrew from the + // class. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class that was withdrawn from. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` +} + +func (m *EventWithdrawProjectClass) Reset() { *m = EventWithdrawProjectClass{} } +func (m *EventWithdrawProjectClass) String() string { return proto.CompactTextString(m) } +func (*EventWithdrawProjectClass) ProtoMessage() {} +func (*EventWithdrawProjectClass) Descriptor() ([]byte, []int) { + return fileDescriptor_e32415575ff8b4b2, []int{20} +} +func (m *EventWithdrawProjectClass) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventWithdrawProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventWithdrawProjectClass.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventWithdrawProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventWithdrawProjectClass.Merge(m, src) +} +func (m *EventWithdrawProjectClass) XXX_Size() int { + return m.Size() +} +func (m *EventWithdrawProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_EventWithdrawProjectClass.DiscardUnknown(m) +} + +var xxx_messageInfo_EventWithdrawProjectClass proto.InternalMessageInfo + +func (m *EventWithdrawProjectClass) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *EventWithdrawProjectClass) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +// EventEvaluateProjectClass is emitted when a project class relationship is +// evaluated by a credit class issuer. +type EventEvaluateProjectClass struct { + // issuer is the address of the credit class issuer which evaluated the + // project. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // project_id is the unique identifier of the project that was evaluated. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the class in which the project was + // evaluated. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // old_status is the old status of the project class relationship. + OldStatus ProjectClassStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"old_status,omitempty"` + // new_status is the new status of the project class relationship. + NewStatus ProjectClassStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"new_status,omitempty"` + // new_class_metadata is any new class metadata. + NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` +} + +func (m *EventEvaluateProjectClass) Reset() { *m = EventEvaluateProjectClass{} } +func (m *EventEvaluateProjectClass) String() string { return proto.CompactTextString(m) } +func (*EventEvaluateProjectClass) ProtoMessage() {} +func (*EventEvaluateProjectClass) Descriptor() ([]byte, []int) { + return fileDescriptor_e32415575ff8b4b2, []int{21} +} +func (m *EventEvaluateProjectClass) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventEvaluateProjectClass.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventEvaluateProjectClass) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventEvaluateProjectClass.Merge(m, src) +} +func (m *EventEvaluateProjectClass) XXX_Size() int { + return m.Size() +} +func (m *EventEvaluateProjectClass) XXX_DiscardUnknown() { + xxx_messageInfo_EventEvaluateProjectClass.DiscardUnknown(m) +} + +var xxx_messageInfo_EventEvaluateProjectClass proto.InternalMessageInfo + +func (m *EventEvaluateProjectClass) GetIssuer() string { + if m != nil { + return m.Issuer + } + return "" +} + +func (m *EventEvaluateProjectClass) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *EventEvaluateProjectClass) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +func (m *EventEvaluateProjectClass) GetOldStatus() ProjectClassStatus { + if m != nil { + return m.OldStatus + } + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED +} + +func (m *EventEvaluateProjectClass) GetNewStatus() ProjectClassStatus { + if m != nil { + return m.NewStatus + } + return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED +} + +func (m *EventEvaluateProjectClass) GetNewClassMetadata() string { + if m != nil { + return m.NewClassMetadata + } + return "" +} + func init() { proto.RegisterType((*EventCreateClass)(nil), "regen.ecocredit.v1.EventCreateClass") proto.RegisterType((*EventCreateProject)(nil), "regen.ecocredit.v1.EventCreateProject") @@ -1188,55 +1405,67 @@ func init() { proto.RegisterType((*EventBridge)(nil), "regen.ecocredit.v1.EventBridge") proto.RegisterType((*EventBridgeReceive)(nil), "regen.ecocredit.v1.EventBridgeReceive") proto.RegisterType((*EventBurnRegen)(nil), "regen.ecocredit.v1.EventBurnRegen") + proto.RegisterType((*EventUpdateProjectClass)(nil), "regen.ecocredit.v1.EventUpdateProjectClass") + proto.RegisterType((*EventWithdrawProjectClass)(nil), "regen.ecocredit.v1.EventWithdrawProjectClass") + proto.RegisterType((*EventEvaluateProjectClass)(nil), "regen.ecocredit.v1.EventEvaluateProjectClass") } func init() { proto.RegisterFile("regen/ecocredit/v1/events.proto", fileDescriptor_e32415575ff8b4b2) } var fileDescriptor_e32415575ff8b4b2 = []byte{ - // 682 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x41, 0x4f, 0x13, 0x41, - 0x14, 0x66, 0xa1, 0x54, 0xfa, 0x10, 0x34, 0x1b, 0x45, 0x24, 0xb8, 0x90, 0x4d, 0x8c, 0x5c, 0x68, - 0x53, 0xd0, 0x04, 0xe3, 0xc1, 0xd0, 0xea, 0x81, 0x03, 0xd1, 0x54, 0x4c, 0xd4, 0x4b, 0x33, 0xbb, - 0xf3, 0x2c, 0x83, 0xed, 0x4c, 0xf3, 0x76, 0x5a, 0x20, 0xf1, 0x47, 0x78, 0xf4, 0x1f, 0x78, 0xf3, - 0xe8, 0x6f, 0xf0, 0xc8, 0xd1, 0xa3, 0x81, 0x3f, 0x62, 0x76, 0x76, 0xba, 0xed, 0xb6, 0xd8, 0xa2, - 0xd1, 0xdb, 0xbc, 0x97, 0xf7, 0xed, 0xf7, 0xbd, 0x9d, 0xf7, 0xbd, 0x81, 0x35, 0xc2, 0x06, 0xca, - 0x12, 0x86, 0x2a, 0x24, 0xe4, 0x42, 0x97, 0xba, 0xe5, 0x12, 0x76, 0x51, 0xea, 0xa8, 0xd8, 0x26, - 0xa5, 0x95, 0xeb, 0x9a, 0x82, 0x62, 0x5a, 0x50, 0xec, 0x96, 0x57, 0xbc, 0x4b, 0x40, 0xfa, 0xb4, - 0x8d, 0x16, 0xe3, 0x6f, 0xc2, 0xcd, 0xe7, 0xf1, 0x37, 0xaa, 0x84, 0x4c, 0x63, 0xb5, 0xc9, 0xa2, - 0xc8, 0xbd, 0x0b, 0x73, 0x61, 0x7c, 0xa8, 0x0b, 0xbe, 0xec, 0xac, 0x3b, 0x1b, 0x85, 0xda, 0x35, - 0x13, 0xef, 0x71, 0x7f, 0x1b, 0xdc, 0x81, 0xf2, 0x97, 0xa4, 0x8e, 0x30, 0xd4, 0xee, 0x3d, 0x80, - 0x76, 0x72, 0xec, 0x43, 0x0a, 0x36, 0xb3, 0xc7, 0x7d, 0x99, 0xe1, 0xa8, 0x30, 0x1d, 0x1e, 0xba, - 0x6b, 0x30, 0x1f, 0xc4, 0x87, 0x3a, 0x47, 0xa9, 0x5a, 0x16, 0x03, 0x26, 0xf5, 0x2c, 0xce, 0xb8, - 0x8f, 0xa1, 0xa0, 0x48, 0x34, 0x84, 0xac, 0xeb, 0x93, 0xe5, 0xe9, 0x75, 0x67, 0x63, 0x7e, 0x6b, - 0xb5, 0x38, 0xda, 0x60, 0xf1, 0x85, 0x29, 0x3a, 0x38, 0xa9, 0xcd, 0x29, 0x7b, 0xf2, 0x3f, 0x42, - 0xc1, 0xf0, 0xed, 0x0b, 0xa9, 0x27, 0x13, 0x3d, 0x80, 0x1b, 0x9a, 0x18, 0x67, 0x41, 0x13, 0xeb, - 0xac, 0xa5, 0x3a, 0x52, 0x1b, 0xba, 0x42, 0x6d, 0xb1, 0x97, 0xde, 0x35, 0x59, 0xf7, 0x3e, 0x2c, - 0x12, 0x6a, 0x41, 0xc8, 0x7b, 0x75, 0x33, 0xa6, 0x6e, 0xc1, 0x66, 0x93, 0x32, 0x3f, 0x82, 0xdb, - 0x29, 0xbb, 0xe9, 0xb5, 0x6a, 0xb4, 0x46, 0xff, 0xb5, 0xe5, 0x6f, 0x0e, 0x2c, 0x18, 0xd6, 0x03, - 0x62, 0x32, 0x7a, 0x8f, 0xe4, 0x2e, 0x41, 0x3e, 0x42, 0xc9, 0x91, 0x2c, 0x91, 0x8d, 0xdc, 0x55, - 0x28, 0x10, 0x86, 0xa2, 0x2d, 0x30, 0x6d, 0xb4, 0x9f, 0x18, 0xd6, 0x38, 0x73, 0x95, 0xbf, 0x95, - 0xbb, 0xe2, 0xdf, 0x9a, 0xbd, 0xec, 0x6f, 0x7d, 0x76, 0x60, 0xde, 0x08, 0xaf, 0x99, 0xb4, 0x7b, - 0x0b, 0x66, 0xd5, 0xb1, 0x4c, 0x55, 0x27, 0xc1, 0xb0, 0xac, 0xe9, 0x11, 0x59, 0x4b, 0x90, 0xcf, - 0xdc, 0x89, 0x8d, 0x5c, 0x1f, 0xae, 0x1f, 0x75, 0x48, 0x44, 0x5c, 0x84, 0x5a, 0x28, 0x69, 0xb5, - 0x66, 0x72, 0x31, 0x96, 0x90, 0x45, 0x4a, 0x5a, 0x85, 0x36, 0xf2, 0xb5, 0x55, 0x56, 0x65, 0x32, - 0xc4, 0xe6, 0xbf, 0x56, 0xd6, 0x67, 0xcd, 0x65, 0x58, 0xb7, 0xec, 0xf8, 0xbc, 0x6e, 0xf3, 0x9e, - 0x21, 0x77, 0x79, 0x4b, 0xc8, 0x71, 0xae, 0x7c, 0x08, 0x77, 0x86, 0x31, 0x7b, 0x51, 0xd4, 0x41, - 0x1a, 0xeb, 0xe5, 0x47, 0xb0, 0x3c, 0x8c, 0xda, 0x47, 0xcd, 0x38, 0xd3, 0x6c, 0x1c, 0x6c, 0x27, - 0x43, 0x66, 0x57, 0x40, 0x22, 0x71, 0xc2, 0x1e, 0x78, 0x02, 0x2b, 0xa3, 0xc8, 0x94, 0x72, 0x22, - 0x78, 0x50, 0xad, 0x31, 0x56, 0x0a, 0x9d, 0xe4, 0x2c, 0xbf, 0x0c, 0x8b, 0x06, 0xfc, 0x0a, 0x59, - 0xf3, 0x6a, 0xfb, 0xc7, 0xdf, 0xb1, 0x9b, 0x6e, 0x97, 0xf3, 0xc4, 0xc0, 0x07, 0xa7, 0x6d, 0x8c, - 0xe7, 0x89, 0x05, 0x01, 0x61, 0x57, 0x30, 0x33, 0x4f, 0x09, 0x2e, 0x93, 0xf3, 0xbf, 0xf6, 0x46, - 0xba, 0x42, 0x82, 0x37, 0x30, 0xbe, 0x69, 0xcd, 0xa8, 0x81, 0xba, 0xe7, 0xc4, 0x24, 0x9a, 0xe0, - 0xc4, 0x15, 0x98, 0x0b, 0x95, 0xd4, 0xc4, 0xc2, 0xde, 0xe4, 0xa4, 0xf1, 0xc0, 0x4c, 0xe5, 0x32, - 0x33, 0x95, 0x8e, 0xe8, 0xec, 0x98, 0x11, 0xcd, 0x8f, 0xb4, 0xfa, 0xc5, 0xb1, 0xbd, 0x26, 0x82, - 0x6b, 0x18, 0xa2, 0xe8, 0xe2, 0x84, 0x0b, 0xf9, 0xfb, 0xc9, 0xcf, 0xac, 0xb9, 0xdc, 0x1f, 0xad, - 0xb9, 0x37, 0xf6, 0x1e, 0x2b, 0x1d, 0x92, 0xb5, 0x18, 0x11, 0x93, 0x04, 0x1d, 0xea, 0xdb, 0xd2, - 0x46, 0x03, 0xe4, 0xd3, 0xbf, 0xb1, 0xdd, 0xcc, 0xa0, 0xed, 0x2a, 0x6f, 0xbf, 0x9f, 0x7b, 0xce, - 0xd9, 0xb9, 0xe7, 0xfc, 0x3c, 0xf7, 0x9c, 0x4f, 0x17, 0xde, 0xd4, 0xd9, 0x85, 0x37, 0xf5, 0xe3, - 0xc2, 0x9b, 0x7a, 0xf7, 0xb4, 0x21, 0xf4, 0x61, 0x27, 0x28, 0x86, 0xaa, 0x55, 0x32, 0x2a, 0x37, - 0x25, 0xea, 0x63, 0x45, 0x1f, 0x6c, 0xd4, 0x44, 0xde, 0x40, 0x2a, 0x9d, 0x0c, 0xbc, 0xb1, 0x01, - 0x8b, 0x30, 0x79, 0x65, 0x4b, 0xdd, 0x72, 0x90, 0x37, 0x2f, 0xed, 0xf6, 0xaf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x70, 0x5b, 0x0a, 0xb1, 0xc0, 0x07, 0x00, 0x00, + // 830 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x4f, 0x1b, 0x3b, + 0x14, 0x65, 0xf2, 0xf5, 0x88, 0x79, 0xe4, 0xa1, 0x11, 0x8f, 0x02, 0xa2, 0x01, 0x8d, 0xd4, 0x96, + 0x45, 0x49, 0x1a, 0x68, 0x25, 0xaa, 0x2e, 0x2a, 0x92, 0xb2, 0x60, 0x81, 0x5a, 0x05, 0x50, 0x3f, + 0x36, 0x91, 0x67, 0x7c, 0x1b, 0x4c, 0x27, 0x76, 0xe4, 0xf1, 0x24, 0x20, 0x75, 0xdb, 0x7d, 0x97, + 0xfd, 0x07, 0x55, 0x37, 0x5d, 0xf6, 0x37, 0x74, 0xc9, 0xb2, 0xcb, 0x0a, 0xfe, 0x48, 0x35, 0x1e, + 0xcf, 0x24, 0x93, 0xa4, 0x09, 0x54, 0x74, 0xe7, 0x7b, 0xe3, 0xe3, 0x73, 0x7c, 0x7d, 0xcf, 0xcd, + 0xa0, 0x55, 0x01, 0x4d, 0x60, 0x65, 0x70, 0xb8, 0x23, 0x80, 0x50, 0x59, 0xee, 0x54, 0xca, 0xd0, + 0x01, 0x26, 0xbd, 0x52, 0x5b, 0x70, 0xc9, 0x4d, 0x53, 0x6d, 0x28, 0xc5, 0x1b, 0x4a, 0x9d, 0xca, + 0x72, 0x71, 0x04, 0x48, 0x9e, 0xb5, 0x41, 0x63, 0x46, 0xfe, 0xee, 0x49, 0x2c, 0x21, 0xfc, 0xdd, + 0xda, 0x40, 0x73, 0xbb, 0x01, 0x47, 0x4d, 0x00, 0x96, 0x50, 0x73, 0xb1, 0xe7, 0x99, 0x4b, 0x68, + 0xda, 0x09, 0x16, 0x0d, 0x4a, 0x16, 0x8d, 0x35, 0x63, 0x3d, 0x5f, 0xff, 0x47, 0xc5, 0x7b, 0xc4, + 0xda, 0x42, 0x66, 0xdf, 0xf6, 0x17, 0x82, 0x9f, 0x80, 0x23, 0xcd, 0xdb, 0x08, 0xb5, 0xc3, 0x65, + 0x0f, 0x92, 0xd7, 0x99, 0x3d, 0x62, 0xb1, 0x04, 0x47, 0x15, 0x4b, 0xe7, 0xd8, 0x5c, 0x45, 0x33, + 0x76, 0xb0, 0x68, 0x10, 0x60, 0xbc, 0xa5, 0x31, 0x48, 0xa5, 0x9e, 0x05, 0x19, 0xf3, 0x31, 0xca, + 0x73, 0x41, 0x9b, 0x94, 0x35, 0xe4, 0xe9, 0x62, 0x6a, 0xcd, 0x58, 0x9f, 0xd9, 0x5c, 0x29, 0x0d, + 0x17, 0xa0, 0xf4, 0x5c, 0x6d, 0x3a, 0x3c, 0xad, 0x4f, 0x73, 0xbd, 0xb2, 0xde, 0xa3, 0xbc, 0xe2, + 0xdb, 0xa7, 0x4c, 0x4e, 0x26, 0xba, 0x87, 0xfe, 0x93, 0x02, 0x13, 0x6c, 0xbb, 0xd0, 0xc0, 0x2d, + 0xee, 0x33, 0xa9, 0xe8, 0xf2, 0xf5, 0x42, 0x94, 0xde, 0x51, 0x59, 0xf3, 0x0e, 0x2a, 0x08, 0x90, + 0x54, 0x00, 0x89, 0xf6, 0xa5, 0xd5, 0xbe, 0x59, 0x9d, 0x0d, 0xb7, 0x59, 0x1e, 0xfa, 0x3f, 0x66, + 0x57, 0x77, 0xad, 0x29, 0xad, 0xde, 0x5f, 0xbd, 0xf2, 0x37, 0x03, 0xcd, 0x2a, 0xd6, 0x43, 0x81, + 0x99, 0xf7, 0x16, 0x84, 0xb9, 0x80, 0x72, 0x1e, 0x30, 0x02, 0x42, 0x13, 0xe9, 0xc8, 0x5c, 0x41, + 0x79, 0x01, 0x0e, 0x6d, 0x53, 0x88, 0x2f, 0xda, 0x4b, 0x0c, 0x6a, 0x4c, 0x5f, 0xa5, 0x5a, 0x99, + 0x2b, 0x56, 0x2b, 0x3b, 0xaa, 0x5a, 0x9f, 0x0c, 0x34, 0xa3, 0x84, 0xd7, 0x55, 0xda, 0x9c, 0x47, + 0x59, 0xde, 0x65, 0xb1, 0xea, 0x30, 0x18, 0x94, 0x95, 0x1a, 0x92, 0xb5, 0x80, 0x72, 0x89, 0x37, + 0xd1, 0x91, 0x69, 0xa1, 0x7f, 0x4f, 0x7c, 0x41, 0x3d, 0x42, 0x1d, 0x49, 0x39, 0xd3, 0x5a, 0x13, + 0xb9, 0x00, 0x2b, 0x00, 0x7b, 0x9c, 0x69, 0x85, 0x3a, 0xb2, 0xa4, 0x56, 0x56, 0xc3, 0xcc, 0x01, + 0xf7, 0xa6, 0x95, 0xf5, 0x58, 0x33, 0x09, 0xd6, 0x4d, 0xdd, 0x3e, 0x47, 0x6d, 0x12, 0x19, 0x72, + 0x87, 0xb4, 0x28, 0x1b, 0xe7, 0xca, 0x87, 0xe8, 0xd6, 0x20, 0x66, 0xcf, 0xf3, 0x7c, 0x10, 0x63, + 0xbd, 0xfc, 0x08, 0x2d, 0x0e, 0xa2, 0xf6, 0x41, 0x62, 0x82, 0x25, 0x1e, 0x07, 0xdb, 0x4e, 0x90, + 0xe9, 0x11, 0x10, 0x4a, 0x9c, 0x30, 0x07, 0x9e, 0xa0, 0xe5, 0x61, 0x64, 0x4c, 0x39, 0x11, 0xdc, + 0xaf, 0x56, 0x19, 0x2b, 0x86, 0x4e, 0x72, 0x96, 0x55, 0x41, 0x05, 0x05, 0x3e, 0x00, 0xec, 0x5e, + 0x6d, 0xfe, 0x58, 0xdb, 0x7a, 0xd2, 0xed, 0x10, 0x12, 0x1a, 0xf8, 0xf0, 0xac, 0x0d, 0x41, 0x3f, + 0x61, 0xdb, 0x16, 0xd0, 0xa1, 0x58, 0xf5, 0x53, 0x88, 0x4b, 0xe4, 0xac, 0xaf, 0x51, 0x4b, 0x57, + 0x05, 0x25, 0x4d, 0x08, 0x5e, 0x5a, 0x62, 0xd1, 0x04, 0x19, 0x39, 0x31, 0x8c, 0x26, 0x38, 0x71, + 0x19, 0x4d, 0x3b, 0x9c, 0x49, 0x81, 0x9d, 0xa8, 0x73, 0xe2, 0xb8, 0xaf, 0xa7, 0x32, 0x89, 0x9e, + 0x8a, 0x5b, 0x34, 0x3b, 0xa6, 0x45, 0x73, 0x43, 0x57, 0xfd, 0x6c, 0xe8, 0xbb, 0x86, 0x82, 0xeb, + 0xe0, 0x00, 0xed, 0xc0, 0x84, 0x07, 0xf9, 0xf3, 0xce, 0x4f, 0x8c, 0xb9, 0xcc, 0xb5, 0xc6, 0xdc, + 0x2b, 0xfd, 0x8e, 0x55, 0x5f, 0xb0, 0x7a, 0x80, 0x08, 0x48, 0x6c, 0x5f, 0xf4, 0x6c, 0xa9, 0xa3, + 0x3e, 0xf2, 0xd4, 0x6f, 0x6c, 0x97, 0x4e, 0xd8, 0xee, 0x83, 0x31, 0xaa, 0xad, 0xc3, 0xff, 0xc3, + 0x09, 0x85, 0xe8, 0xf7, 0x4a, 0x2a, 0xe1, 0x15, 0xf3, 0x01, 0x9a, 0x67, 0xd0, 0x6d, 0x44, 0xe8, + 0x96, 0x6e, 0x58, 0xcd, 0x6d, 0x32, 0xe8, 0x0e, 0xb8, 0xc0, 0x3a, 0x42, 0x4b, 0x4a, 0xc6, 0x4b, + 0x2a, 0x8f, 0x89, 0xc0, 0xdd, 0x9b, 0x11, 0x62, 0x7d, 0x49, 0xe9, 0x73, 0x77, 0x3b, 0xd8, 0xf5, + 0x07, 0x2f, 0xb8, 0x80, 0x72, 0x54, 0xcd, 0x8b, 0xa8, 0x88, 0x61, 0x34, 0xc0, 0x97, 0x1a, 0xc7, + 0x97, 0x4e, 0x5e, 0x7c, 0x17, 0x21, 0xee, 0x92, 0x46, 0xf0, 0xa5, 0xe1, 0x7b, 0xea, 0x91, 0x0b, + 0x9b, 0x77, 0x47, 0x3d, 0x72, 0xbf, 0x8e, 0x03, 0xb5, 0xbb, 0x9e, 0xe7, 0x2e, 0x09, 0x97, 0xc1, + 0x31, 0x41, 0xfd, 0xf4, 0x31, 0xd9, 0xeb, 0x1d, 0xc3, 0xa0, 0xab, 0x8f, 0xb9, 0x8f, 0x82, 0x52, + 0x37, 0x42, 0xb1, 0xf1, 0x23, 0x84, 0x46, 0x98, 0x63, 0xd0, 0x4d, 0xcc, 0xbe, 0xea, 0xeb, 0xef, + 0x17, 0x45, 0xe3, 0xfc, 0xa2, 0x68, 0xfc, 0xbc, 0x28, 0x1a, 0x1f, 0x2f, 0x8b, 0x53, 0xe7, 0x97, + 0xc5, 0xa9, 0x1f, 0x97, 0xc5, 0xa9, 0x37, 0x4f, 0x9b, 0x54, 0x1e, 0xfb, 0x76, 0xc9, 0xe1, 0xad, + 0xb2, 0x12, 0xb1, 0xc1, 0x40, 0x76, 0xb9, 0x78, 0xa7, 0x23, 0x17, 0x48, 0x13, 0x44, 0xf9, 0xb4, + 0xef, 0x73, 0xcb, 0xc6, 0x1e, 0x84, 0x1f, 0x64, 0xe5, 0x4e, 0xc5, 0xce, 0xa9, 0x8f, 0xae, 0xad, + 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x65, 0x04, 0x32, 0xeb, 0x09, 0x00, 0x00, } func (m *EventCreateClass) Marshal() (dAtA []byte, err error) { @@ -1999,6 +2228,148 @@ func (m *EventBurnRegen) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *EventUpdateProjectClass) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventUpdateProjectClass) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventUpdateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NewProjectMetadata) > 0 { + i -= len(m.NewProjectMetadata) + copy(dAtA[i:], m.NewProjectMetadata) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NewProjectMetadata))) + i-- + dAtA[i] = 0x1a + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventWithdrawProjectClass) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventWithdrawProjectClass) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *EventEvaluateProjectClass) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventEvaluateProjectClass) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventEvaluateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.NewClassMetadata) > 0 { + i -= len(m.NewClassMetadata) + copy(dAtA[i:], m.NewClassMetadata) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NewClassMetadata))) + i-- + dAtA[i] = 0x32 + } + if m.NewStatus != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.NewStatus)) + i-- + dAtA[i] = 0x28 + } + if m.OldStatus != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.OldStatus)) + i-- + dAtA[i] = 0x20 + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x1a + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintEvents(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Issuer) > 0 { + i -= len(m.Issuer) + copy(dAtA[i:], m.Issuer) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Issuer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { offset -= sovEvents(v) base := offset @@ -2357,24 +2728,93 @@ func (m *EventBurnRegen) Size() (n int) { return n } -func sovEvents(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozEvents(x uint64) (n int) { - return sovEvents(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *EventCreateClass) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF +func (m *EventUpdateProjectClass) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.NewProjectMetadata) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventWithdrawProjectClass) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func (m *EventEvaluateProjectClass) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Issuer) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.OldStatus != 0 { + n += 1 + sovEvents(uint64(m.OldStatus)) + } + if m.NewStatus != 0 { + n += 1 + sovEvents(uint64(m.NewStatus)) + } + l = len(m.NewClassMetadata) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + +func sovEvents(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEvents(x uint64) (n int) { + return sovEvents(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *EventCreateClass) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ @@ -4733,6 +5173,482 @@ func (m *EventBurnRegen) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventUpdateProjectClass) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventUpdateProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewProjectMetadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NewProjectMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventWithdrawProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventEvaluateProjectClass: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Issuer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OldStatus", wireType) + } + m.OldStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OldStatus |= ProjectClassStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NewStatus", wireType) + } + m.NewStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NewStatus |= ProjectClassStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewClassMetadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NewClassMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipEvents(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index ebf9cd1abc..848b0c5836 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -1233,10 +1233,10 @@ type ProjectClass struct { // admin. This should primarily be used to store metadata regarding the project's // application to the credit class. ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` - // credit_class_metadata is any arbitrary metadata set by a credit + // class_metadata is any arbitrary metadata set by a credit // class issuer. This should primarily be used to store metadata regarding the // project's application to the credit class. - CreditClassMetadata string `protobuf:"bytes,6,opt,name=credit_class_metadata,json=creditClassMetadata,proto3" json:"credit_class_metadata,omitempty"` + ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` } func (m *ProjectClass) Reset() { *m = ProjectClass{} } @@ -1300,9 +1300,9 @@ func (m *ProjectClass) GetProjectMetadata() string { return "" } -func (m *ProjectClass) GetCreditClassMetadata() string { +func (m *ProjectClass) GetClassMetadata() string { if m != nil { - return m.CreditClassMetadata + return m.ClassMetadata } return "" } @@ -1331,94 +1331,94 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1381 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x8f, 0xfc, 0x27, 0xb1, 0x9f, 0xff, 0x29, 0x9b, 0x26, 0x55, 0x43, 0xeb, 0xa4, 0xa2, 0xf4, - 0x1f, 0x41, 0x26, 0x01, 0x66, 0xc0, 0xcc, 0xb4, 0xe3, 0x38, 0x2e, 0x84, 0x42, 0x1b, 0x64, 0xf7, - 0x40, 0x2f, 0x66, 0x2d, 0x6d, 0x1d, 0xb5, 0xb6, 0x64, 0xa4, 0x75, 0x9a, 0x5c, 0xf9, 0x00, 0x0c, - 0x27, 0x4e, 0xc0, 0x27, 0x60, 0x86, 0x2f, 0xc0, 0x91, 0x03, 0xdc, 0x3a, 0xc3, 0x85, 0x23, 0xd3, - 0x7e, 0x03, 0x86, 0x13, 0x27, 0x66, 0x9f, 0x56, 0xb6, 0xe4, 0xba, 0x69, 0x87, 0x9b, 0xde, 0xdb, - 0xf7, 0xe7, 0xf7, 0x7e, 0xfb, 0xde, 0xee, 0x0a, 0xaa, 0x3e, 0xeb, 0x33, 0xb7, 0xc6, 0x2c, 0xcf, - 0xf2, 0x99, 0xed, 0xf0, 0xda, 0xd1, 0x76, 0x2d, 0xe0, 0x94, 0x33, 0x63, 0xe4, 0x7b, 0xdc, 0x23, - 0x04, 0xd7, 0x8d, 0xc9, 0xba, 0x71, 0xb4, 0xbd, 0x5e, 0xb5, 0xbc, 0x60, 0xe8, 0x05, 0xb5, 0x1e, - 0x0d, 0x58, 0xed, 0x68, 0xbb, 0xc7, 0x38, 0xdd, 0xae, 0x59, 0x9e, 0xe3, 0x86, 0x3e, 0xeb, 0x67, - 0xe5, 0xba, 0xe7, 0x0f, 0x45, 0x38, 0xcf, 0x1f, 0xca, 0x85, 0x8d, 0xbe, 0xe7, 0xf5, 0x07, 0xac, - 0x86, 0x52, 0x6f, 0xfc, 0xa0, 0xc6, 0x9d, 0x21, 0x0b, 0x38, 0x1d, 0x8e, 0x42, 0x03, 0xfd, 0x7b, - 0x05, 0xa0, 0x89, 0x79, 0x3a, 0x27, 0x23, 0x46, 0x74, 0x28, 0xd2, 0x5e, 0xcf, 0x67, 0x47, 0x0e, - 0xe5, 0x8e, 0xe7, 0x6a, 0xca, 0xa6, 0x72, 0x35, 0x6f, 0x26, 0x74, 0x84, 0x40, 0xc6, 0xa5, 0x43, - 0xa6, 0xa5, 0x70, 0x0d, 0xbf, 0x85, 0x6e, 0xec, 0x3a, 0x5c, 0x4b, 0x87, 0x3a, 0xf1, 0x4d, 0xce, - 0x43, 0x7e, 0xe4, 0x33, 0xcb, 0x09, 0x44, 0xa0, 0xcc, 0xa6, 0x72, 0xb5, 0x64, 0x4e, 0x15, 0xf5, - 0x4b, 0x7f, 0xff, 0xf8, 0xc7, 0x37, 0xe9, 0x2a, 0x94, 0x93, 0x19, 0x09, 0x84, 0xd1, 0x55, 0x45, - 0x53, 0x34, 0x45, 0xff, 0x5d, 0x81, 0x6c, 0x73, 0x40, 0x83, 0x80, 0xa8, 0x90, 0x7e, 0xc4, 0x4e, - 0x10, 0x50, 0xc6, 0x14, 0x9f, 0xa4, 0x0c, 0x29, 0xc7, 0x96, 0x28, 0x52, 0x8e, 0x4d, 0xce, 0x40, - 0x96, 0xda, 0x43, 0xc7, 0x45, 0x10, 0x45, 0x33, 0x14, 0xc8, 0x3a, 0xe4, 0x86, 0x8c, 0x53, 0x9b, - 0x72, 0x8a, 0x20, 0xf2, 0xe6, 0x44, 0x26, 0x5b, 0x40, 0x42, 0x8e, 0xbb, 0xfc, 0x64, 0xc4, 0xba, - 0x21, 0x0e, 0x2d, 0x8b, 0x56, 0xaa, 0x35, 0x61, 0xa5, 0x81, 0xfa, 0xfa, 0x0d, 0x44, 0xfc, 0x3e, - 0x2c, 0x21, 0x12, 0x55, 0x21, 0x39, 0x01, 0x40, 0x00, 0x25, 0x79, 0x99, 0x5a, 0x4d, 0x91, 0xb5, - 0x79, 0x31, 0xd5, 0xb4, 0x96, 0xd2, 0xbf, 0x84, 0x02, 0x96, 0xb2, 0x1f, 0x04, 0x63, 0xe6, 0x93, - 0xd7, 0x20, 0x6f, 0x09, 0xb1, 0x3b, 0x2d, 0x2b, 0x87, 0x8a, 0xdb, 0xec, 0x84, 0xac, 0xc1, 0xa2, - 0x83, 0x66, 0x58, 0x5f, 0xd1, 0x94, 0x52, 0xfd, 0x3c, 0x62, 0x58, 0x03, 0x02, 0xea, 0xc4, 0x79, - 0x4b, 0x5a, 0xa6, 0xf5, 0x9f, 0x53, 0xb0, 0x74, 0xe0, 0x7b, 0x0f, 0x99, 0xc5, 0xff, 0x37, 0x5f, - 0x1b, 0x71, 0x58, 0x82, 0xb0, 0xcc, 0x6e, 0x4a, 0x53, 0x62, 0xd0, 0x74, 0x28, 0x3e, 0x1c, 0xfb, - 0x4e, 0x60, 0x3b, 0x16, 0xb6, 0x48, 0x48, 0x57, 0x42, 0x97, 0x20, 0x7d, 0x71, 0x86, 0xf4, 0x8b, - 0x50, 0xf4, 0xd9, 0x03, 0xe6, 0x33, 0xd7, 0x62, 0x5d, 0xc7, 0xd6, 0x96, 0x70, 0xbd, 0x30, 0xd1, - 0xed, 0xdb, 0xf5, 0x43, 0xac, 0xb2, 0x37, 0x8f, 0x69, 0x02, 0xc5, 0x58, 0xe1, 0xb6, 0x9a, 0x8a, - 0xb3, 0x9f, 0x26, 0x6a, 0x32, 0xb8, 0x9a, 0x21, 0xeb, 0xb0, 0x36, 0x75, 0x48, 0xac, 0x65, 0xb5, - 0x8c, 0xfe, 0x6b, 0x1a, 0xb2, 0xbb, 0x94, 0x5b, 0x87, 0x73, 0xf8, 0x7a, 0xc1, 0x1e, 0x90, 0x0d, - 0x28, 0x8c, 0x42, 0x92, 0x91, 0xa3, 0x34, 0x7a, 0x80, 0x54, 0x09, 0x86, 0xce, 0x40, 0xd6, 0x66, - 0xae, 0x37, 0x94, 0xfd, 0x16, 0x0a, 0x09, 0x4e, 0xb2, 0x33, 0x9c, 0x7c, 0x00, 0x10, 0x70, 0xea, - 0xf3, 0xae, 0x4d, 0x39, 0x43, 0xc6, 0x0a, 0x3b, 0xeb, 0x46, 0x38, 0xbb, 0x46, 0x34, 0xbb, 0x46, - 0x27, 0x9a, 0x5d, 0x33, 0x8f, 0xd6, 0x7b, 0x94, 0x33, 0xf2, 0x1e, 0xe4, 0x98, 0x6b, 0x87, 0x8e, - 0x4b, 0x2f, 0x75, 0x5c, 0x62, 0xae, 0x8d, 0x6e, 0x37, 0xa1, 0x24, 0xca, 0xa1, 0x82, 0x0b, 0xf4, - 0xcd, 0xbd, 0xd4, 0xb7, 0x18, 0x39, 0x60, 0x00, 0x02, 0x19, 0x6f, 0xc4, 0x5c, 0x2d, 0xbf, 0xa9, - 0x5c, 0xcd, 0x99, 0xf8, 0x9d, 0x6c, 0x69, 0x48, 0xb6, 0x74, 0xfd, 0x3e, 0x6e, 0x6a, 0x67, 0xba, - 0xa9, 0x05, 0x49, 0x13, 0xee, 0x6b, 0x25, 0x41, 0xaa, 0x9a, 0x22, 0xe5, 0x38, 0x25, 0x6a, 0x9a, - 0x40, 0xb4, 0x1b, 0x6a, 0x86, 0x94, 0x62, 0x79, 0xd4, 0xac, 0x96, 0xd5, 0xbf, 0x56, 0xa0, 0x84, - 0xb3, 0xd5, 0x66, 0x5f, 0x8d, 0xc5, 0xfe, 0xbe, 0x60, 0xb4, 0x95, 0xf9, 0xa3, 0x4d, 0x5e, 0x87, - 0x92, 0xcb, 0x8e, 0x79, 0x37, 0x90, 0xee, 0xb8, 0xe3, 0x19, 0xb3, 0x28, 0x94, 0x51, 0xc8, 0x7a, - 0x15, 0x0b, 0xd0, 0xe0, 0xcc, 0xdc, 0xd0, 0x8b, 0xfa, 0x43, 0xa8, 0xc8, 0xe1, 0x9b, 0xa0, 0x38, - 0x75, 0xc6, 0x5f, 0x29, 0xe9, 0x2a, 0x26, 0xad, 0x40, 0x21, 0x1e, 0x69, 0x49, 0x77, 0xa1, 0x84, - 0x6d, 0x3b, 0xc9, 0x34, 0xd3, 0x94, 0xca, 0x73, 0x4d, 0xf9, 0x4a, 0xd9, 0xce, 0x62, 0xb6, 0x65, - 0x28, 0x25, 0xa3, 0xe5, 0xf4, 0x7f, 0x14, 0x28, 0x62, 0xc2, 0x5d, 0x3a, 0xa0, 0xb2, 0xb2, 0x9e, - 0x90, 0xe3, 0x95, 0xa1, 0x42, 0xe4, 0xd2, 0x60, 0x89, 0xda, 0xb6, 0xcf, 0x82, 0x40, 0x8e, 0x4e, - 0x24, 0x92, 0x2b, 0x50, 0xe1, 0x3e, 0xb5, 0x69, 0x6f, 0xc0, 0xba, 0x74, 0xe8, 0x8d, 0xdd, 0xe8, - 0xca, 0x28, 0x47, 0xea, 0x06, 0x6a, 0xc9, 0x1b, 0x50, 0xf6, 0x19, 0x77, 0x7c, 0x66, 0x47, 0x76, - 0xe1, 0x30, 0x95, 0xa4, 0x56, 0x9a, 0x5d, 0x81, 0x0a, 0x0b, 0x2c, 0xdf, 0x7b, 0x3c, 0xb5, 0x0b, - 0x67, 0xab, 0x1c, 0xa9, 0x43, 0xc3, 0xfa, 0xbb, 0x58, 0x99, 0x01, 0x2b, 0xb0, 0x2c, 0xb1, 0x6c, - 0x4d, 0xf0, 0x93, 0x55, 0x58, 0x9e, 0x08, 0x5b, 0x72, 0x59, 0x55, 0xb4, 0xbc, 0xfe, 0x8b, 0x02, - 0x85, 0x90, 0xe7, 0xf1, 0x68, 0x34, 0x38, 0x39, 0xbd, 0xea, 0x39, 0xb5, 0xa5, 0x5e, 0xb1, 0xb6, - 0xf4, 0xbc, 0xda, 0xae, 0x81, 0x6a, 0x09, 0xae, 0x07, 0x83, 0x59, 0x12, 0x2a, 0x13, 0xbd, 0xac, - 0x2e, 0xd6, 0x25, 0x53, 0x7c, 0xa0, 0x8f, 0xa1, 0x74, 0xd7, 0x77, 0xfa, 0x8e, 0xdb, 0x39, 0xde, - 0x77, 0x6d, 0x76, 0x7c, 0x7a, 0x3f, 0xce, 0xde, 0x0f, 0x6b, 0xb0, 0x18, 0x78, 0x63, 0xdf, 0x62, - 0x12, 0x9e, 0x94, 0xea, 0x1b, 0x98, 0xec, 0x1c, 0xac, 0xc2, 0x4a, 0xfc, 0x28, 0xde, 0x92, 0xc6, - 0x05, 0xfd, 0x3b, 0x45, 0x76, 0x67, 0xd3, 0x73, 0xb9, 0x4f, 0x2d, 0x7e, 0x3a, 0x6f, 0x09, 0x50, - 0xa9, 0x19, 0x50, 0xeb, 0x90, 0xb3, 0x64, 0x14, 0x09, 0x63, 0x22, 0xd7, 0x6b, 0x08, 0xe4, 0x5a, - 0xa2, 0x6a, 0xa2, 0x01, 0x99, 0xa2, 0x8a, 0x4c, 0xf1, 0x35, 0x51, 0xd4, 0x3f, 0x84, 0x55, 0x3c, - 0x25, 0x9a, 0x3e, 0xa3, 0xdc, 0xf3, 0x1b, 0x83, 0x81, 0xf7, 0x78, 0xe0, 0x04, 0x5c, 0x34, 0x2c, - 0x73, 0xc5, 0x0e, 0xd9, 0x88, 0x2e, 0x67, 0x46, 0x62, 0x3d, 0xf7, 0xaf, 0xc8, 0x91, 0xca, 0x95, - 0xf4, 0x3d, 0x58, 0x41, 0x07, 0x66, 0xc7, 0x63, 0xc4, 0x7b, 0x5d, 0x49, 0xf4, 0x7a, 0x7d, 0x05, - 0xe1, 0x95, 0x20, 0x3f, 0xb5, 0x28, 0xeb, 0x0d, 0xc8, 0xa1, 0xfb, 0x2d, 0xc6, 0xc8, 0x9b, 0x90, - 0x7e, 0xc0, 0x18, 0xba, 0x15, 0x76, 0xce, 0x19, 0xe1, 0x1b, 0xce, 0x10, 0x6f, 0x3c, 0x43, 0xbe, - 0xf1, 0x8c, 0xa6, 0xe7, 0xb8, 0xa6, 0xb0, 0x9a, 0x00, 0xa9, 0xe8, 0xb7, 0x81, 0x48, 0x20, 0xbb, - 0xbe, 0x63, 0xf7, 0x59, 0xf3, 0x90, 0x3a, 0x2e, 0xb9, 0x00, 0x60, 0x89, 0x8f, 0x2e, 0xbe, 0xcd, - 0xc2, 0x83, 0x2e, 0x8f, 0x9a, 0x3b, 0x74, 0xc8, 0xea, 0x6b, 0x08, 0x46, 0x85, 0x62, 0xc2, 0x4c, - 0xd5, 0x7f, 0x48, 0x41, 0x51, 0x9e, 0x5a, 0xe1, 0x3b, 0xeb, 0xa5, 0x07, 0x49, 0x62, 0xbb, 0xd2, - 0x33, 0xdb, 0x75, 0x03, 0x16, 0xc5, 0x5b, 0x76, 0x1c, 0x60, 0xa7, 0x96, 0x77, 0x2e, 0x1b, 0xcf, - 0xbf, 0x66, 0x8d, 0x78, 0xbe, 0x36, 0x5a, 0x9b, 0xd2, 0x4b, 0xf4, 0x7c, 0x94, 0x7d, 0xe6, 0xb2, - 0xac, 0x48, 0xfd, 0x67, 0xd1, 0x9d, 0xb9, 0x03, 0xab, 0xf2, 0x18, 0x0e, 0xe1, 0xcc, 0x3c, 0x38, - 0x56, 0xc2, 0x45, 0x4c, 0x12, 0xf9, 0xd4, 0xdf, 0x46, 0x16, 0xae, 0xc3, 0x59, 0x58, 0x8d, 0x15, - 0xb9, 0x35, 0xa9, 0x27, 0x79, 0xb3, 0x28, 0xda, 0xf2, 0xf5, 0x9f, 0x14, 0x20, 0xcf, 0xe3, 0x25, - 0x97, 0x60, 0xf3, 0xc0, 0xbc, 0xfb, 0x49, 0xab, 0xd9, 0xe9, 0x36, 0x3f, 0x6d, 0xb4, 0xdb, 0xdd, - 0x76, 0xa7, 0xd1, 0xb9, 0xd7, 0xee, 0xde, 0xbb, 0xd3, 0x3e, 0x68, 0x35, 0xf7, 0x6f, 0xed, 0xb7, - 0xf6, 0xd4, 0x05, 0x72, 0x11, 0x2e, 0xcc, 0xb5, 0x6a, 0x34, 0x9b, 0xad, 0x83, 0x4e, 0x6b, 0x4f, - 0x55, 0xc8, 0x75, 0xb8, 0x3c, 0xd7, 0xa4, 0xf9, 0x71, 0xe3, 0xce, 0x47, 0xad, 0x76, 0xd7, 0x6c, - 0x7d, 0x7e, 0xaf, 0xd5, 0x16, 0xb6, 0xa9, 0x17, 0x86, 0x33, 0x5b, 0x42, 0xd7, 0xda, 0x53, 0xd3, - 0xbb, 0x5f, 0xfc, 0xf6, 0xb4, 0xaa, 0x3c, 0x79, 0x5a, 0x55, 0xfe, 0x7a, 0x5a, 0x55, 0xbe, 0x7d, - 0x56, 0x5d, 0x78, 0xf2, 0xac, 0xba, 0xf0, 0xe7, 0xb3, 0xea, 0xc2, 0xfd, 0x9b, 0x7d, 0x87, 0x1f, - 0x8e, 0x7b, 0x86, 0xe5, 0x0d, 0x6b, 0xb8, 0x27, 0x6f, 0xb9, 0x8c, 0x3f, 0xf6, 0xfc, 0x47, 0x52, - 0x1a, 0x30, 0xbb, 0xcf, 0xfc, 0xda, 0x71, 0xec, 0xc7, 0x04, 0xff, 0x36, 0xc4, 0x1d, 0x17, 0x88, - 0x7f, 0x8e, 0x45, 0x7c, 0x12, 0xbc, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x05, 0x9a, - 0xa6, 0xc0, 0x0c, 0x00, 0x00, + // 1379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0xd4, + 0x16, 0x8f, 0x64, 0x3b, 0xb1, 0x8f, 0xff, 0x29, 0x37, 0x4d, 0xaa, 0xe6, 0xb5, 0x4e, 0xaa, 0xd7, + 0xff, 0x2f, 0x4f, 0x7e, 0xe9, 0x83, 0x19, 0x30, 0x33, 0xed, 0x38, 0x8e, 0x0b, 0xa1, 0xd0, 0x06, + 0xd9, 0x5d, 0xd0, 0x8d, 0xb9, 0x96, 0x6e, 0x13, 0xb5, 0xb6, 0x64, 0xa4, 0xeb, 0x34, 0xd9, 0xf2, + 0x01, 0x98, 0xae, 0x58, 0x31, 0x7c, 0x02, 0x66, 0xf8, 0x02, 0x2c, 0x59, 0xc0, 0xae, 0x33, 0x6c, + 0x58, 0x32, 0xed, 0x37, 0x60, 0x58, 0xb1, 0x62, 0xee, 0xd1, 0x95, 0x2d, 0xb9, 0x6e, 0xda, 0x61, + 0xa7, 0x73, 0xee, 0xf9, 0xf3, 0x3b, 0xbf, 0x73, 0x8e, 0x74, 0x05, 0xb5, 0x80, 0x1d, 0x30, 0xaf, + 0xce, 0x6c, 0xdf, 0x0e, 0x98, 0xe3, 0xf2, 0xfa, 0xd1, 0x76, 0x3d, 0xe4, 0x94, 0x33, 0x73, 0x14, + 0xf8, 0xdc, 0x27, 0x04, 0xcf, 0xcd, 0xc9, 0xb9, 0x79, 0xb4, 0xbd, 0x5e, 0xb3, 0xfd, 0x70, 0xe8, + 0x87, 0xf5, 0x3e, 0x0d, 0x59, 0xfd, 0x68, 0xbb, 0xcf, 0x38, 0xdd, 0xae, 0xdb, 0xbe, 0xeb, 0x45, + 0x3e, 0xeb, 0x67, 0xe5, 0xb9, 0x1f, 0x0c, 0x45, 0x38, 0x3f, 0x18, 0xca, 0x83, 0x8d, 0x03, 0xdf, + 0x3f, 0x18, 0xb0, 0x3a, 0x4a, 0xfd, 0xf1, 0xa3, 0x3a, 0x77, 0x87, 0x2c, 0xe4, 0x74, 0x38, 0x8a, + 0x0c, 0x8c, 0x6f, 0x15, 0x80, 0x16, 0xe6, 0xe9, 0x9e, 0x8c, 0x18, 0x31, 0xa0, 0x44, 0xfb, 0xfd, + 0x80, 0x1d, 0xb9, 0x94, 0xbb, 0xbe, 0xa7, 0x2b, 0x9b, 0xca, 0xb5, 0x82, 0x95, 0xd2, 0x11, 0x02, + 0x59, 0x8f, 0x0e, 0x99, 0xae, 0xe2, 0x19, 0x3e, 0x0b, 0xdd, 0xd8, 0x73, 0xb9, 0x9e, 0x89, 0x74, + 0xe2, 0x99, 0x9c, 0x87, 0xc2, 0x28, 0x60, 0xb6, 0x1b, 0x8a, 0x40, 0xd9, 0x4d, 0xe5, 0x5a, 0xd9, + 0x9a, 0x2a, 0x1a, 0x97, 0xfe, 0xf8, 0xee, 0xd7, 0xaf, 0x33, 0x35, 0xa8, 0xa4, 0x33, 0x12, 0x88, + 0xa2, 0x6b, 0x8a, 0xae, 0xe8, 0x8a, 0xf1, 0x8b, 0x02, 0xb9, 0xd6, 0x80, 0x86, 0x21, 0xd1, 0x20, + 0xf3, 0x84, 0x9d, 0x20, 0xa0, 0xac, 0x25, 0x1e, 0x49, 0x05, 0x54, 0xd7, 0x91, 0x28, 0x54, 0xd7, + 0x21, 0x67, 0x20, 0x47, 0x9d, 0xa1, 0xeb, 0x21, 0x88, 0x92, 0x15, 0x09, 0x64, 0x1d, 0xf2, 0x43, + 0xc6, 0xa9, 0x43, 0x39, 0x45, 0x10, 0x05, 0x6b, 0x22, 0x93, 0x2d, 0x20, 0x11, 0xc7, 0x3d, 0x7e, + 0x32, 0x62, 0xbd, 0x08, 0x87, 0x9e, 0x43, 0x2b, 0xcd, 0x9e, 0xb0, 0xd2, 0x44, 0x7d, 0xe3, 0x16, + 0x22, 0x7e, 0x0f, 0x96, 0x10, 0x89, 0xa6, 0x90, 0xbc, 0x00, 0x20, 0x80, 0x92, 0x82, 0x4c, 0xad, + 0xa9, 0x64, 0x6d, 0x5e, 0x4c, 0x2d, 0xa3, 0xab, 0xc6, 0x17, 0x50, 0xc4, 0x52, 0xf6, 0xc2, 0x70, + 0xcc, 0x02, 0xf2, 0x2f, 0x28, 0xd8, 0x42, 0xec, 0x4d, 0xcb, 0xca, 0xa3, 0xe2, 0x2e, 0x3b, 0x21, + 0x6b, 0xb0, 0xe8, 0xa2, 0x19, 0xd6, 0x57, 0xb2, 0xa4, 0xd4, 0x38, 0x8f, 0x18, 0xd6, 0x80, 0x80, + 0x36, 0x71, 0xde, 0x92, 0x96, 0x19, 0xe3, 0x07, 0x15, 0x96, 0xf6, 0x03, 0xff, 0x31, 0xb3, 0xf9, + 0x3f, 0xe6, 0x6b, 0x23, 0x09, 0x4b, 0x10, 0x96, 0xdd, 0x51, 0x75, 0x25, 0x01, 0xcd, 0x80, 0xd2, + 0xe3, 0x71, 0xe0, 0x86, 0x8e, 0x6b, 0xe3, 0x88, 0x44, 0x74, 0xa5, 0x74, 0x29, 0xd2, 0x17, 0x67, + 0x48, 0xbf, 0x08, 0xa5, 0x80, 0x3d, 0x62, 0x01, 0xf3, 0x6c, 0xd6, 0x73, 0x1d, 0x7d, 0x09, 0xcf, + 0x8b, 0x13, 0xdd, 0x9e, 0xd3, 0x38, 0xc4, 0x2a, 0xfb, 0xf3, 0x98, 0x26, 0x50, 0x4a, 0x14, 0xee, + 0x68, 0x6a, 0x92, 0xfd, 0x0c, 0xd1, 0xd2, 0xc1, 0xb5, 0x2c, 0x59, 0x87, 0xb5, 0xa9, 0x43, 0xea, + 0x2c, 0xa7, 0x67, 0x8d, 0x9f, 0x32, 0x90, 0xdb, 0xa1, 0xdc, 0x3e, 0x9c, 0xc3, 0xd7, 0x6b, 0x7a, + 0x40, 0x36, 0xa0, 0x38, 0x8a, 0x48, 0x46, 0x8e, 0x32, 0xe8, 0x01, 0x52, 0x25, 0x18, 0x3a, 0x03, + 0x39, 0x87, 0x79, 0xfe, 0x50, 0xce, 0x5b, 0x24, 0xa4, 0x38, 0xc9, 0xcd, 0x70, 0xf2, 0x3e, 0x40, + 0xc8, 0x69, 0xc0, 0x7b, 0x0e, 0xe5, 0x0c, 0x19, 0x2b, 0xde, 0x5c, 0x37, 0xa3, 0xdd, 0x35, 0xe3, + 0xdd, 0x35, 0xbb, 0xf1, 0xee, 0x5a, 0x05, 0xb4, 0xde, 0xa5, 0x9c, 0x91, 0x77, 0x21, 0xcf, 0x3c, + 0x27, 0x72, 0x5c, 0x7a, 0xa3, 0xe3, 0x12, 0xf3, 0x1c, 0x74, 0xbb, 0x0d, 0x65, 0x51, 0x0e, 0x15, + 0x5c, 0xa0, 0x6f, 0xfe, 0x8d, 0xbe, 0xa5, 0xd8, 0x01, 0x03, 0x10, 0xc8, 0xfa, 0x23, 0xe6, 0xe9, + 0x85, 0x4d, 0xe5, 0x5a, 0xde, 0xc2, 0xe7, 0xf4, 0x48, 0x43, 0x7a, 0xa4, 0x1b, 0x0f, 0xb1, 0xa9, + 0xdd, 0x69, 0x53, 0x8b, 0x92, 0x26, 0xec, 0x6b, 0x35, 0x45, 0xaa, 0xa6, 0x92, 0x4a, 0x92, 0x12, + 0x2d, 0x43, 0x20, 0xee, 0x86, 0x96, 0x25, 0xe5, 0x44, 0x1e, 0x2d, 0xa7, 0xe7, 0x8c, 0xaf, 0x14, + 0x28, 0xe3, 0x6e, 0x75, 0xd8, 0x97, 0x63, 0xd1, 0xdf, 0xd7, 0xac, 0xb6, 0x32, 0x7f, 0xb5, 0xc9, + 0xbf, 0xa1, 0xec, 0xb1, 0x63, 0xde, 0x0b, 0xa5, 0x3b, 0x76, 0x3c, 0x6b, 0x95, 0x84, 0x32, 0x0e, + 0xd9, 0xa8, 0x61, 0x01, 0x3a, 0x9c, 0x99, 0x1b, 0x7a, 0xd1, 0x78, 0x0c, 0x55, 0xb9, 0x7c, 0x13, + 0x14, 0xa7, 0xee, 0xf8, 0x5b, 0x25, 0x5d, 0xc5, 0xa4, 0x55, 0x28, 0x26, 0x23, 0x2d, 0x19, 0x1e, + 0x94, 0x71, 0x6c, 0x27, 0x99, 0x66, 0x86, 0x52, 0x79, 0x65, 0x28, 0xdf, 0x2a, 0xdb, 0x59, 0xcc, + 0xb6, 0x0c, 0xe5, 0x74, 0xb4, 0xbc, 0xf1, 0xa7, 0x02, 0x25, 0x4c, 0xb8, 0x43, 0x07, 0x54, 0x56, + 0xd6, 0x17, 0x72, 0xb2, 0x32, 0x54, 0x88, 0x5c, 0x3a, 0x2c, 0x51, 0xc7, 0x09, 0x58, 0x18, 0xca, + 0xd5, 0x89, 0x45, 0x72, 0x15, 0xaa, 0x3c, 0xa0, 0x0e, 0xed, 0x0f, 0x58, 0x8f, 0x0e, 0xfd, 0xb1, + 0x17, 0x7f, 0x32, 0x2a, 0xb1, 0xba, 0x89, 0x5a, 0x72, 0x19, 0x2a, 0x01, 0xe3, 0x6e, 0xc0, 0x9c, + 0xd8, 0x2e, 0x5a, 0xa6, 0xb2, 0xd4, 0x4a, 0xb3, 0xab, 0x50, 0x65, 0xa1, 0x1d, 0xf8, 0x4f, 0xa7, + 0x76, 0xd1, 0x6e, 0x55, 0x62, 0x75, 0x64, 0xd8, 0x78, 0x07, 0x2b, 0x33, 0x61, 0x05, 0x96, 0x25, + 0x96, 0xad, 0x09, 0x7e, 0xb2, 0x0a, 0xcb, 0x13, 0x61, 0x4b, 0x1e, 0x6b, 0x8a, 0x5e, 0x30, 0x7e, + 0x54, 0xa0, 0x18, 0xf1, 0x3c, 0x1e, 0x8d, 0x06, 0x27, 0xa7, 0x57, 0x3d, 0xa7, 0x36, 0xf5, 0x2d, + 0x6b, 0xcb, 0xcc, 0xab, 0xed, 0x3a, 0x68, 0xb6, 0xe0, 0x7a, 0x30, 0x98, 0x25, 0xa1, 0x3a, 0xd1, + 0xcb, 0xea, 0x12, 0x53, 0x32, 0xc5, 0x07, 0xc6, 0x18, 0xca, 0xf7, 0x03, 0xf7, 0xc0, 0xf5, 0xba, + 0xc7, 0x7b, 0x9e, 0xc3, 0x8e, 0x4f, 0x9f, 0xc7, 0xd9, 0xef, 0xc3, 0x1a, 0x2c, 0x86, 0xfe, 0x38, + 0xb0, 0x99, 0x84, 0x27, 0xa5, 0xc6, 0x06, 0x26, 0x3b, 0x07, 0xab, 0xb0, 0x92, 0x7c, 0x15, 0x6f, + 0x49, 0xe3, 0xa2, 0xf1, 0x8d, 0x22, 0xa7, 0xb3, 0xe5, 0x7b, 0x3c, 0xa0, 0x36, 0x3f, 0x9d, 0xb7, + 0x14, 0x28, 0x75, 0x06, 0xd4, 0x3a, 0xe4, 0x6d, 0x19, 0x45, 0xc2, 0x98, 0xc8, 0x8d, 0x3a, 0x02, + 0xb9, 0x9e, 0xaa, 0x9a, 0xe8, 0x40, 0xa6, 0xa8, 0x62, 0x53, 0xbc, 0x4d, 0x94, 0x8c, 0x0f, 0x60, + 0x15, 0xdf, 0x12, 0xad, 0x80, 0x51, 0xee, 0x07, 0xcd, 0xc1, 0xc0, 0x7f, 0x3a, 0x70, 0x43, 0x2e, + 0x06, 0x96, 0x79, 0xa2, 0x43, 0x0e, 0xa2, 0xcb, 0x5b, 0xb1, 0xd8, 0xc8, 0xff, 0x25, 0x72, 0xa8, + 0xf9, 0xb2, 0xb1, 0x0b, 0x2b, 0xe8, 0xc0, 0x9c, 0x64, 0x8c, 0xe4, 0xac, 0x2b, 0xa9, 0x59, 0x6f, + 0xac, 0x20, 0xbc, 0x32, 0x14, 0xa6, 0x16, 0x15, 0xa3, 0x09, 0x79, 0x74, 0xbf, 0xc3, 0x18, 0xf9, + 0x0f, 0x64, 0x1e, 0x31, 0x86, 0x6e, 0xc5, 0x9b, 0xe7, 0xcc, 0xe8, 0x0e, 0x67, 0x8a, 0x3b, 0x9e, + 0x29, 0xef, 0x78, 0x66, 0xcb, 0x77, 0x3d, 0x4b, 0x58, 0x4d, 0x80, 0x54, 0x8d, 0xbb, 0x40, 0x24, + 0x90, 0x9d, 0xc0, 0x75, 0x0e, 0x58, 0xeb, 0x90, 0xba, 0x1e, 0xb9, 0x00, 0x60, 0x8b, 0x87, 0x1e, + 0xde, 0xcd, 0xa2, 0x17, 0x5d, 0x01, 0x35, 0xf7, 0xe8, 0x90, 0x35, 0xd6, 0x10, 0x8c, 0x06, 0xa5, + 0x94, 0x99, 0x66, 0x3c, 0x53, 0xa1, 0x24, 0xdf, 0x5a, 0xd1, 0x3d, 0xeb, 0x8d, 0x2f, 0x92, 0x54, + 0xbb, 0x32, 0x33, 0xed, 0xba, 0x05, 0x8b, 0xe2, 0x2e, 0x3b, 0x0e, 0x71, 0x52, 0x2b, 0x37, 0xaf, + 0x98, 0xaf, 0xde, 0x66, 0xcd, 0x64, 0xbe, 0x0e, 0x5a, 0x5b, 0xd2, 0x4b, 0xcc, 0x7c, 0x9c, 0x7d, + 0xe6, 0x63, 0x59, 0x95, 0xfa, 0x4f, 0xe3, 0x6f, 0xe6, 0x65, 0xa8, 0x44, 0x38, 0x66, 0x6e, 0x1a, + 0x65, 0xd4, 0xc6, 0x66, 0x8d, 0xff, 0x61, 0xe1, 0x37, 0xe0, 0x2c, 0xac, 0x26, 0xea, 0xda, 0x9a, + 0x94, 0x90, 0xfe, 0x98, 0x28, 0xfa, 0xf2, 0x8d, 0xef, 0x15, 0x20, 0xaf, 0x42, 0x24, 0x97, 0x60, + 0x73, 0xdf, 0xba, 0xff, 0x71, 0xbb, 0xd5, 0xed, 0xb5, 0x3e, 0x69, 0x76, 0x3a, 0xbd, 0x4e, 0xb7, + 0xd9, 0x7d, 0xd0, 0xe9, 0x3d, 0xb8, 0xd7, 0xd9, 0x6f, 0xb7, 0xf6, 0xee, 0xec, 0xb5, 0x77, 0xb5, + 0x05, 0x72, 0x11, 0x2e, 0xcc, 0xb5, 0x6a, 0xb6, 0x5a, 0xed, 0xfd, 0x6e, 0x7b, 0x57, 0x53, 0xc8, + 0x0d, 0xb8, 0x32, 0xd7, 0xa4, 0xf5, 0x51, 0xf3, 0xde, 0x87, 0xed, 0x4e, 0xcf, 0x6a, 0x7f, 0xf6, + 0xa0, 0xdd, 0x11, 0xb6, 0xea, 0x6b, 0xc3, 0x59, 0x6d, 0xa1, 0x6b, 0xef, 0x6a, 0x99, 0x9d, 0xcf, + 0x7f, 0x7e, 0x51, 0x53, 0x9e, 0xbf, 0xa8, 0x29, 0xbf, 0xbf, 0xa8, 0x29, 0xcf, 0x5e, 0xd6, 0x16, + 0x9e, 0xbf, 0xac, 0x2d, 0xfc, 0xf6, 0xb2, 0xb6, 0xf0, 0xf0, 0xf6, 0x81, 0xcb, 0x0f, 0xc7, 0x7d, + 0xd3, 0xf6, 0x87, 0x75, 0x6c, 0xc3, 0x7f, 0x3d, 0xc6, 0x9f, 0xfa, 0xc1, 0x13, 0x29, 0x0d, 0x98, + 0x73, 0xc0, 0x82, 0xfa, 0x71, 0xe2, 0x5f, 0x04, 0x7f, 0x30, 0xc4, 0x67, 0x2d, 0x14, 0xbf, 0x19, + 0x8b, 0x78, 0x0b, 0xf8, 0xff, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x3e, 0x28, 0x21, 0xb3, + 0x0c, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -2170,10 +2170,10 @@ func (m *ProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.CreditClassMetadata) > 0 { - i -= len(m.CreditClassMetadata) - copy(dAtA[i:], m.CreditClassMetadata) - i = encodeVarintState(dAtA, i, uint64(len(m.CreditClassMetadata))) + if len(m.ClassMetadata) > 0 { + i -= len(m.ClassMetadata) + copy(dAtA[i:], m.ClassMetadata) + i = encodeVarintState(dAtA, i, uint64(len(m.ClassMetadata))) i-- dAtA[i] = 0x32 } @@ -2568,7 +2568,7 @@ func (m *ProjectClass) Size() (n int) { if l > 0 { n += 1 + l + sovState(uint64(l)) } - l = len(m.CreditClassMetadata) + l = len(m.ClassMetadata) if l > 0 { n += 1 + l + sovState(uint64(l)) } @@ -4967,7 +4967,7 @@ func (m *ProjectClass) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreditClassMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClassMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4995,7 +4995,7 @@ func (m *ProjectClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.CreditClassMetadata = string(dAtA[iNdEx:postIndex]) + m.ClassMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index 4202fb1ddd..cdd3ad2381 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -547,7 +547,7 @@ type MsgUpdateProjectClass struct { // class_id is the identifier of the credit class which the project is // applying to. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optional arbitrary string with a maximum length of 256 characters // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -658,6 +658,10 @@ type MsgWithdrawProjectClass struct { ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` // application_id is the identifier of the application to withdraw. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` + // metadata is any optional arbitrary string with a maximum length of 256 characters + // that includes or references any metadata relevant to the withdrawal. This + // will only be included in events. + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (m *MsgWithdrawProjectClass) Reset() { *m = MsgWithdrawProjectClass{} } @@ -707,6 +711,13 @@ func (m *MsgWithdrawProjectClass) GetApplicationId() uint64 { return 0 } +func (m *MsgWithdrawProjectClass) GetMetadata() string { + if m != nil { + return m.Metadata + } + return "" +} + // MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. type MsgWithdrawProjectClassResponse struct { } @@ -753,7 +764,7 @@ type MsgEvaluateProjectClass struct { ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` - // metadata is any arbitrary string with a maximum length of 256 characters + // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -3442,143 +3453,143 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2171 bytes of a gzipped FileDescriptorProto + // 2172 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, 0x15, 0x4f, 0xcf, 0x8c, 0x3f, 0xe6, 0x8d, 0xed, 0x24, 0x9d, 0xac, 0x33, 0x69, 0xc7, 0x63, 0x67, 0x92, 0x6c, 0x9c, 0x8f, 0x9d, 0xc1, 0x0e, 0x28, 0x24, 0x08, 0x05, 0xdb, 0xbb, 0x11, 0x46, 0x9a, 0x05, 0x75, 0xb2, 0x5a, 0xb1, 0x02, 0x8d, 0x7a, 0xba, 0x2b, 0xed, 0x0e, 0x33, 0xdd, 0xa3, 0xee, - 0x1a, 0xdb, 0x11, 0x08, 0x69, 0x11, 0x12, 0xd7, 0x3d, 0x23, 0x0e, 0x48, 0x48, 0x9c, 0x11, 0xff, - 0x02, 0x17, 0xb8, 0x2d, 0x07, 0x04, 0xb7, 0x45, 0x09, 0x12, 0xff, 0x01, 0x27, 0x0e, 0xa8, 0xab, - 0xaa, 0xab, 0xab, 0x66, 0xba, 0xba, 0x7b, 0x76, 0xc9, 0xc5, 0xea, 0xaa, 0x7a, 0xf5, 0xde, 0xef, - 0xbd, 0x7a, 0xf5, 0x3e, 0xca, 0x03, 0x1b, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, 0xc8, - 0xf1, 0x70, 0xf7, 0x64, 0xb7, 0x8b, 0xcf, 0x3a, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xc5, 0x0e, - 0x5f, 0xec, 0x9c, 0xec, 0x1a, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, 0x9e, - 0xec, 0x0e, 0x10, 0xb6, 0x76, 0xbb, 0x76, 0xe0, 0xf9, 0x74, 0x8f, 0x71, 0x85, 0xad, 0x8f, 0x22, - 0x37, 0xe6, 0x35, 0x8a, 0x5c, 0xb6, 0x70, 0xd9, 0x0d, 0xdc, 0x80, 0x7c, 0x76, 0xe3, 0x2f, 0x36, - 0xbb, 0xe5, 0x06, 0x81, 0x3b, 0x44, 0x5d, 0x32, 0x1a, 0x4c, 0x5e, 0x74, 0xb1, 0x37, 0x42, 0x11, - 0xb6, 0x46, 0x63, 0x46, 0xd0, 0xca, 0x00, 0x18, 0x61, 0x0b, 0xa3, 0x9c, 0x75, 0xfc, 0x6a, 0x8c, - 0x22, 0xba, 0xde, 0xfe, 0x54, 0x83, 0x0b, 0xbd, 0xc8, 0xdd, 0x77, 0x9c, 0x43, 0xb2, 0xfe, 0xfc, - 0xd5, 0x18, 0xe9, 0xd7, 0xa0, 0x6e, 0x4d, 0xf0, 0x71, 0x10, 0x7a, 0xf8, 0x55, 0x53, 0xdb, 0xd6, - 0x76, 0xea, 0x66, 0x3a, 0xa1, 0x3f, 0x81, 0x06, 0xe5, 0xd5, 0x8f, 0x19, 0x35, 0x2b, 0xdb, 0xda, - 0x4e, 0x63, 0xaf, 0xd5, 0x99, 0x35, 0x46, 0x27, 0x65, 0x69, 0x82, 0xcd, 0xbf, 0x1f, 0xaf, 0xfd, - 0xe2, 0xdf, 0x7f, 0xb8, 0x9b, 0x32, 0x6c, 0x1b, 0xd0, 0x9c, 0x86, 0x60, 0xa2, 0x68, 0x1c, 0xf8, - 0x11, 0x6a, 0xff, 0x49, 0x83, 0xb5, 0x5e, 0xe4, 0x1e, 0x86, 0xc8, 0xc2, 0xe8, 0x70, 0x68, 0x45, - 0x91, 0x7e, 0x19, 0x16, 0x2c, 0x67, 0xe4, 0xf9, 0x0c, 0x19, 0x1d, 0xe8, 0x4d, 0x58, 0xf2, 0xa2, - 0x68, 0x82, 0xc2, 0xa8, 0x59, 0xd9, 0xae, 0xee, 0xd4, 0xcd, 0x64, 0xa8, 0x1b, 0xb0, 0x3c, 0x42, - 0xd8, 0x72, 0x2c, 0x6c, 0x35, 0xab, 0x64, 0x0b, 0x1f, 0xeb, 0xf7, 0x41, 0x17, 0x74, 0xe9, 0x5b, - 0x83, 0x41, 0x88, 0x4e, 0x9a, 0x35, 0x42, 0x75, 0x21, 0x85, 0xbc, 0x4f, 0xe6, 0xf5, 0x7b, 0x50, - 0x7d, 0x81, 0x50, 0x73, 0x81, 0x68, 0x7c, 0xb5, 0x43, 0x8f, 0xb2, 0x13, 0x1f, 0x75, 0x87, 0x1d, - 0x75, 0xe7, 0x30, 0xf0, 0x7c, 0x33, 0xa6, 0x7a, 0x0c, 0xb1, 0x96, 0x14, 0x5c, 0xfb, 0x01, 0xac, - 0xcb, 0x4a, 0x24, 0xfa, 0xe9, 0x57, 0x61, 0xd9, 0x8e, 0x27, 0xfa, 0x9e, 0xc3, 0xf4, 0x59, 0x22, - 0xe3, 0x23, 0xa7, 0xfd, 0x47, 0x7a, 0x34, 0x74, 0xd7, 0x0f, 0xc2, 0xe0, 0x25, 0xb2, 0xb1, 0x42, - 0x79, 0x91, 0x4b, 0x45, 0xe2, 0x92, 0xab, 0x7d, 0x1b, 0x56, 0x5e, 0x4e, 0x42, 0x2f, 0x72, 0x3c, - 0x1b, 0x7b, 0x81, 0xcf, 0xf4, 0x96, 0xe6, 0xf4, 0xeb, 0xb0, 0x12, 0xa2, 0x17, 0x28, 0x44, 0xbe, - 0x8d, 0x62, 0xf6, 0x0b, 0x84, 0xa6, 0xc1, 0xe7, 0x8e, 0x1c, 0x49, 0xd3, 0x47, 0xe4, 0x2c, 0x25, - 0xcc, 0x5c, 0xd7, 0x4d, 0x80, 0x31, 0x9d, 0x4a, 0xb5, 0xad, 0xb3, 0x99, 0x23, 0xa7, 0xfd, 0x3b, - 0x0d, 0xae, 0xf1, 0xbd, 0x1f, 0xf9, 0x21, 0x72, 0xbd, 0x08, 0xa3, 0x10, 0x39, 0xf9, 0xba, 0x8b, - 0x0a, 0x56, 0x0a, 0x14, 0xac, 0x96, 0x50, 0xb0, 0x96, 0xaf, 0xe0, 0x07, 0x70, 0x33, 0x0f, 0x64, - 0x59, 0x65, 0x7f, 0xaf, 0xc1, 0x3b, 0xbd, 0xc8, 0xfd, 0x68, 0xec, 0xa4, 0x86, 0xa2, 0xee, 0x7d, - 0x03, 0x56, 0x93, 0x8d, 0xa2, 0xb6, 0x2b, 0x6c, 0x72, 0x9f, 0x28, 0x2d, 0x73, 0xaf, 0x4c, 0x71, - 0x97, 0xfc, 0xa1, 0xaa, 0xf6, 0x87, 0x9a, 0x6c, 0xae, 0xc7, 0x7a, 0xac, 0xa7, 0x2c, 0xbd, 0xbd, - 0x05, 0x9b, 0x99, 0x38, 0xf9, 0x0d, 0x7d, 0x05, 0x57, 0x7a, 0x91, 0xfb, 0xb1, 0x87, 0x8f, 0x9d, - 0xd0, 0x3a, 0x9d, 0x5f, 0x95, 0x5b, 0xb0, 0x66, 0x8d, 0xc7, 0x43, 0xcf, 0xb6, 0xe2, 0xe3, 0x48, - 0xd4, 0xa9, 0x99, 0xab, 0xc2, 0xec, 0x91, 0x93, 0x89, 0xed, 0x3a, 0x6c, 0x29, 0x44, 0x73, 0x74, - 0x7f, 0xd1, 0x08, 0xbc, 0x0f, 0x4e, 0xac, 0xe1, 0x64, 0xda, 0xd2, 0xeb, 0xb0, 0x48, 0x63, 0x04, - 0xc3, 0xc5, 0x46, 0x25, 0x11, 0xe9, 0x4f, 0x01, 0x10, 0x65, 0x9b, 0xb8, 0xd6, 0xda, 0xde, 0xbb, - 0x59, 0x61, 0x50, 0x14, 0xfa, 0x0c, 0x5b, 0x78, 0x12, 0x99, 0xc2, 0xce, 0xdc, 0x13, 0x69, 0xc4, - 0x5a, 0x33, 0x5c, 0x4c, 0xdd, 0x2c, 0x55, 0xb8, 0xba, 0xff, 0xad, 0x08, 0xe1, 0xf2, 0xc0, 0xc2, - 0xf6, 0xb1, 0x52, 0xcb, 0x02, 0x17, 0xfa, 0x36, 0x2c, 0xc7, 0x84, 0x96, 0x6f, 0xa3, 0x66, 0x75, - 0xbb, 0xba, 0xd3, 0xd8, 0xbb, 0x9e, 0xa5, 0x1b, 0x91, 0x71, 0xc4, 0x08, 0x4d, 0xbe, 0x25, 0x4f, - 0x29, 0xfd, 0x09, 0x40, 0x84, 0xad, 0x10, 0xf7, 0x63, 0x9f, 0x62, 0xd1, 0xd4, 0xe8, 0xd0, 0x4c, - 0xd7, 0x49, 0x32, 0x5d, 0xe7, 0x79, 0x92, 0xe9, 0x0e, 0x6a, 0x9f, 0x7d, 0xb1, 0xa5, 0x99, 0x75, - 0xb2, 0xe7, 0x7d, 0x0b, 0x23, 0xfd, 0x5b, 0xb0, 0x8c, 0x7c, 0x87, 0x6e, 0x5f, 0x2c, 0xb9, 0x7d, - 0x09, 0xf9, 0x0e, 0xd9, 0xac, 0x43, 0x2d, 0x18, 0x23, 0xbf, 0xb9, 0xb4, 0xad, 0xed, 0x2c, 0x9b, - 0xe4, 0x5b, 0x7f, 0x04, 0xf5, 0x20, 0xf4, 0x5c, 0xcf, 0xef, 0xe3, 0xb3, 0xe6, 0x32, 0xe1, 0x78, - 0x2d, 0x4b, 0xdb, 0xef, 0x13, 0xa2, 0xe7, 0x67, 0xe6, 0x72, 0xc0, 0xbe, 0xe4, 0x13, 0x7a, 0x24, - 0xc4, 0x79, 0x62, 0x19, 0x1e, 0x0e, 0xb6, 0xa0, 0x31, 0x88, 0x27, 0xfa, 0x0e, 0xf2, 0x83, 0x11, - 0x3b, 0x0a, 0x20, 0x53, 0xef, 0xc7, 0x33, 0xed, 0xbf, 0x69, 0x70, 0xa9, 0x17, 0xb9, 0x3d, 0xcf, - 0xc7, 0x64, 0x27, 0xcd, 0x85, 0x6a, 0x27, 0x9d, 0x62, 0x58, 0x99, 0x66, 0xf8, 0x55, 0x0f, 0x50, - 0x32, 0x49, 0xed, 0xcb, 0x9b, 0x64, 0x13, 0x36, 0x32, 0xd4, 0xe2, 0x0e, 0xfb, 0x1c, 0x56, 0x7a, - 0x91, 0xfb, 0x0c, 0x59, 0xc3, 0x7c, 0x6f, 0x2d, 0x52, 0x57, 0x16, 0xba, 0x0e, 0x97, 0x45, 0xae, - 0x5c, 0xda, 0x7f, 0x2a, 0xb0, 0x44, 0x16, 0x7c, 0x27, 0x96, 0x14, 0x21, 0xdf, 0x49, 0x25, 0xd1, - 0x51, 0x5c, 0xfc, 0x84, 0xc8, 0xf6, 0xc6, 0x1e, 0xf2, 0x71, 0x72, 0x2d, 0xf8, 0x84, 0xbe, 0x0f, - 0x4b, 0x54, 0xf7, 0x88, 0x19, 0xf5, 0x76, 0x96, 0x51, 0x98, 0x8c, 0x4e, 0xfc, 0x27, 0xd1, 0x38, - 0xd9, 0x67, 0xfc, 0x4b, 0x83, 0x86, 0xb0, 0x50, 0xe8, 0x1a, 0xfa, 0x6d, 0x38, 0x8f, 0x43, 0xcb, - 0xb1, 0x06, 0x43, 0xd4, 0xb7, 0x46, 0xc1, 0x84, 0xe3, 0x5a, 0x4b, 0xa6, 0xf7, 0xc9, 0x6c, 0x1c, - 0xb8, 0x42, 0x84, 0xbd, 0x10, 0x39, 0x09, 0x1d, 0x0d, 0xfe, 0xab, 0x6c, 0x96, 0x91, 0x3d, 0x84, - 0x2b, 0x74, 0x62, 0x84, 0x7c, 0xdc, 0xcf, 0xa8, 0x00, 0xd6, 0xd3, 0xe5, 0xef, 0x89, 0xa9, 0xf2, - 0x1e, 0x5c, 0x14, 0x36, 0x86, 0xc8, 0x8a, 0x02, 0x9f, 0x15, 0x04, 0x17, 0xd2, 0x05, 0x93, 0xcc, - 0xb3, 0x03, 0xa1, 0x46, 0x6d, 0x5f, 0x84, 0xf3, 0xcc, 0x26, 0xfc, 0x2c, 0x7e, 0xab, 0x41, 0xbd, - 0x17, 0xb9, 0x26, 0xd9, 0x17, 0xe7, 0xf6, 0xe0, 0xd4, 0xe7, 0x87, 0x41, 0x07, 0xfa, 0x37, 0x52, - 0x6b, 0x57, 0x88, 0xb5, 0x37, 0xd4, 0x65, 0x66, 0x6a, 0xe1, 0x52, 0x69, 0x7f, 0x1d, 0x16, 0x99, - 0x02, 0x54, 0x67, 0x36, 0x62, 0xb9, 0x9e, 0x88, 0x6f, 0x5f, 0x82, 0x8b, 0x1c, 0x21, 0xc7, 0xfd, - 0x33, 0x02, 0xfb, 0x30, 0xbe, 0x24, 0xc3, 0xff, 0x2f, 0xec, 0x14, 0x52, 0xb5, 0x00, 0x12, 0x95, - 0xce, 0x21, 0x05, 0x24, 0x74, 0xd0, 0x1c, 0x4d, 0xf2, 0x01, 0xcd, 0xac, 0x73, 0xd7, 0x8a, 0x1b, - 0x50, 0xf7, 0xd1, 0x29, 0xcb, 0xd5, 0xac, 0x58, 0xf4, 0xd1, 0x29, 0xe1, 0x26, 0x15, 0x41, 0xf4, - 0x52, 0x4f, 0x0b, 0xe4, 0x78, 0x7e, 0x23, 0x16, 0x37, 0x64, 0xfd, 0x88, 0xd5, 0xe2, 0x73, 0x43, - 0xda, 0x82, 0x86, 0xe5, 0x38, 0xfd, 0xa4, 0xb4, 0xaf, 0x92, 0xd2, 0x1e, 0x2c, 0xc7, 0x49, 0x38, - 0x12, 0x9f, 0x1f, 0x05, 0x27, 0x88, 0xd3, 0xd4, 0x08, 0xcd, 0x2a, 0x9d, 0x65, 0x64, 0x12, 0x7a, - 0xb1, 0xa4, 0x11, 0xd1, 0x71, 0xfc, 0x67, 0x24, 0x8c, 0x0b, 0x04, 0xbd, 0x24, 0x75, 0xcd, 0x8d, - 0xff, 0x3a, 0xac, 0xc4, 0x26, 0x9d, 0x2a, 0xc1, 0x1b, 0x3e, 0x3a, 0x4d, 0x78, 0x4a, 0xd0, 0xb6, - 0xa1, 0x95, 0x2d, 0x99, 0x63, 0x9b, 0xcc, 0xd6, 0x8d, 0x79, 0xa7, 0x5d, 0x90, 0xe5, 0x4b, 0x9f, - 0x78, 0x46, 0x19, 0x28, 0x9f, 0xf9, 0xcf, 0x49, 0xe1, 0x2f, 0x11, 0x14, 0x58, 0xad, 0x00, 0xda, - 0x9c, 0x96, 0x6b, 0xc3, 0xb6, 0x4a, 0x3e, 0xc7, 0xf8, 0x6b, 0x1a, 0x72, 0x0e, 0x42, 0xcf, 0x71, - 0x55, 0x21, 0x67, 0x1d, 0x16, 0xb1, 0x15, 0xba, 0x28, 0x89, 0xb1, 0x6c, 0x24, 0xa7, 0x85, 0xea, - 0x74, 0x5a, 0x10, 0x6e, 0x7c, 0xad, 0xfc, 0x8d, 0x97, 0x6e, 0xf6, 0xa7, 0x9a, 0xe0, 0x75, 0x24, - 0x6d, 0x71, 0xfb, 0x7d, 0xe9, 0x1a, 0xa0, 0x84, 0x0d, 0xa5, 0xbc, 0x29, 0xba, 0x9f, 0x04, 0x81, - 0x9b, 0x90, 0xc6, 0x1f, 0x6a, 0x41, 0x3e, 0xf9, 0x45, 0x8d, 0x74, 0xaa, 0xc9, 0xac, 0x8d, 0xbc, - 0x13, 0xa4, 0x04, 0x9d, 0x73, 0x59, 0x9e, 0xc2, 0x12, 0x3b, 0x7f, 0x82, 0xb4, 0xb1, 0x77, 0x5f, - 0x91, 0x5c, 0x25, 0x49, 0x49, 0x7d, 0x6d, 0x26, 0x9b, 0xf5, 0xef, 0xc0, 0x02, 0x31, 0x02, 0xab, - 0x5b, 0xee, 0x96, 0xe2, 0x42, 0x2b, 0x05, 0xba, 0x51, 0xae, 0x7e, 0x16, 0xe6, 0xa9, 0x7e, 0x8c, - 0xbf, 0x6b, 0xb0, 0x40, 0x6b, 0x19, 0xc9, 0x65, 0xb4, 0x69, 0x97, 0x59, 0x87, 0x45, 0x29, 0x99, - 0xb3, 0xd1, 0x54, 0x75, 0x5c, 0xfd, 0x6a, 0xd5, 0x71, 0x6d, 0xde, 0xea, 0x58, 0xac, 0xdb, 0x17, - 0xe4, 0xba, 0xdd, 0x18, 0xc2, 0x52, 0xd2, 0x8a, 0x4f, 0x37, 0xcd, 0xda, 0x4c, 0xd3, 0x3c, 0x93, - 0x84, 0x2b, 0x19, 0x49, 0x38, 0xe7, 0x71, 0x42, 0x76, 0xcc, 0x4f, 0x48, 0x74, 0x91, 0x0e, 0xac, - 0x74, 0x69, 0x5d, 0x10, 0x68, 0xda, 0x3f, 0x02, 0x9d, 0x3d, 0x3f, 0xc5, 0x6e, 0x48, 0x8a, 0xf7, - 0x20, 0x2c, 0x78, 0x03, 0x6b, 0x92, 0xfb, 0x1e, 0x13, 0x72, 0x1f, 0xa6, 0xc3, 0x99, 0xc7, 0xad, - 0x6b, 0x60, 0xcc, 0x72, 0xe7, 0x37, 0x07, 0x91, 0x44, 0xfa, 0x0c, 0x61, 0x71, 0x75, 0x7f, 0x38, - 0x0c, 0x4e, 0x87, 0x5e, 0x84, 0x8b, 0x41, 0x20, 0x3f, 0x2e, 0xff, 0xa8, 0x52, 0xcb, 0x66, 0x32, - 0x9c, 0x01, 0x71, 0x0b, 0x6e, 0xe4, 0x88, 0xe1, 0x68, 0xfa, 0x24, 0xb7, 0x98, 0x24, 0x71, 0xbe, - 0x15, 0x63, 0xd0, 0x2c, 0x32, 0x2b, 0x80, 0x23, 0xf0, 0x49, 0x78, 0x11, 0xf2, 0xdf, 0x53, 0x54, - 0xf4, 0x1c, 0xc9, 0x1e, 0xe5, 0x2a, 0xa5, 0x1e, 0xe5, 0xa6, 0x01, 0x6d, 0xc0, 0xd5, 0x19, 0x79, - 0x1c, 0x8c, 0x9b, 0xbc, 0x4b, 0x12, 0x4b, 0x21, 0x87, 0xba, 0xdf, 0xe1, 0xb1, 0xe5, 0xf9, 0x05, - 0x98, 0x36, 0x01, 0xec, 0x98, 0xac, 0xef, 0x5b, 0x23, 0x94, 0x78, 0x1c, 0x99, 0xf9, 0xd0, 0x1a, - 0xcd, 0xa2, 0xa0, 0xb9, 0x2b, 0x53, 0x10, 0x07, 0xf3, 0x92, 0x78, 0x0a, 0x35, 0xdd, 0xdb, 0xc6, - 0x43, 0xdd, 0x45, 0x25, 0x8b, 0x43, 0xb2, 0x49, 0xef, 0x76, 0x30, 0x09, 0x7d, 0x33, 0x8e, 0x8c, - 0x71, 0x44, 0x1b, 0x4c, 0xc2, 0x34, 0xa3, 0xb2, 0x91, 0x32, 0xd2, 0xa9, 0xea, 0x5d, 0x7a, 0xf3, - 0xe9, 0x66, 0xd6, 0xca, 0x71, 0x21, 0x89, 0xf0, 0xbd, 0xbf, 0x5e, 0x81, 0x6a, 0x2f, 0x72, 0xf5, - 0x1f, 0x43, 0x43, 0x7c, 0x1c, 0x6e, 0x2b, 0x62, 0xbd, 0x40, 0x63, 0xdc, 0x2d, 0xa6, 0xe1, 0xc1, - 0xc5, 0x86, 0x55, 0xf9, 0x01, 0xf6, 0x66, 0xee, 0x66, 0x46, 0x65, 0xdc, 0x2f, 0x43, 0xc5, 0x85, - 0xfc, 0x4a, 0x83, 0xab, 0xea, 0x67, 0xcf, 0xaf, 0xe5, 0xf2, 0xca, 0xd8, 0x61, 0x7c, 0x73, 0xde, - 0x1d, 0x1c, 0x49, 0x08, 0x7a, 0xc6, 0x93, 0xe4, 0x1d, 0x05, 0xbf, 0x59, 0x52, 0x63, 0xb7, 0x34, - 0x29, 0x97, 0x79, 0x06, 0x97, 0x33, 0x5f, 0x0f, 0xef, 0x29, 0x58, 0x65, 0x11, 0x1b, 0x0f, 0xe6, - 0x20, 0x16, 0x25, 0x67, 0x3e, 0x0c, 0xaa, 0x24, 0x67, 0x11, 0x2b, 0x25, 0xe7, 0xbd, 0xd3, 0xa5, - 0x5e, 0x4b, 0x2b, 0x85, 0x7c, 0xaf, 0x25, 0x34, 0x05, 0x5e, 0x2b, 0xbf, 0x36, 0x0d, 0xe1, 0xc2, - 0xcc, 0x43, 0x92, 0xea, 0xa1, 0x62, 0x9a, 0xd0, 0xe8, 0x96, 0x24, 0xe4, 0xd2, 0x3e, 0x86, 0x7a, - 0xfa, 0x80, 0xb3, 0xad, 0x7c, 0x0f, 0x61, 0x14, 0xc6, 0x4e, 0x11, 0x05, 0x67, 0xfc, 0x5d, 0xa8, - 0x91, 0xa7, 0x9a, 0x8d, 0x9c, 0x37, 0x16, 0xe3, 0x46, 0xce, 0x22, 0xe7, 0xf4, 0x21, 0x2c, 0xb2, - 0x87, 0x86, 0x4d, 0x05, 0x39, 0x5d, 0x36, 0x6e, 0xe5, 0x2e, 0x8b, 0xfc, 0xd8, 0x0b, 0x80, 0x8a, - 0x1f, 0x5d, 0x56, 0xf2, 0x93, 0x3b, 0xf8, 0xf8, 0xc0, 0x66, 0xda, 0xf7, 0xdb, 0xb9, 0x57, 0x29, - 0x25, 0x54, 0x1e, 0x98, 0xaa, 0x3f, 0x4f, 0x6f, 0xb9, 0xd4, 0x9b, 0xdf, 0x29, 0x66, 0xc3, 0x48, - 0x0b, 0x6e, 0x79, 0x56, 0x4f, 0xad, 0x4f, 0xe0, 0x52, 0x56, 0x43, 0x7d, 0xb7, 0x98, 0x53, 0x42, - 0x6b, 0xec, 0x95, 0xa7, 0x55, 0x06, 0x34, 0x6a, 0xda, 0x52, 0x01, 0x8d, 0x1a, 0x77, 0xb7, 0x34, - 0x29, 0x97, 0xf9, 0x53, 0x78, 0x27, 0xbb, 0x0f, 0xbe, 0x5f, 0x86, 0x17, 0x57, 0xf7, 0xeb, 0xf3, - 0x50, 0xcf, 0xda, 0x59, 0x6e, 0x21, 0xf3, 0xed, 0x2c, 0xd1, 0x16, 0xd8, 0x39, 0xb3, 0x2f, 0x8c, - 0x2f, 0x04, 0x6b, 0xab, 0x37, 0x73, 0xbb, 0x2d, 0xe5, 0x85, 0x90, 0x5b, 0xca, 0x38, 0xef, 0xca, - 0xed, 0xe4, 0xcd, 0x32, 0x4d, 0x9c, 0x51, 0xaa, 0x61, 0x14, 0x85, 0xc8, 0xff, 0xf8, 0x56, 0x09, - 0x91, 0xa8, 0x94, 0x42, 0x32, 0xff, 0x83, 0xad, 0xff, 0x52, 0x83, 0xa6, 0xb2, 0xc0, 0xef, 0x2a, - 0x83, 0x57, 0xf6, 0x06, 0xe3, 0xe1, 0x9c, 0x1b, 0x38, 0x0c, 0x0f, 0xce, 0x4f, 0xb7, 0x38, 0xef, - 0xe6, 0xe8, 0x21, 0xd0, 0x19, 0x9d, 0x72, 0x74, 0xe2, 0x9d, 0xcb, 0xe8, 0x21, 0xee, 0x28, 0x23, - 0xeb, 0x34, 0xa9, 0xf2, 0xce, 0xa9, 0x1b, 0x07, 0xfd, 0x05, 0xac, 0x4d, 0x75, 0x0d, 0xb7, 0x8a, - 0xa3, 0xc5, 0x53, 0x84, 0x8c, 0xf7, 0x4a, 0x91, 0x89, 0x77, 0x3b, 0xbb, 0x21, 0xc8, 0x71, 0x8a, - 0x59, 0x6a, 0xe5, 0xdd, 0xce, 0xed, 0x01, 0x88, 0x2b, 0x29, 0x3b, 0x80, 0x6e, 0xae, 0xd1, 0x32, - 0x30, 0x3c, 0x9c, 0x73, 0x83, 0x98, 0xef, 0xd3, 0xa2, 0x5f, 0x95, 0xef, 0x39, 0x85, 0x32, 0xdf, - 0xcf, 0xd4, 0xf4, 0x07, 0x3f, 0xfc, 0xf3, 0xeb, 0x96, 0xf6, 0xf9, 0xeb, 0x96, 0xf6, 0xcf, 0xd7, - 0x2d, 0xed, 0xb3, 0x37, 0xad, 0x73, 0x9f, 0xbf, 0x69, 0x9d, 0xfb, 0xc7, 0x9b, 0xd6, 0xb9, 0x4f, - 0x9e, 0xb8, 0x1e, 0x3e, 0x9e, 0x0c, 0x3a, 0x76, 0x30, 0xea, 0x12, 0x6e, 0xef, 0xf9, 0x08, 0x9f, - 0x06, 0xe1, 0x4f, 0xd8, 0x68, 0x88, 0x1c, 0x17, 0x85, 0xdd, 0x33, 0xe1, 0x87, 0x2e, 0xe4, 0x17, - 0x38, 0xe4, 0xa7, 0x2e, 0xdd, 0x93, 0xdd, 0xc1, 0x22, 0x79, 0xfa, 0x78, 0xf0, 0xbf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x9e, 0x31, 0x73, 0xe5, 0xd1, 0x23, 0x00, 0x00, + 0x1a, 0xdb, 0x11, 0x08, 0x69, 0x11, 0x12, 0xd7, 0xbd, 0x70, 0x41, 0x1c, 0x90, 0x90, 0x38, 0x23, + 0xfe, 0x05, 0x2e, 0x70, 0x5b, 0x0e, 0x08, 0x6e, 0x8b, 0x12, 0x24, 0xfe, 0x03, 0x4e, 0x1c, 0x50, + 0x57, 0x55, 0x57, 0x57, 0xcd, 0x74, 0x75, 0xf7, 0xec, 0xc7, 0xc5, 0xea, 0xaa, 0x7a, 0xf5, 0xde, + 0xef, 0xbd, 0x7a, 0xf5, 0x3e, 0xca, 0x03, 0x1b, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, + 0xc8, 0xf1, 0x70, 0xf7, 0x64, 0xb7, 0x8b, 0xcf, 0x3a, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xc5, + 0x0e, 0x5f, 0xec, 0x9c, 0xec, 0x1a, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, + 0x9e, 0xec, 0x0e, 0x10, 0xb6, 0x76, 0xbb, 0x76, 0xe0, 0xf9, 0x74, 0x8f, 0x71, 0x85, 0xad, 0x8f, + 0x22, 0x37, 0xe6, 0x35, 0x8a, 0x5c, 0xb6, 0x70, 0xd9, 0x0d, 0xdc, 0x80, 0x7c, 0x76, 0xe3, 0x2f, + 0x36, 0xbb, 0xe5, 0x06, 0x81, 0x3b, 0x44, 0x5d, 0x32, 0x1a, 0x4c, 0x5e, 0x74, 0xb1, 0x37, 0x42, + 0x11, 0xb6, 0x46, 0x63, 0x46, 0xd0, 0xca, 0x00, 0x18, 0x61, 0x0b, 0xa3, 0x9c, 0x75, 0xfc, 0x6a, + 0x8c, 0x22, 0xba, 0xde, 0xfe, 0x58, 0x83, 0x0b, 0xbd, 0xc8, 0xdd, 0x77, 0x9c, 0x43, 0xb2, 0xfe, + 0xfc, 0xd5, 0x18, 0xe9, 0xd7, 0xa0, 0x6e, 0x4d, 0xf0, 0x71, 0x10, 0x7a, 0xf8, 0x55, 0x53, 0xdb, + 0xd6, 0x76, 0xea, 0x66, 0x3a, 0xa1, 0x3f, 0x81, 0x06, 0xe5, 0xd5, 0x8f, 0x19, 0x35, 0x2b, 0xdb, + 0xda, 0x4e, 0x63, 0xaf, 0xd5, 0x99, 0x35, 0x46, 0x27, 0x65, 0x69, 0x82, 0xcd, 0xbf, 0x1f, 0xaf, + 0xfd, 0xe2, 0x3f, 0x7f, 0xbc, 0x9b, 0x32, 0x6c, 0x1b, 0xd0, 0x9c, 0x86, 0x60, 0xa2, 0x68, 0x1c, + 0xf8, 0x11, 0x6a, 0xff, 0x59, 0x83, 0xb5, 0x5e, 0xe4, 0x1e, 0x86, 0xc8, 0xc2, 0xe8, 0x70, 0x68, + 0x45, 0x91, 0x7e, 0x19, 0x16, 0x2c, 0x67, 0xe4, 0xf9, 0x0c, 0x19, 0x1d, 0xe8, 0x4d, 0x58, 0xf2, + 0xa2, 0x68, 0x82, 0xc2, 0xa8, 0x59, 0xd9, 0xae, 0xee, 0xd4, 0xcd, 0x64, 0xa8, 0x1b, 0xb0, 0x3c, + 0x42, 0xd8, 0x72, 0x2c, 0x6c, 0x35, 0xab, 0x64, 0x0b, 0x1f, 0xeb, 0xf7, 0x41, 0x17, 0x74, 0xe9, + 0x5b, 0x83, 0x41, 0x88, 0x4e, 0x9a, 0x35, 0x42, 0x75, 0x21, 0x85, 0xbc, 0x4f, 0xe6, 0xf5, 0x7b, + 0x50, 0x7d, 0x81, 0x50, 0x73, 0x81, 0x68, 0x7c, 0xb5, 0x43, 0x8f, 0xb2, 0x13, 0x1f, 0x75, 0x87, + 0x1d, 0x75, 0xe7, 0x30, 0xf0, 0x7c, 0x33, 0xa6, 0x7a, 0x0c, 0xb1, 0x96, 0x14, 0x5c, 0xfb, 0x01, + 0xac, 0xcb, 0x4a, 0x24, 0xfa, 0xe9, 0x57, 0x61, 0xd9, 0x8e, 0x27, 0xfa, 0x9e, 0xc3, 0xf4, 0x59, + 0x22, 0xe3, 0x23, 0xa7, 0xfd, 0x27, 0x7a, 0x34, 0x74, 0xd7, 0x0f, 0xc2, 0xe0, 0x25, 0xb2, 0xb1, + 0x42, 0x79, 0x91, 0x4b, 0x45, 0xe2, 0x92, 0xab, 0x7d, 0x1b, 0x56, 0x5e, 0x4e, 0x42, 0x2f, 0x72, + 0x3c, 0x1b, 0x7b, 0x81, 0xcf, 0xf4, 0x96, 0xe6, 0xf4, 0xeb, 0xb0, 0x12, 0xa2, 0x17, 0x28, 0x44, + 0xbe, 0x8d, 0x62, 0xf6, 0x0b, 0x84, 0xa6, 0xc1, 0xe7, 0x8e, 0x1c, 0x49, 0xd3, 0x47, 0xe4, 0x2c, + 0x25, 0xcc, 0x5c, 0xd7, 0x4d, 0x80, 0x31, 0x9d, 0x4a, 0xb5, 0xad, 0xb3, 0x99, 0x23, 0xa7, 0xfd, + 0x7b, 0x0d, 0xae, 0xf1, 0xbd, 0x1f, 0xf8, 0x21, 0x72, 0xbd, 0x08, 0xa3, 0x10, 0x39, 0xf9, 0xba, + 0x8b, 0x0a, 0x56, 0x0a, 0x14, 0xac, 0x96, 0x50, 0xb0, 0x96, 0xaf, 0xe0, 0x7b, 0x70, 0x33, 0x0f, + 0x64, 0x59, 0x65, 0xff, 0xa0, 0xc1, 0x5b, 0xbd, 0xc8, 0xfd, 0x60, 0xec, 0xa4, 0x86, 0xa2, 0xee, + 0x7d, 0x03, 0x56, 0x93, 0x8d, 0xa2, 0xb6, 0x2b, 0x6c, 0x72, 0x9f, 0x28, 0x2d, 0x73, 0xaf, 0x4c, + 0x71, 0x97, 0xfc, 0xa1, 0xaa, 0xf6, 0x87, 0x9a, 0x6c, 0xae, 0xc7, 0x7a, 0xac, 0xa7, 0x2c, 0xbd, + 0xbd, 0x05, 0x9b, 0x99, 0x38, 0xf9, 0x0d, 0xfd, 0xb5, 0x06, 0x57, 0x7a, 0x91, 0xfb, 0xa1, 0x87, + 0x8f, 0x9d, 0xd0, 0x3a, 0x9d, 0x5f, 0x97, 0x5b, 0xb0, 0x66, 0x8d, 0xc7, 0x43, 0xcf, 0xb6, 0xe2, + 0xf3, 0x48, 0xf4, 0xa9, 0x99, 0xab, 0xc2, 0x6c, 0xbe, 0x23, 0x67, 0x02, 0xbf, 0x0e, 0x5b, 0x0a, + 0x58, 0x1c, 0xfa, 0x5f, 0x29, 0xf4, 0xf7, 0x4e, 0xac, 0xe1, 0x64, 0xfa, 0x18, 0xd6, 0x61, 0x91, + 0x06, 0x10, 0x86, 0x99, 0x8d, 0xca, 0xa2, 0x7d, 0x0a, 0x80, 0x28, 0xdb, 0xc4, 0xef, 0xd6, 0xf6, + 0xde, 0xce, 0x8a, 0x91, 0xa2, 0xd0, 0x67, 0xd8, 0xc2, 0x93, 0xc8, 0x14, 0x76, 0xe6, 0x1e, 0x57, + 0x23, 0xd6, 0x9a, 0xe1, 0x62, 0xea, 0x66, 0xa9, 0xc2, 0xd5, 0xfd, 0x5f, 0x45, 0x88, 0xa5, 0x07, + 0x16, 0xb6, 0x8f, 0x95, 0x5a, 0x16, 0xf8, 0xd7, 0xb7, 0x61, 0x39, 0x26, 0xb4, 0x7c, 0x1b, 0x35, + 0xab, 0xdb, 0xd5, 0x9d, 0xc6, 0xde, 0xf5, 0x2c, 0xdd, 0x88, 0x8c, 0x23, 0x46, 0x68, 0xf2, 0x2d, + 0x79, 0x4a, 0xe9, 0x4f, 0x00, 0x22, 0x6c, 0x85, 0xb8, 0x1f, 0x3b, 0x1c, 0x0b, 0xb5, 0x46, 0x87, + 0xa6, 0xc1, 0x4e, 0x92, 0x06, 0x3b, 0xcf, 0x93, 0x34, 0x78, 0x50, 0xfb, 0xe4, 0xb3, 0x2d, 0xcd, + 0xac, 0x93, 0x3d, 0xef, 0x5a, 0x18, 0xe9, 0xdf, 0x82, 0x65, 0xe4, 0x3b, 0x74, 0xfb, 0x62, 0xc9, + 0xed, 0x4b, 0xc8, 0x77, 0xc8, 0x66, 0x1d, 0x6a, 0xc1, 0x18, 0xf9, 0xcd, 0xa5, 0x6d, 0x6d, 0x67, + 0xd9, 0x24, 0xdf, 0xfa, 0x23, 0xa8, 0x07, 0xa1, 0xe7, 0x7a, 0x7e, 0x1f, 0x9f, 0x35, 0x97, 0x09, + 0xc7, 0x6b, 0x59, 0xda, 0x7e, 0x9f, 0x10, 0x3d, 0x3f, 0x33, 0x97, 0x03, 0xf6, 0x25, 0x9f, 0xd0, + 0x23, 0x21, 0x09, 0x10, 0xcb, 0xf0, 0x58, 0xb1, 0x05, 0x8d, 0x41, 0x3c, 0xd1, 0x77, 0x90, 0x1f, + 0x8c, 0xd8, 0x51, 0x00, 0x99, 0x7a, 0x37, 0x9e, 0x69, 0xff, 0x5d, 0x83, 0x4b, 0xbd, 0xc8, 0xed, + 0x79, 0x3e, 0x26, 0x3b, 0x69, 0xa2, 0x54, 0x3b, 0xe9, 0x14, 0xc3, 0xca, 0x34, 0xc3, 0x2f, 0x7a, + 0x80, 0x92, 0x49, 0x6a, 0x9f, 0xdf, 0x24, 0x9b, 0xb0, 0x91, 0xa1, 0x16, 0x77, 0xd8, 0xe7, 0xb0, + 0xd2, 0x8b, 0xdc, 0x67, 0xc8, 0x1a, 0xe6, 0x7b, 0x6b, 0x91, 0xba, 0xb2, 0xd0, 0x75, 0xb8, 0x2c, + 0x72, 0xe5, 0xd2, 0xfe, 0x5b, 0x81, 0x25, 0xb2, 0xe0, 0x3b, 0xb1, 0xa4, 0x08, 0xf9, 0x4e, 0x2a, + 0x89, 0x8e, 0xe2, 0xca, 0x28, 0x44, 0xb6, 0x37, 0xf6, 0x90, 0x8f, 0x93, 0x6b, 0xc1, 0x27, 0xf4, + 0x7d, 0x58, 0xa2, 0xba, 0x47, 0xcc, 0xa8, 0xb7, 0xb3, 0x8c, 0xc2, 0x64, 0x74, 0xe2, 0x3f, 0x89, + 0xc6, 0xc9, 0x3e, 0xe3, 0xdf, 0x1a, 0x34, 0x84, 0x85, 0x42, 0xd7, 0xd0, 0x6f, 0xc3, 0x79, 0x1c, + 0x5a, 0x8e, 0x35, 0x18, 0xa2, 0xbe, 0x35, 0x0a, 0x26, 0x1c, 0xd7, 0x5a, 0x32, 0xbd, 0x4f, 0x66, + 0xe3, 0xc0, 0x15, 0x22, 0xec, 0x85, 0xc8, 0x49, 0xe8, 0x68, 0x14, 0x5d, 0x65, 0xb3, 0x8c, 0xec, + 0x21, 0x5c, 0xa1, 0x13, 0x23, 0xe4, 0xe3, 0x7e, 0x46, 0x79, 0xb0, 0x9e, 0x2e, 0x7f, 0x4f, 0xcc, + 0xa3, 0xf7, 0xe0, 0xa2, 0xb0, 0x31, 0x44, 0x56, 0x14, 0xf8, 0xac, 0x5a, 0xb8, 0x90, 0x2e, 0x98, + 0x64, 0x9e, 0x1d, 0x08, 0x35, 0x6a, 0xfb, 0x22, 0x9c, 0x67, 0x36, 0xe1, 0x67, 0xf1, 0x3b, 0x0d, + 0xea, 0xbd, 0xc8, 0x35, 0xc9, 0xbe, 0x38, 0xf1, 0x07, 0xa7, 0x3e, 0x3f, 0x0c, 0x3a, 0xd0, 0xbf, + 0x91, 0x5a, 0xbb, 0x42, 0xac, 0xbd, 0xa1, 0xae, 0x41, 0x53, 0x0b, 0x97, 0xaa, 0x09, 0xd6, 0x61, + 0x91, 0x29, 0x40, 0x75, 0x66, 0x23, 0x56, 0x08, 0x10, 0xf1, 0xed, 0x4b, 0x70, 0x91, 0x23, 0xe4, + 0xb8, 0x7f, 0x46, 0x60, 0x1f, 0xc6, 0x97, 0x64, 0xf8, 0xe5, 0xc2, 0x4e, 0x21, 0x55, 0x0b, 0x20, + 0x51, 0xe9, 0x1c, 0x52, 0x40, 0x42, 0x07, 0x4d, 0xe0, 0x24, 0x1f, 0xd0, 0xac, 0x3b, 0x77, 0x21, + 0xb9, 0x01, 0x75, 0x1f, 0x9d, 0xb2, 0x3c, 0xce, 0x12, 0xb0, 0x8f, 0x4e, 0x09, 0x37, 0xa9, 0x42, + 0xa2, 0x97, 0x7a, 0x5a, 0x20, 0xc7, 0xf3, 0x5b, 0xb1, 0xf2, 0x21, 0xeb, 0x47, 0xac, 0x50, 0x9f, + 0x1b, 0xd2, 0x16, 0x34, 0x2c, 0xc7, 0xe9, 0x27, 0x75, 0x7f, 0x95, 0xd4, 0xfd, 0x60, 0x39, 0x4e, + 0xc2, 0x91, 0xf8, 0xfc, 0x28, 0x38, 0x41, 0x9c, 0xa6, 0x46, 0x68, 0x56, 0xe9, 0x2c, 0x23, 0x93, + 0xd0, 0x8b, 0xf5, 0x8e, 0x88, 0x8e, 0xe3, 0x3f, 0x23, 0x61, 0x5c, 0x20, 0xe8, 0x25, 0xa9, 0x6b, + 0x6e, 0xfc, 0xd7, 0x61, 0x25, 0x36, 0xe9, 0x54, 0x59, 0xd3, 0xf0, 0xd1, 0x69, 0xc2, 0x53, 0x82, + 0xb6, 0x0d, 0xad, 0x6c, 0xc9, 0x1c, 0xdb, 0x64, 0xb6, 0xa8, 0xcc, 0x3b, 0xed, 0x82, 0x2c, 0x5f, + 0xfa, 0xc4, 0x33, 0x6a, 0x44, 0xf9, 0xcc, 0x7f, 0x4e, 0xba, 0x02, 0x89, 0xa0, 0xc0, 0x6a, 0x05, + 0xd0, 0xe6, 0xb4, 0x5c, 0x1b, 0xb6, 0x55, 0xf2, 0x39, 0xc6, 0xdf, 0xd0, 0x90, 0x73, 0x10, 0x7a, + 0x8e, 0xab, 0x0a, 0x39, 0xeb, 0xb0, 0x88, 0xad, 0xd0, 0x45, 0x49, 0x8c, 0x65, 0x23, 0x39, 0x2d, + 0x54, 0xa7, 0xd3, 0x82, 0x70, 0xe3, 0x6b, 0xe5, 0x6f, 0xbc, 0x74, 0xb3, 0x3f, 0xd6, 0x04, 0xaf, + 0x23, 0x69, 0x8b, 0xdb, 0xef, 0x73, 0xd7, 0x00, 0x25, 0x6c, 0x28, 0xe5, 0x4d, 0xd1, 0xfd, 0x24, + 0x08, 0xdc, 0x84, 0x34, 0xfe, 0x50, 0x0b, 0xf2, 0xc9, 0xcf, 0x6a, 0xa4, 0x8d, 0x4d, 0x66, 0x6d, + 0xe4, 0x9d, 0x20, 0x25, 0xe8, 0x9c, 0xcb, 0xf2, 0x14, 0x96, 0xd8, 0xf9, 0x13, 0xa4, 0x8d, 0xbd, + 0xfb, 0x8a, 0xe4, 0x2a, 0x49, 0x4a, 0xea, 0x6b, 0x33, 0xd9, 0xac, 0x7f, 0x07, 0x16, 0x88, 0x11, + 0x58, 0xdd, 0x72, 0xb7, 0x14, 0x17, 0x5a, 0x29, 0xd0, 0x8d, 0x72, 0xf5, 0xb3, 0x30, 0x4f, 0xf5, + 0x63, 0xfc, 0x43, 0x83, 0x05, 0x5a, 0xcb, 0x48, 0x2e, 0xa3, 0x4d, 0xbb, 0xcc, 0x3a, 0x2c, 0x4a, + 0xc9, 0x9c, 0x8d, 0xa6, 0xaa, 0xe3, 0xea, 0x17, 0xab, 0x8e, 0x6b, 0xf3, 0x56, 0xc7, 0x62, 0xdd, + 0xbe, 0x20, 0xd7, 0xed, 0xc6, 0x10, 0x96, 0x92, 0x3e, 0x7d, 0xba, 0xa3, 0xd6, 0x66, 0x3a, 0xea, + 0x99, 0x24, 0x5c, 0xc9, 0x48, 0xc2, 0x79, 0x0d, 0x9f, 0xe4, 0x98, 0x1f, 0x91, 0xe8, 0x22, 0x1d, + 0x58, 0xe9, 0xd2, 0xba, 0x20, 0xd0, 0xb4, 0x7f, 0x04, 0x3a, 0x7b, 0x9b, 0x8a, 0xdd, 0x90, 0x14, + 0xef, 0x41, 0x58, 0xf0, 0x40, 0xd6, 0x24, 0xf7, 0x3d, 0x26, 0xe4, 0x3e, 0x4c, 0x87, 0x33, 0x2f, + 0x5f, 0xd7, 0xc0, 0x98, 0xe5, 0xce, 0x6f, 0x0e, 0x22, 0x89, 0xf4, 0x19, 0xc2, 0xe2, 0xea, 0xfe, + 0x70, 0x18, 0x9c, 0x0e, 0xbd, 0x08, 0x17, 0x83, 0x40, 0x7e, 0x5c, 0xfe, 0x51, 0xa5, 0x96, 0xcd, + 0x64, 0x38, 0x03, 0xe2, 0x16, 0xdc, 0xc8, 0x11, 0xc3, 0xd1, 0xf4, 0x49, 0x6e, 0x31, 0x49, 0xe2, + 0xfc, 0x4a, 0x8c, 0x41, 0xb3, 0xc8, 0xac, 0x00, 0x8e, 0xc0, 0x27, 0xe1, 0x45, 0xc8, 0x7f, 0x4f, + 0x51, 0xd1, 0x5b, 0x25, 0x7b, 0xb1, 0xab, 0x94, 0x7a, 0xb1, 0x9b, 0x06, 0xb4, 0x01, 0x57, 0x67, + 0xe4, 0x71, 0x30, 0x6e, 0xf2, 0x68, 0x49, 0x2c, 0x85, 0x1c, 0xea, 0x7e, 0x87, 0xc7, 0x96, 0xe7, + 0x17, 0x60, 0xda, 0x04, 0xb0, 0x63, 0xb2, 0xbe, 0x6f, 0x8d, 0x50, 0xe2, 0x71, 0x64, 0xe6, 0x7d, + 0x6b, 0x34, 0x8b, 0x82, 0xe6, 0xae, 0x4c, 0x41, 0x1c, 0xcc, 0x4b, 0xe2, 0x29, 0xd4, 0x74, 0x5f, + 0x35, 0x1e, 0xea, 0x2e, 0x2a, 0x59, 0x1c, 0x92, 0x4d, 0x7a, 0xb7, 0x83, 0x49, 0xe8, 0x9b, 0x71, + 0x64, 0x8c, 0x23, 0xda, 0x60, 0x12, 0xa6, 0x19, 0x95, 0x8d, 0x94, 0x91, 0x4e, 0x55, 0xef, 0xd2, + 0x9b, 0x4f, 0x37, 0xb3, 0x56, 0x8e, 0x0b, 0x49, 0x84, 0xef, 0xfd, 0xed, 0x0a, 0x54, 0x7b, 0x91, + 0xab, 0xff, 0x18, 0x1a, 0xe2, 0xcb, 0x71, 0x5b, 0x11, 0xeb, 0x05, 0x1a, 0xe3, 0x6e, 0x31, 0x0d, + 0x0f, 0x2e, 0x36, 0xac, 0xca, 0xaf, 0xb3, 0x37, 0x73, 0x37, 0x33, 0x2a, 0xe3, 0x7e, 0x19, 0x2a, + 0x2e, 0xe4, 0x57, 0x1a, 0x5c, 0x55, 0xbf, 0x89, 0x7e, 0x2d, 0x97, 0x57, 0xc6, 0x0e, 0xe3, 0x9b, + 0xf3, 0xee, 0xe0, 0x48, 0x42, 0xd0, 0x33, 0xde, 0x2b, 0xef, 0x28, 0xf8, 0xcd, 0x92, 0x1a, 0xbb, + 0xa5, 0x49, 0xb9, 0xcc, 0x33, 0xb8, 0x9c, 0xf9, 0xb2, 0x78, 0x4f, 0xc1, 0x2a, 0x8b, 0xd8, 0x78, + 0x30, 0x07, 0xb1, 0x28, 0x39, 0xf3, 0x61, 0x50, 0x25, 0x39, 0x8b, 0x58, 0x29, 0x39, 0xef, 0x9d, + 0x2e, 0xf5, 0x5a, 0x5a, 0x29, 0xe4, 0x7b, 0x2d, 0xa1, 0x29, 0xf0, 0x5a, 0xf9, 0xb5, 0x69, 0x08, + 0x17, 0x66, 0x1e, 0x92, 0x54, 0x0f, 0x15, 0xd3, 0x84, 0x46, 0xb7, 0x24, 0x21, 0x97, 0xf6, 0x21, + 0xd4, 0xd3, 0x07, 0x9c, 0x6d, 0xe5, 0x7b, 0x08, 0xa3, 0x30, 0x76, 0x8a, 0x28, 0x38, 0xe3, 0xef, + 0x42, 0x8d, 0x3c, 0xd5, 0x6c, 0xe4, 0xbc, 0xb1, 0x18, 0x37, 0x72, 0x16, 0x39, 0xa7, 0xf7, 0x61, + 0x91, 0x3d, 0x34, 0x6c, 0x2a, 0xc8, 0xe9, 0xb2, 0x71, 0x2b, 0x77, 0x59, 0xe4, 0xc7, 0x5e, 0x00, + 0x54, 0xfc, 0xe8, 0xb2, 0x92, 0x9f, 0xdc, 0xc1, 0xc7, 0x07, 0x36, 0xd3, 0xbe, 0xdf, 0xce, 0xbd, + 0x4a, 0x29, 0xa1, 0xf2, 0xc0, 0x54, 0xfd, 0x79, 0x7a, 0xcb, 0xa5, 0xde, 0xfc, 0x4e, 0x31, 0x1b, + 0x46, 0x5a, 0x70, 0xcb, 0xb3, 0x7a, 0x6a, 0x7d, 0x02, 0x97, 0xb2, 0x1a, 0xea, 0xbb, 0xc5, 0x9c, + 0x12, 0x5a, 0x63, 0xaf, 0x3c, 0xad, 0x32, 0xa0, 0x51, 0xd3, 0x96, 0x0a, 0x68, 0xd4, 0xb8, 0xbb, + 0xa5, 0x49, 0xb9, 0xcc, 0x9f, 0xc2, 0x5b, 0xd9, 0x7d, 0xf0, 0xfd, 0x32, 0xbc, 0xb8, 0xba, 0x5f, + 0x9f, 0x87, 0x7a, 0xd6, 0xce, 0x72, 0x0b, 0x99, 0x6f, 0x67, 0x89, 0xb6, 0xc0, 0xce, 0x99, 0x7d, + 0x61, 0x7c, 0x21, 0x58, 0x5b, 0xbd, 0x99, 0xdb, 0x6d, 0x29, 0x2f, 0x84, 0xdc, 0x52, 0xc6, 0x79, + 0x57, 0x6e, 0x27, 0x6f, 0x96, 0x69, 0xe2, 0x8c, 0x52, 0x0d, 0xa3, 0x28, 0x44, 0xfe, 0xaf, 0xb8, + 0x4a, 0x88, 0x44, 0xa5, 0x14, 0x92, 0xf9, 0xef, 0x6d, 0xfd, 0x97, 0x1a, 0x34, 0x95, 0x05, 0x7e, + 0x57, 0x19, 0xbc, 0xb2, 0x37, 0x18, 0x0f, 0xe7, 0xdc, 0xc0, 0x61, 0x78, 0x70, 0x7e, 0xba, 0xc5, + 0x79, 0x3b, 0x47, 0x0f, 0x81, 0xce, 0xe8, 0x94, 0xa3, 0x13, 0xef, 0x5c, 0x46, 0x0f, 0x71, 0x47, + 0x19, 0x59, 0xa7, 0x49, 0x95, 0x77, 0x4e, 0xdd, 0x38, 0xe8, 0x2f, 0x60, 0x6d, 0xaa, 0x6b, 0xb8, + 0x55, 0x1c, 0x2d, 0x9e, 0x22, 0x64, 0xbc, 0x53, 0x8a, 0x4c, 0xbc, 0xdb, 0xd9, 0x0d, 0x41, 0x8e, + 0x53, 0xcc, 0x52, 0x2b, 0xef, 0x76, 0x6e, 0x0f, 0x40, 0x5c, 0x49, 0xd9, 0x01, 0x74, 0x73, 0x8d, + 0x96, 0x81, 0xe1, 0xe1, 0x9c, 0x1b, 0xc4, 0x7c, 0x9f, 0x16, 0xfd, 0xaa, 0x7c, 0xcf, 0x29, 0x94, + 0xf9, 0x7e, 0xa6, 0xa6, 0x3f, 0xf8, 0xe1, 0x5f, 0x5e, 0xb7, 0xb4, 0x4f, 0x5f, 0xb7, 0xb4, 0x7f, + 0xbd, 0x6e, 0x69, 0x9f, 0xbc, 0x69, 0x9d, 0xfb, 0xf4, 0x4d, 0xeb, 0xdc, 0x3f, 0xdf, 0xb4, 0xce, + 0x7d, 0xf4, 0xc4, 0xf5, 0xf0, 0xf1, 0x64, 0xd0, 0xb1, 0x83, 0x51, 0x97, 0x70, 0x7b, 0xc7, 0x47, + 0xf8, 0x34, 0x08, 0x7f, 0xc2, 0x46, 0x43, 0xe4, 0xb8, 0x28, 0xec, 0x9e, 0x09, 0xbf, 0x82, 0x21, + 0x3f, 0xcf, 0x21, 0xbf, 0x83, 0xe9, 0x9e, 0xec, 0x0e, 0x16, 0xc9, 0xd3, 0xc7, 0x83, 0xff, 0x07, + 0x00, 0x00, 0xff, 0xff, 0xea, 0xfc, 0x0f, 0x6e, 0xee, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5324,6 +5335,13 @@ func (m *MsgWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if len(m.Metadata) > 0 { + i -= len(m.Metadata) + copy(dAtA[i:], m.Metadata) + i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) + i-- + dAtA[i] = 0x1a + } if m.ApplicationId != 0 { i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) i-- @@ -7350,6 +7368,10 @@ func (m *MsgWithdrawProjectClass) Size() (n int) { if m.ApplicationId != 0 { n += 1 + sovTx(uint64(m.ApplicationId)) } + l = len(m.Metadata) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -9475,6 +9497,38 @@ func (m *MsgWithdrawProjectClass) Unmarshal(dAtA []byte) error { break } } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) From 041af558681e36f02b475ceef3685fdc3e18556f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 12:14:12 -0500 Subject: [PATCH 011/112] Update proto/regen/ecocredit/v1/tx.proto Co-authored-by: Cory --- proto/regen/ecocredit/v1/tx.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 4c478ac2a3..a6ab5ec9ab 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -50,7 +50,7 @@ service Msg { returns (MsgUpdateProjectClassResponse); // WithdrawProjectClass withdraws a project from a credit class application - // or relationship unilaterally on the part of a project admin. + // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 rpc WithdrawProjectClass(MsgWithdrawProjectClass) From ea41f12e8ad33279fc0f1cb4db44c3250bc51d1f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 12:14:22 -0500 Subject: [PATCH 012/112] Update proto/regen/ecocredit/v1/tx.proto Co-authored-by: Cory --- proto/regen/ecocredit/v1/tx.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index a6ab5ec9ab..ea89d64149 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -37,8 +37,8 @@ service Msg { // UpdateProjectClass creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. - // A project may have a relationship with at most one credit class per credit type - // but can have relationships with multiple credit classes across different credit + // A project may be enrolled in at most one credit class per credit type + // but can be enrolled in multiple credit classes across different credit // types. This can be useful, for example for issuing pre-financing forward contracts // while making progress towards issuing credits in an outcome based program. // Projects that are already accepted into a credit class can only update From c3c15cd9f57740bcbced2706265b282c998b2e81 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 12:25:33 -0500 Subject: [PATCH 013/112] address review comments --- proto/regen/ecocredit/v1/events.proto | 7 +++-- proto/regen/ecocredit/v1/query.proto | 36 ++++++++++++----------- proto/regen/ecocredit/v1/state.proto | 34 ++++++++++++---------- proto/regen/ecocredit/v1/tx.proto | 42 +++++++++++++-------------- 4 files changed, 64 insertions(+), 55 deletions(-) diff --git a/proto/regen/ecocredit/v1/events.proto b/proto/regen/ecocredit/v1/events.proto index 4bd5802dfa..cf42cd6e6a 100644 --- a/proto/regen/ecocredit/v1/events.proto +++ b/proto/regen/ecocredit/v1/events.proto @@ -284,6 +284,9 @@ message EventWithdrawProjectClass { // class_id is the unique identifier of the class that was withdrawn from. string class_id = 2; + + // old_status is the old status of the project class relationship before withdrawal. + ProjectEnrollmentStatus old_status = 3; } // EventEvaluateProjectClass is emitted when a project class relationship is @@ -301,10 +304,10 @@ message EventEvaluateProjectClass { string class_id = 3; // old_status is the old status of the project class relationship. - ProjectClassStatus old_status = 4; + ProjectEnrollmentStatus old_status = 4; // new_status is the new status of the project class relationship. - ProjectClassStatus new_status = 5; + ProjectEnrollmentStatus new_status = 5; // new_class_metadata is any new class metadata. string new_class_metadata = 6; diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 453f129351..85ec4e3821 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -260,19 +260,21 @@ service Query { option (google.api.http).get = "/regen/ecocredit/v1/allowed-bridge-chains"; } - // ProjectClass queries information about a project credit class relationship. + // ProjectEnrollment queries information about a project's enrollment in a + // credit class. // // Since Revision 3 - rpc ProjectClass(QueryProjectClassRequest) returns (QueryProjectClassResponse) { + rpc ProjectEnrollment(QueryProjectEnrollmentRequest) returns (QueryProjectEnrollmentResponse) { option (google.api.http) = { - get : "/regen/ecocredit/v1/project/{project_id}/class/{project_id}" + get : "/regen/ecocredit/v1/project/{project_id}/enrollment/{class_id}" }; } - // ProjectClasses queries all credit classes associated with a project. - rpc ProjectClasses(QueryProjectClassesRequest) returns (QueryProjectClassesResponse) { + // ProjectEnrollments queries all credit class enrollments associated with a + // project. + rpc ProjectEnrollments(QueryProjectEnrollmentsRequest) returns (QueryProjectEnrollmentsResponse) { option (google.api.http) = { - get : "/regen/ecocredit/v1/project/{project_id}/class" + get : "/regen/ecocredit/v1/project/{project_id}/enrollment" }; } } @@ -843,10 +845,10 @@ message QueryAllowedBridgeChainsResponse { repeated string allowed_bridge_chains = 1; } -// QueryProjectClassRequest is the Query/ProjectClass request type. +// QueryProjectEnrollmentRequest is the Query/ProjectEnrollment request type. // // Since Revision 3 -message QueryProjectClassRequest { +message QueryProjectEnrollmentRequest { // project_id is the unique identifier of the project to query. string project_id = 1; @@ -855,19 +857,19 @@ message QueryProjectClassRequest { string class_id = 2; } -// QueryProjectClassResponse is the Query/ProjectClass response type. +// QueryProjectEnrollmentResponse is the Query/ProjectEnrollment response type. // // Since Revision 3 -message QueryProjectClassResponse { +message QueryProjectEnrollmentResponse { // project_class is the fetched project class relationship. - ProjectClass project_class = 1; + ProjectEnrollment project_class = 1; } -// QueryProjectClassesRequest is the Query/ProjectClasses request type. +// QueryProjectEnrollmentsRequest is the Query/ProjectEnrollments request type. // // Since Revision 3 -message QueryProjectClassesRequest { +message QueryProjectEnrollmentsRequest { // project_id is the unique identifier of the project to query. string project_id = 1; @@ -875,13 +877,13 @@ message QueryProjectClassesRequest { cosmos.base.query.v1beta1.PageRequest pagination = 2; } -// QueryProjectClassesResponse is the Query/ProjectClasses response type. +// QueryProjectEnrollmentsResponse is the Query/ProjectEnrollments response type. // // Since Revision 3 -message QueryProjectClassesResponse { +message QueryProjectEnrollmentsResponse { - // classes are the fetched credit classes. - repeated ClassInfo classes = 1; + // enrollments are the fetched project credit class enrollments. + repeated ProjectEnrollment enrollments = 1; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 8248363f53..ad2953aa8a 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -388,8 +388,8 @@ message AllowedBridgeChain { string chain_name = 1; } -// ProjectClass stores the data a project - credit class relation. -message ProjectClass { +// ProjectEnrollment stores the data a project's enrollment in a credit class. +message ProjectEnrollment { option (cosmos.orm.v1.table) = { id : 17 primary_key : {fields : "project_key,class_key"} @@ -404,8 +404,8 @@ message ProjectClass { // for efficient lookups. uint64 class_key = 3; - // status is the status of the relation. - ProjectClassStatus status = 4; + // status is the status of the enrollment. + ProjectEnrollmentStatus status = 4; // project_metadata is any arbitrary metadata set by the project // admin. This should primarily be used to store metadata regarding the project's @@ -420,24 +420,28 @@ message ProjectClass { // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -enum ProjectClassStatus { - // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application +enum ProjectEnrollmentStatus { + // PROJECT_ENROLLMENT_STATUS_UNSPECIFIED indicates that a credit class application // has been submitted but not evaluated. - PROJECT_CLASS_STATUS_UNSPECIFIED = 0; + PROJECT_ENROLLMENT_STATUS_UNSPECIFIED = 0; - // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + // PROJECT_ENROLLMENT_STATUS_ACCEPTED indicates that the project has been // accepted into the credit class. - PROJECT_CLASS_STATUS_ACCEPTED = 1; + PROJECT_ENROLLMENT_STATUS_ACCEPTED = 1; - // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + // PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED indicates that an application to // a credit class has been reviewed and that changes to the application have // been requested. It can also be used to indicate that a project within a credit // class has had its status reassessed and that changes to the project are // requested in order to continue in the credit class. - PROJECT_CLASS_STATUS_CHANGES_REQUESTED = 2; + PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED = 2; - // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be accepted into the credit class - // or that a project previously accepted has been removed from the credit class. - PROJECT_CLASS_STATUS_REJECTED = 3; + // PROJECT_ENROLLMENT_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class. + PROJECT_ENROLLMENT_STATUS_REJECTED = 3; + + // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been + // terminated from the credit class. This status is used when a project was + // in the credit class but has been removed or completed. + PROJECT_ENROLLMENT_STATUS_TERMINATED = 4; } diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index ea89d64149..bb78493e5e 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -35,7 +35,7 @@ service Msg { rpc CreateUnregisteredProject(MsgCreateUnregisteredProject) returns (MsgCreateUnregisteredProjectResponse); - // UpdateProjectClass creates a new project credit class application, updates + // UpdateProjectEnrollment creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. // A project may be enrolled in at most one credit class per credit type // but can be enrolled in multiple credit classes across different credit @@ -46,15 +46,15 @@ service Msg { // to "changes requested". // // Since Revision 3 - rpc UpdateProjectClass(MsgUpdateProjectClass) - returns (MsgUpdateProjectClassResponse); + rpc UpdateProjectEnrollment(MsgUpdateProjectEnrollment) + returns (MsgUpdateProjectEnrollmentResponse); - // WithdrawProjectClass withdraws a project from a credit class application + // WithdrawProjectEnrollment withdraws a project from a credit class application // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 - rpc WithdrawProjectClass(MsgWithdrawProjectClass) - returns (MsgWithdrawProjectClassResponse); + rpc WithdrawProjectEnrollment(MsgWithdrawProjectEnrollment) + returns (MsgWithdrawProjectEnrollmentResponse); // EvaluateProjectClass allows a credit class issuer to evaluate a project // application or existing relationship, either approving, requesting changes to, or @@ -67,8 +67,8 @@ service Msg { // application the CreateProject method should be used instead. // // Since Revision 3 - rpc EvaluateProjectClass(MsgEvaluateProjectClass) - returns (MsgEvaluateProjectClassResponse); + rpc EvaluateProjectEnrollment(MsgEvaluateProjectEnrollment) + returns (MsgEvaluateProjectEnrollmentResponse); // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to @@ -347,8 +347,8 @@ message MsgCreateUnregisteredProjectResponse { string project_id = 1; } -// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. -message MsgUpdateProjectClass { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +message MsgUpdateProjectEnrollment { option (cosmos.msg.v1.signer) = "project_admin"; // project_admin is the address of the account that is the admin of the @@ -369,11 +369,11 @@ message MsgUpdateProjectClass { string metadata = 4; } -// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. -message MsgUpdateProjectClassResponse {} +// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. +message MsgUpdateProjectEnrollmentResponse {} -// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. -message MsgWithdrawProjectClass { +// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. +message MsgWithdrawProjectEnrollment { option (cosmos.msg.v1.signer) = "project_admin"; // project_admin is the address of the account that is the admin of the @@ -389,11 +389,11 @@ message MsgWithdrawProjectClass { string metadata = 3; } -// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. -message MsgWithdrawProjectClassResponse {} +// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. +message MsgWithdrawProjectEnrollmentResponse {} -// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. -message MsgEvaluateProjectClass { +// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. +message MsgEvaluateProjectEnrollment { option (cosmos.msg.v1.signer) = "issuer"; // issuer is the address of the account that is the issuer of the credit class @@ -404,7 +404,7 @@ message MsgEvaluateProjectClass { uint64 application_id = 2; // evaluation is the evaluation of the application. - ProjectClassStatus evaluation = 3; + ProjectEnrollmentStatus evaluation = 3; // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes @@ -412,8 +412,8 @@ message MsgEvaluateProjectClass { string metadata = 4; } -// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. -message MsgEvaluateProjectClassResponse {} +// MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. +message MsgEvaluateProjectEnrollmentResponse {} // MsgCreateBatch is the Msg/CreateBatch request type. message MsgCreateBatch { From d13c13cee52057b2ddae8063154505dced8b2a01 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 12:26:36 -0500 Subject: [PATCH 014/112] proto-gen --- api/regen/ecocredit/v1/events.pulsar.go | 178 +- api/regen/ecocredit/v1/query.pulsar.go | 1495 +++++++-------- api/regen/ecocredit/v1/query_grpc.pb.go | 72 +- api/regen/ecocredit/v1/state.cosmos_orm.go | 122 +- api/regen/ecocredit/v1/state.pulsar.go | 411 ++-- api/regen/ecocredit/v1/tx.pulsar.go | 2019 ++++++++++---------- api/regen/ecocredit/v1/tx_grpc.pb.go | 110 +- x/ecocredit/base/types/v1/events.pb.go | 159 +- x/ecocredit/base/types/v1/query.pb.go | 615 +++--- x/ecocredit/base/types/v1/query.pb.gw.go | 96 +- x/ecocredit/base/types/v1/state.pb.go | 296 +-- x/ecocredit/base/types/v1/tx.pb.go | 683 +++---- 12 files changed, 3187 insertions(+), 3069 deletions(-) diff --git a/api/regen/ecocredit/v1/events.pulsar.go b/api/regen/ecocredit/v1/events.pulsar.go index 954d1723b1..4d72a6cbaa 100644 --- a/api/regen/ecocredit/v1/events.pulsar.go +++ b/api/regen/ecocredit/v1/events.pulsar.go @@ -10189,6 +10189,7 @@ var ( md_EventWithdrawProjectClass protoreflect.MessageDescriptor fd_EventWithdrawProjectClass_project_id protoreflect.FieldDescriptor fd_EventWithdrawProjectClass_class_id protoreflect.FieldDescriptor + fd_EventWithdrawProjectClass_old_status protoreflect.FieldDescriptor ) func init() { @@ -10196,6 +10197,7 @@ func init() { md_EventWithdrawProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventWithdrawProjectClass") fd_EventWithdrawProjectClass_project_id = md_EventWithdrawProjectClass.Fields().ByName("project_id") fd_EventWithdrawProjectClass_class_id = md_EventWithdrawProjectClass.Fields().ByName("class_id") + fd_EventWithdrawProjectClass_old_status = md_EventWithdrawProjectClass.Fields().ByName("old_status") } var _ protoreflect.Message = (*fastReflection_EventWithdrawProjectClass)(nil) @@ -10275,6 +10277,12 @@ func (x *fastReflection_EventWithdrawProjectClass) Range(f func(protoreflect.Fie return } } + if x.OldStatus != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.OldStatus)) + if !f(fd_EventWithdrawProjectClass_old_status, value) { + return + } + } } // Has reports whether a field is populated. @@ -10294,6 +10302,8 @@ func (x *fastReflection_EventWithdrawProjectClass) Has(fd protoreflect.FieldDesc return x.ProjectId != "" case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": return x.ClassId != "" + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + return x.OldStatus != 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10314,6 +10324,8 @@ func (x *fastReflection_EventWithdrawProjectClass) Clear(fd protoreflect.FieldDe x.ProjectId = "" case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": x.ClassId = "" + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + x.OldStatus = 0 default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10336,6 +10348,9 @@ func (x *fastReflection_EventWithdrawProjectClass) Get(descriptor protoreflect.F case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": value := x.ClassId return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + value := x.OldStatus + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10360,6 +10375,8 @@ func (x *fastReflection_EventWithdrawProjectClass) Set(fd protoreflect.FieldDesc x.ProjectId = value.Interface().(string) case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + x.OldStatus = (ProjectEnrollmentStatus)(value.Enum()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10384,6 +10401,8 @@ func (x *fastReflection_EventWithdrawProjectClass) Mutable(fd protoreflect.Field panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + panic(fmt.Errorf("field old_status of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10401,6 +10420,8 @@ func (x *fastReflection_EventWithdrawProjectClass) NewField(fd protoreflect.Fiel return protoreflect.ValueOfString("") case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + return protoreflect.ValueOfEnum(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) @@ -10478,6 +10499,9 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.OldStatus != 0 { + n += 1 + runtime.Sov(uint64(x.OldStatus)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -10507,6 +10531,11 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.OldStatus != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.OldStatus)) + i-- + dAtA[i] = 0x18 + } if len(x.ClassId) > 0 { i -= len(x.ClassId) copy(dAtA[i:], x.ClassId) @@ -10634,6 +10663,25 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me } x.ClassId = 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 OldStatus", wireType) + } + x.OldStatus = 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.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10907,9 +10955,9 @@ func (x *fastReflection_EventEvaluateProjectClass) Set(fd protoreflect.FieldDesc case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": x.ClassId = value.Interface().(string) case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": - x.OldStatus = (ProjectClassStatus)(value.Enum()) + x.OldStatus = (ProjectEnrollmentStatus)(value.Enum()) case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": - x.NewStatus = (ProjectClassStatus)(value.Enum()) + x.NewStatus = (ProjectEnrollmentStatus)(value.Enum()) case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": x.NewClassMetadata = value.Interface().(string) default: @@ -11286,7 +11334,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me } b := dAtA[iNdEx] iNdEx++ - x.OldStatus |= ProjectClassStatus(b&0x7F) << shift + x.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -11305,7 +11353,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me } b := dAtA[iNdEx] iNdEx++ - x.NewStatus |= ProjectClassStatus(b&0x7F) << shift + x.NewStatus |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -12434,6 +12482,8 @@ type EventWithdrawProjectClass struct { ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // class_id is the unique identifier of the class that was withdrawn from. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // old_status is the old status of the project class relationship before withdrawal. + OldStatus ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` } func (x *EventWithdrawProjectClass) Reset() { @@ -12470,6 +12520,13 @@ func (x *EventWithdrawProjectClass) GetClassId() string { return "" } +func (x *EventWithdrawProjectClass) GetOldStatus() ProjectEnrollmentStatus { + if x != nil { + return x.OldStatus + } + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED +} + // EventEvaluateProjectClass is emitted when a project class relationship is // evaluated by a credit class issuer. type EventEvaluateProjectClass struct { @@ -12486,9 +12543,9 @@ type EventEvaluateProjectClass struct { // evaluated. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // old_status is the old status of the project class relationship. - OldStatus ProjectClassStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"old_status,omitempty"` + OldStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` // new_status is the new status of the project class relationship. - NewStatus ProjectClassStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"new_status,omitempty"` + NewStatus ProjectEnrollmentStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` // new_class_metadata is any new class metadata. NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` } @@ -12534,18 +12591,18 @@ func (x *EventEvaluateProjectClass) GetClassId() string { return "" } -func (x *EventEvaluateProjectClass) GetOldStatus() ProjectClassStatus { +func (x *EventEvaluateProjectClass) GetOldStatus() ProjectEnrollmentStatus { if x != nil { return x.OldStatus } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *EventEvaluateProjectClass) GetNewStatus() ProjectClassStatus { +func (x *EventEvaluateProjectClass) GetNewStatus() ProjectEnrollmentStatus { if x != nil { return x.NewStatus } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } func (x *EventEvaluateProjectClass) GetNewClassMetadata() string { @@ -12686,45 +12743,51 @@ var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ 0x73, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 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, 0x22, 0xa9, 0x02, 0x0a, - 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 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, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0a, - 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, - 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xd9, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, - 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 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, 0x4a, 0x0a, + 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, + 0x6f, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x19, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, + 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, + 0xd9, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -12764,19 +12827,20 @@ var file_regen_ecocredit_v1_events_proto_goTypes = []interface{}{ (*EventWithdrawProjectClass)(nil), // 20: regen.ecocredit.v1.EventWithdrawProjectClass (*EventEvaluateProjectClass)(nil), // 21: regen.ecocredit.v1.EventEvaluateProjectClass (*OriginTx)(nil), // 22: regen.ecocredit.v1.OriginTx - (ProjectClassStatus)(0), // 23: regen.ecocredit.v1.ProjectClassStatus + (ProjectEnrollmentStatus)(0), // 23: regen.ecocredit.v1.ProjectEnrollmentStatus } var file_regen_ecocredit_v1_events_proto_depIdxs = []int32{ 22, // 0: regen.ecocredit.v1.EventCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx 22, // 1: regen.ecocredit.v1.EventMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx 22, // 2: regen.ecocredit.v1.EventBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 23, // 3: regen.ecocredit.v1.EventEvaluateProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectClassStatus - 23, // 4: regen.ecocredit.v1.EventEvaluateProjectClass.new_status:type_name -> regen.ecocredit.v1.ProjectClassStatus - 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 + 23, // 3: regen.ecocredit.v1.EventWithdrawProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 23, // 4: regen.ecocredit.v1.EventEvaluateProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 23, // 5: regen.ecocredit.v1.EventEvaluateProjectClass.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 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_v1_events_proto_init() } diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index a3c9fcf586..f15d80e300 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -28021,27 +28022,27 @@ func (x *fastReflection_QueryAllowedBridgeChainsResponse) ProtoMethods() *protoi } var ( - md_QueryProjectClassRequest protoreflect.MessageDescriptor - fd_QueryProjectClassRequest_project_id protoreflect.FieldDescriptor - fd_QueryProjectClassRequest_class_id protoreflect.FieldDescriptor + md_QueryProjectEnrollmentRequest protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectEnrollmentRequest_class_id protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() - md_QueryProjectClassRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassRequest") - fd_QueryProjectClassRequest_project_id = md_QueryProjectClassRequest.Fields().ByName("project_id") - fd_QueryProjectClassRequest_class_id = md_QueryProjectClassRequest.Fields().ByName("class_id") + md_QueryProjectEnrollmentRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentRequest") + fd_QueryProjectEnrollmentRequest_project_id = md_QueryProjectEnrollmentRequest.Fields().ByName("project_id") + fd_QueryProjectEnrollmentRequest_class_id = md_QueryProjectEnrollmentRequest.Fields().ByName("class_id") } -var _ protoreflect.Message = (*fastReflection_QueryProjectClassRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentRequest)(nil) -type fastReflection_QueryProjectClassRequest QueryProjectClassRequest +type fastReflection_QueryProjectEnrollmentRequest QueryProjectEnrollmentRequest -func (x *QueryProjectClassRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryProjectClassRequest)(x) +func (x *QueryProjectEnrollmentRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentRequest)(x) } -func (x *QueryProjectClassRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryProjectEnrollmentRequest) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -28053,43 +28054,43 @@ func (x *QueryProjectClassRequest) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryProjectClassRequest_messageType fastReflection_QueryProjectClassRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryProjectClassRequest_messageType{} +var _fastReflection_QueryProjectEnrollmentRequest_messageType fastReflection_QueryProjectEnrollmentRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectEnrollmentRequest_messageType{} -type fastReflection_QueryProjectClassRequest_messageType struct{} +type fastReflection_QueryProjectEnrollmentRequest_messageType struct{} -func (x fastReflection_QueryProjectClassRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryProjectClassRequest)(nil) +func (x fastReflection_QueryProjectEnrollmentRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentRequest)(nil) } -func (x fastReflection_QueryProjectClassRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassRequest) +func (x fastReflection_QueryProjectEnrollmentRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentRequest) } -func (x fastReflection_QueryProjectClassRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassRequest +func (x fastReflection_QueryProjectEnrollmentRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryProjectClassRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassRequest +func (x *fastReflection_QueryProjectEnrollmentRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentRequest } // 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_QueryProjectClassRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryProjectClassRequest_messageType +func (x *fastReflection_QueryProjectEnrollmentRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectEnrollmentRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryProjectClassRequest) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassRequest) +func (x *fastReflection_QueryProjectEnrollmentRequest) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryProjectClassRequest) Interface() protoreflect.ProtoMessage { - return (*QueryProjectClassRequest)(x) +func (x *fastReflection_QueryProjectEnrollmentRequest) Interface() protoreflect.ProtoMessage { + return (*QueryProjectEnrollmentRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -28097,16 +28098,16 @@ func (x *fastReflection_QueryProjectClassRequest) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryProjectClassRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryProjectEnrollmentRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_QueryProjectClassRequest_project_id, value) { + if !f(fd_QueryProjectEnrollmentRequest_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_QueryProjectClassRequest_class_id, value) { + if !f(fd_QueryProjectEnrollmentRequest_class_id, value) { return } } @@ -28123,17 +28124,17 @@ func (x *fastReflection_QueryProjectClassRequest) Range(f func(protoreflect.Fiel // 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_QueryProjectClassRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryProjectEnrollmentRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": return x.ClassId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest does not contain field %s", fd.FullName())) } } @@ -28143,17 +28144,17 @@ func (x *fastReflection_QueryProjectClassRequest) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryProjectEnrollmentRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": x.ClassId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest does not contain field %s", fd.FullName())) } } @@ -28163,19 +28164,19 @@ func (x *fastReflection_QueryProjectClassRequest) Clear(fd protoreflect.FieldDes // 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_QueryProjectClassRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": value := x.ClassId return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest does not contain field %s", descriptor.FullName())) } } @@ -28189,17 +28190,17 @@ func (x *fastReflection_QueryProjectClassRequest) Get(descriptor protoreflect.Fi // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryProjectEnrollmentRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": x.ClassId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest does not contain field %s", fd.FullName())) } } @@ -28213,44 +28214,44 @@ func (x *fastReflection_QueryProjectClassRequest) Set(fd protoreflect.FieldDescr // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectClassRequest is not mutable")) - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.QueryProjectClassRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectEnrollmentRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.QueryProjectEnrollmentRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest 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_QueryProjectClassRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.QueryProjectClassRequest.class_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentRequest.class_id": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentRequest 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_QueryProjectClassRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryProjectEnrollmentRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectEnrollmentRequest", d.FullName())) } panic("unreachable") } @@ -28258,7 +28259,7 @@ func (x *fastReflection_QueryProjectClassRequest) WhichOneof(d protoreflect.Oneo // 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_QueryProjectClassRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryProjectEnrollmentRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -28269,7 +28270,7 @@ func (x *fastReflection_QueryProjectClassRequest) GetUnknown() protoreflect.RawF // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryProjectEnrollmentRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -28281,7 +28282,7 @@ func (x *fastReflection_QueryProjectClassRequest) SetUnknown(fields protoreflect // 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_QueryProjectClassRequest) IsValid() bool { +func (x *fastReflection_QueryProjectEnrollmentRequest) IsValid() bool { return x != nil } @@ -28291,9 +28292,9 @@ func (x *fastReflection_QueryProjectClassRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryProjectClassRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryProjectEnrollmentRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryProjectClassRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28323,7 +28324,7 @@ func (x *fastReflection_QueryProjectClassRequest) ProtoMethods() *protoiface.Met } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28367,7 +28368,7 @@ func (x *fastReflection_QueryProjectClassRequest) ProtoMethods() *protoiface.Met }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28399,10 +28400,10 @@ func (x *fastReflection_QueryProjectClassRequest) ProtoMethods() *protoiface.Met fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28505,25 +28506,25 @@ func (x *fastReflection_QueryProjectClassRequest) ProtoMethods() *protoiface.Met } var ( - md_QueryProjectClassResponse protoreflect.MessageDescriptor - fd_QueryProjectClassResponse_project_class protoreflect.FieldDescriptor + md_QueryProjectEnrollmentResponse protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentResponse_project_class protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() - md_QueryProjectClassResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassResponse") - fd_QueryProjectClassResponse_project_class = md_QueryProjectClassResponse.Fields().ByName("project_class") + md_QueryProjectEnrollmentResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentResponse") + fd_QueryProjectEnrollmentResponse_project_class = md_QueryProjectEnrollmentResponse.Fields().ByName("project_class") } -var _ protoreflect.Message = (*fastReflection_QueryProjectClassResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentResponse)(nil) -type fastReflection_QueryProjectClassResponse QueryProjectClassResponse +type fastReflection_QueryProjectEnrollmentResponse QueryProjectEnrollmentResponse -func (x *QueryProjectClassResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryProjectClassResponse)(x) +func (x *QueryProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentResponse)(x) } -func (x *QueryProjectClassResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -28535,43 +28536,43 @@ func (x *QueryProjectClassResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryProjectClassResponse_messageType fastReflection_QueryProjectClassResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryProjectClassResponse_messageType{} +var _fastReflection_QueryProjectEnrollmentResponse_messageType fastReflection_QueryProjectEnrollmentResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectEnrollmentResponse_messageType{} -type fastReflection_QueryProjectClassResponse_messageType struct{} +type fastReflection_QueryProjectEnrollmentResponse_messageType struct{} -func (x fastReflection_QueryProjectClassResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryProjectClassResponse)(nil) +func (x fastReflection_QueryProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentResponse)(nil) } -func (x fastReflection_QueryProjectClassResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassResponse) +func (x fastReflection_QueryProjectEnrollmentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentResponse) } -func (x fastReflection_QueryProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassResponse +func (x fastReflection_QueryProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassResponse +func (x *fastReflection_QueryProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentResponse } // 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_QueryProjectClassResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryProjectClassResponse_messageType +func (x *fastReflection_QueryProjectEnrollmentResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectEnrollmentResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryProjectClassResponse) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassResponse) +func (x *fastReflection_QueryProjectEnrollmentResponse) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryProjectClassResponse) Interface() protoreflect.ProtoMessage { - return (*QueryProjectClassResponse)(x) +func (x *fastReflection_QueryProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { + return (*QueryProjectEnrollmentResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -28579,10 +28580,10 @@ func (x *fastReflection_QueryProjectClassResponse) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectClass != nil { value := protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) - if !f(fd_QueryProjectClassResponse_project_class, value) { + if !f(fd_QueryProjectEnrollmentResponse_project_class, value) { return } } @@ -28599,15 +28600,15 @@ func (x *fastReflection_QueryProjectClassResponse) Range(f func(protoreflect.Fie // 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_QueryProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": return x.ProjectClass != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -28617,15 +28618,15 @@ func (x *fastReflection_QueryProjectClassResponse) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": x.ProjectClass = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -28635,16 +28636,16 @@ func (x *fastReflection_QueryProjectClassResponse) Clear(fd protoreflect.FieldDe // 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_QueryProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": value := x.ProjectClass return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) } } @@ -28658,15 +28659,15 @@ func (x *fastReflection_QueryProjectClassResponse) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": - x.ProjectClass = value.Message().Interface().(*ProjectClass) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": + x.ProjectClass = value.Message().Interface().(*ProjectEnrollment) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -28680,44 +28681,44 @@ func (x *fastReflection_QueryProjectClassResponse) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": if x.ProjectClass == nil { - x.ProjectClass = new(ProjectClass) + x.ProjectClass = new(ProjectEnrollment) } return protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse 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_QueryProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassResponse.project_class": - m := new(ProjectClass) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": + m := new(ProjectEnrollment) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentResponse 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_QueryProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectEnrollmentResponse", d.FullName())) } panic("unreachable") } @@ -28725,7 +28726,7 @@ func (x *fastReflection_QueryProjectClassResponse) WhichOneof(d protoreflect.One // 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_QueryProjectClassResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -28736,7 +28737,7 @@ func (x *fastReflection_QueryProjectClassResponse) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -28748,7 +28749,7 @@ func (x *fastReflection_QueryProjectClassResponse) SetUnknown(fields protoreflec // 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_QueryProjectClassResponse) IsValid() bool { +func (x *fastReflection_QueryProjectEnrollmentResponse) IsValid() bool { return x != nil } @@ -28758,9 +28759,9 @@ func (x *fastReflection_QueryProjectClassResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryProjectClassResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28786,7 +28787,7 @@ func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28830,7 +28831,7 @@ func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28862,10 +28863,10 @@ func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -28898,7 +28899,7 @@ func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Me return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if x.ProjectClass == nil { - x.ProjectClass = &ProjectClass{} + x.ProjectClass = &ProjectEnrollment{} } if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProjectClass); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err @@ -28940,27 +28941,27 @@ func (x *fastReflection_QueryProjectClassResponse) ProtoMethods() *protoiface.Me } var ( - md_QueryProjectClassesRequest protoreflect.MessageDescriptor - fd_QueryProjectClassesRequest_project_id protoreflect.FieldDescriptor - fd_QueryProjectClassesRequest_pagination protoreflect.FieldDescriptor + md_QueryProjectEnrollmentsRequest protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentsRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectEnrollmentsRequest_pagination protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() - md_QueryProjectClassesRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassesRequest") - fd_QueryProjectClassesRequest_project_id = md_QueryProjectClassesRequest.Fields().ByName("project_id") - fd_QueryProjectClassesRequest_pagination = md_QueryProjectClassesRequest.Fields().ByName("pagination") + md_QueryProjectEnrollmentsRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentsRequest") + fd_QueryProjectEnrollmentsRequest_project_id = md_QueryProjectEnrollmentsRequest.Fields().ByName("project_id") + fd_QueryProjectEnrollmentsRequest_pagination = md_QueryProjectEnrollmentsRequest.Fields().ByName("pagination") } -var _ protoreflect.Message = (*fastReflection_QueryProjectClassesRequest)(nil) +var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentsRequest)(nil) -type fastReflection_QueryProjectClassesRequest QueryProjectClassesRequest +type fastReflection_QueryProjectEnrollmentsRequest QueryProjectEnrollmentsRequest -func (x *QueryProjectClassesRequest) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryProjectClassesRequest)(x) +func (x *QueryProjectEnrollmentsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentsRequest)(x) } -func (x *QueryProjectClassesRequest) slowProtoReflect() protoreflect.Message { +func (x *QueryProjectEnrollmentsRequest) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -28972,43 +28973,43 @@ func (x *QueryProjectClassesRequest) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryProjectClassesRequest_messageType fastReflection_QueryProjectClassesRequest_messageType -var _ protoreflect.MessageType = fastReflection_QueryProjectClassesRequest_messageType{} +var _fastReflection_QueryProjectEnrollmentsRequest_messageType fastReflection_QueryProjectEnrollmentsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectEnrollmentsRequest_messageType{} -type fastReflection_QueryProjectClassesRequest_messageType struct{} +type fastReflection_QueryProjectEnrollmentsRequest_messageType struct{} -func (x fastReflection_QueryProjectClassesRequest_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryProjectClassesRequest)(nil) +func (x fastReflection_QueryProjectEnrollmentsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentsRequest)(nil) } -func (x fastReflection_QueryProjectClassesRequest_messageType) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassesRequest) +func (x fastReflection_QueryProjectEnrollmentsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentsRequest) } -func (x fastReflection_QueryProjectClassesRequest_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassesRequest +func (x fastReflection_QueryProjectEnrollmentsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentsRequest } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryProjectClassesRequest) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassesRequest +func (x *fastReflection_QueryProjectEnrollmentsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentsRequest } // 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_QueryProjectClassesRequest) Type() protoreflect.MessageType { - return _fastReflection_QueryProjectClassesRequest_messageType +func (x *fastReflection_QueryProjectEnrollmentsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectEnrollmentsRequest_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryProjectClassesRequest) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassesRequest) +func (x *fastReflection_QueryProjectEnrollmentsRequest) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentsRequest) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryProjectClassesRequest) Interface() protoreflect.ProtoMessage { - return (*QueryProjectClassesRequest)(x) +func (x *fastReflection_QueryProjectEnrollmentsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryProjectEnrollmentsRequest)(x) } // Range iterates over every populated field in an undefined order, @@ -29016,16 +29017,16 @@ func (x *fastReflection_QueryProjectClassesRequest) Interface() protoreflect.Pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryProjectClassesRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_QueryProjectClassesRequest_project_id, value) { + if !f(fd_QueryProjectEnrollmentsRequest_project_id, value) { return } } if x.Pagination != nil { value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - if !f(fd_QueryProjectClassesRequest_pagination, value) { + if !f(fd_QueryProjectEnrollmentsRequest_pagination, value) { return } } @@ -29042,17 +29043,17 @@ func (x *fastReflection_QueryProjectClassesRequest) Range(f func(protoreflect.Fi // 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_QueryProjectClassesRequest) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": return x.Pagination != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest does not contain field %s", fd.FullName())) } } @@ -29062,17 +29063,17 @@ func (x *fastReflection_QueryProjectClassesRequest) Has(fd protoreflect.FieldDes // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesRequest) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest does not contain field %s", fd.FullName())) } } @@ -29082,19 +29083,19 @@ func (x *fastReflection_QueryProjectClassesRequest) Clear(fd protoreflect.FieldD // 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_QueryProjectClassesRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": value := x.Pagination return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest does not contain field %s", descriptor.FullName())) } } @@ -29108,17 +29109,17 @@ func (x *fastReflection_QueryProjectClassesRequest) Get(descriptor protoreflect. // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest does not contain field %s", fd.FullName())) } } @@ -29132,48 +29133,48 @@ func (x *fastReflection_QueryProjectClassesRequest) Set(fd protoreflect.FieldDes // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": if x.Pagination == nil { x.Pagination = new(v1beta1.PageRequest) } return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectClassesRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectEnrollmentsRequest is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest 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_QueryProjectClassesRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesRequest.project_id": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.QueryProjectClassesRequest.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": m := new(v1beta1.PageRequest) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesRequest")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesRequest does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsRequest 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_QueryProjectClassesRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryProjectEnrollmentsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassesRequest", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectEnrollmentsRequest", d.FullName())) } panic("unreachable") } @@ -29181,7 +29182,7 @@ func (x *fastReflection_QueryProjectClassesRequest) WhichOneof(d protoreflect.On // 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_QueryProjectClassesRequest) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryProjectEnrollmentsRequest) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -29192,7 +29193,7 @@ func (x *fastReflection_QueryProjectClassesRequest) GetUnknown() protoreflect.Ra // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesRequest) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryProjectEnrollmentsRequest) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -29204,7 +29205,7 @@ func (x *fastReflection_QueryProjectClassesRequest) SetUnknown(fields protorefle // 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_QueryProjectClassesRequest) IsValid() bool { +func (x *fastReflection_QueryProjectEnrollmentsRequest) IsValid() bool { return x != nil } @@ -29214,9 +29215,9 @@ func (x *fastReflection_QueryProjectClassesRequest) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryProjectClassesRequest) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryProjectClassesRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentsRequest) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29246,7 +29247,7 @@ func (x *fastReflection_QueryProjectClassesRequest) ProtoMethods() *protoiface.M } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassesRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentsRequest) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29297,7 +29298,7 @@ func (x *fastReflection_QueryProjectClassesRequest) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassesRequest) + x := input.Message.Interface().(*QueryProjectEnrollmentsRequest) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29329,10 +29330,10 @@ func (x *fastReflection_QueryProjectClassesRequest) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesRequest: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -29438,79 +29439,79 @@ func (x *fastReflection_QueryProjectClassesRequest) ProtoMethods() *protoiface.M } } -var _ protoreflect.List = (*_QueryProjectClassesResponse_1_list)(nil) +var _ protoreflect.List = (*_QueryProjectEnrollmentsResponse_1_list)(nil) -type _QueryProjectClassesResponse_1_list struct { - list *[]*ClassInfo +type _QueryProjectEnrollmentsResponse_1_list struct { + list *[]*ProjectEnrollment } -func (x *_QueryProjectClassesResponse_1_list) Len() int { +func (x *_QueryProjectEnrollmentsResponse_1_list) Len() int { if x.list == nil { return 0 } return len(*x.list) } -func (x *_QueryProjectClassesResponse_1_list) Get(i int) protoreflect.Value { +func (x *_QueryProjectEnrollmentsResponse_1_list) Get(i int) protoreflect.Value { return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) } -func (x *_QueryProjectClassesResponse_1_list) Set(i int, value protoreflect.Value) { +func (x *_QueryProjectEnrollmentsResponse_1_list) Set(i int, value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ClassInfo) + concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) (*x.list)[i] = concreteValue } -func (x *_QueryProjectClassesResponse_1_list) Append(value protoreflect.Value) { +func (x *_QueryProjectEnrollmentsResponse_1_list) Append(value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ClassInfo) + concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) *x.list = append(*x.list, concreteValue) } -func (x *_QueryProjectClassesResponse_1_list) AppendMutable() protoreflect.Value { - v := new(ClassInfo) +func (x *_QueryProjectEnrollmentsResponse_1_list) AppendMutable() protoreflect.Value { + v := new(ProjectEnrollment) *x.list = append(*x.list, v) return protoreflect.ValueOfMessage(v.ProtoReflect()) } -func (x *_QueryProjectClassesResponse_1_list) Truncate(n int) { +func (x *_QueryProjectEnrollmentsResponse_1_list) Truncate(n int) { for i := n; i < len(*x.list); i++ { (*x.list)[i] = nil } *x.list = (*x.list)[:n] } -func (x *_QueryProjectClassesResponse_1_list) NewElement() protoreflect.Value { - v := new(ClassInfo) +func (x *_QueryProjectEnrollmentsResponse_1_list) NewElement() protoreflect.Value { + v := new(ProjectEnrollment) return protoreflect.ValueOfMessage(v.ProtoReflect()) } -func (x *_QueryProjectClassesResponse_1_list) IsValid() bool { +func (x *_QueryProjectEnrollmentsResponse_1_list) IsValid() bool { return x.list != nil } var ( - md_QueryProjectClassesResponse protoreflect.MessageDescriptor - fd_QueryProjectClassesResponse_classes protoreflect.FieldDescriptor - fd_QueryProjectClassesResponse_pagination protoreflect.FieldDescriptor + md_QueryProjectEnrollmentsResponse protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentsResponse_enrollments protoreflect.FieldDescriptor + fd_QueryProjectEnrollmentsResponse_pagination protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() - md_QueryProjectClassesResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectClassesResponse") - fd_QueryProjectClassesResponse_classes = md_QueryProjectClassesResponse.Fields().ByName("classes") - fd_QueryProjectClassesResponse_pagination = md_QueryProjectClassesResponse.Fields().ByName("pagination") + md_QueryProjectEnrollmentsResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentsResponse") + fd_QueryProjectEnrollmentsResponse_enrollments = md_QueryProjectEnrollmentsResponse.Fields().ByName("enrollments") + fd_QueryProjectEnrollmentsResponse_pagination = md_QueryProjectEnrollmentsResponse.Fields().ByName("pagination") } -var _ protoreflect.Message = (*fastReflection_QueryProjectClassesResponse)(nil) +var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentsResponse)(nil) -type fastReflection_QueryProjectClassesResponse QueryProjectClassesResponse +type fastReflection_QueryProjectEnrollmentsResponse QueryProjectEnrollmentsResponse -func (x *QueryProjectClassesResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_QueryProjectClassesResponse)(x) +func (x *QueryProjectEnrollmentsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentsResponse)(x) } -func (x *QueryProjectClassesResponse) slowProtoReflect() protoreflect.Message { +func (x *QueryProjectEnrollmentsResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29522,43 +29523,43 @@ func (x *QueryProjectClassesResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_QueryProjectClassesResponse_messageType fastReflection_QueryProjectClassesResponse_messageType -var _ protoreflect.MessageType = fastReflection_QueryProjectClassesResponse_messageType{} +var _fastReflection_QueryProjectEnrollmentsResponse_messageType fastReflection_QueryProjectEnrollmentsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryProjectEnrollmentsResponse_messageType{} -type fastReflection_QueryProjectClassesResponse_messageType struct{} +type fastReflection_QueryProjectEnrollmentsResponse_messageType struct{} -func (x fastReflection_QueryProjectClassesResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_QueryProjectClassesResponse)(nil) +func (x fastReflection_QueryProjectEnrollmentsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryProjectEnrollmentsResponse)(nil) } -func (x fastReflection_QueryProjectClassesResponse_messageType) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassesResponse) +func (x fastReflection_QueryProjectEnrollmentsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentsResponse) } -func (x fastReflection_QueryProjectClassesResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassesResponse +func (x fastReflection_QueryProjectEnrollmentsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentsResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_QueryProjectClassesResponse) Descriptor() protoreflect.MessageDescriptor { - return md_QueryProjectClassesResponse +func (x *fastReflection_QueryProjectEnrollmentsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryProjectEnrollmentsResponse } // 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_QueryProjectClassesResponse) Type() protoreflect.MessageType { - return _fastReflection_QueryProjectClassesResponse_messageType +func (x *fastReflection_QueryProjectEnrollmentsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryProjectEnrollmentsResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_QueryProjectClassesResponse) New() protoreflect.Message { - return new(fastReflection_QueryProjectClassesResponse) +func (x *fastReflection_QueryProjectEnrollmentsResponse) New() protoreflect.Message { + return new(fastReflection_QueryProjectEnrollmentsResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_QueryProjectClassesResponse) Interface() protoreflect.ProtoMessage { - return (*QueryProjectClassesResponse)(x) +func (x *fastReflection_QueryProjectEnrollmentsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryProjectEnrollmentsResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -29566,16 +29567,16 @@ func (x *fastReflection_QueryProjectClassesResponse) Interface() protoreflect.Pr // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_QueryProjectClassesResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if len(x.Classes) != 0 { - value := protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{list: &x.Classes}) - if !f(fd_QueryProjectClassesResponse_classes, value) { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Enrollments) != 0 { + value := protoreflect.ValueOfList(&_QueryProjectEnrollmentsResponse_1_list{list: &x.Enrollments}) + if !f(fd_QueryProjectEnrollmentsResponse_enrollments, value) { return } } if x.Pagination != nil { value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) - if !f(fd_QueryProjectClassesResponse_pagination, value) { + if !f(fd_QueryProjectEnrollmentsResponse_pagination, value) { return } } @@ -29592,17 +29593,17 @@ func (x *fastReflection_QueryProjectClassesResponse) Range(f func(protoreflect.F // 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_QueryProjectClassesResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": - return len(x.Classes) != 0 - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": + return len(x.Enrollments) != 0 + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": return x.Pagination != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse does not contain field %s", fd.FullName())) } } @@ -29612,17 +29613,17 @@ func (x *fastReflection_QueryProjectClassesResponse) Has(fd protoreflect.FieldDe // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": - x.Classes = nil - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": + x.Enrollments = nil + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": x.Pagination = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse does not contain field %s", fd.FullName())) } } @@ -29632,22 +29633,22 @@ func (x *fastReflection_QueryProjectClassesResponse) Clear(fd protoreflect.Field // 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_QueryProjectClassesResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": - if len(x.Classes) == 0 { - return protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{}) + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": + if len(x.Enrollments) == 0 { + return protoreflect.ValueOfList(&_QueryProjectEnrollmentsResponse_1_list{}) } - listValue := &_QueryProjectClassesResponse_1_list{list: &x.Classes} + listValue := &_QueryProjectEnrollmentsResponse_1_list{list: &x.Enrollments} return protoreflect.ValueOfList(listValue) - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": value := x.Pagination return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse does not contain field %s", descriptor.FullName())) } } @@ -29661,19 +29662,19 @@ func (x *fastReflection_QueryProjectClassesResponse) Get(descriptor protoreflect // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": lv := value.List() - clv := lv.(*_QueryProjectClassesResponse_1_list) - x.Classes = *clv.list - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + clv := lv.(*_QueryProjectEnrollmentsResponse_1_list) + x.Enrollments = *clv.list + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": x.Pagination = value.Message().Interface().(*v1beta1.PageResponse) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse does not contain field %s", fd.FullName())) } } @@ -29687,53 +29688,53 @@ func (x *fastReflection_QueryProjectClassesResponse) Set(fd protoreflect.FieldDe // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": - if x.Classes == nil { - x.Classes = []*ClassInfo{} + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": + if x.Enrollments == nil { + x.Enrollments = []*ProjectEnrollment{} } - value := &_QueryProjectClassesResponse_1_list{list: &x.Classes} + value := &_QueryProjectEnrollmentsResponse_1_list{list: &x.Enrollments} return protoreflect.ValueOfList(value) - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": if x.Pagination == nil { x.Pagination = new(v1beta1.PageResponse) } return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse 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_QueryProjectClassesResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_QueryProjectEnrollmentsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectClassesResponse.classes": - list := []*ClassInfo{} - return protoreflect.ValueOfList(&_QueryProjectClassesResponse_1_list{list: &list}) - case "regen.ecocredit.v1.QueryProjectClassesResponse.pagination": + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": + list := []*ProjectEnrollment{} + return protoreflect.ValueOfList(&_QueryProjectEnrollmentsResponse_1_list{list: &list}) + case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": m := new(v1beta1.PageResponse) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectClassesResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectClassesResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.QueryProjectEnrollmentsResponse 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_QueryProjectClassesResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_QueryProjectEnrollmentsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectClassesResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.QueryProjectEnrollmentsResponse", d.FullName())) } panic("unreachable") } @@ -29741,7 +29742,7 @@ func (x *fastReflection_QueryProjectClassesResponse) WhichOneof(d protoreflect.O // 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_QueryProjectClassesResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_QueryProjectEnrollmentsResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -29752,7 +29753,7 @@ func (x *fastReflection_QueryProjectClassesResponse) GetUnknown() protoreflect.R // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_QueryProjectClassesResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_QueryProjectEnrollmentsResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -29764,7 +29765,7 @@ func (x *fastReflection_QueryProjectClassesResponse) SetUnknown(fields protorefl // 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_QueryProjectClassesResponse) IsValid() bool { +func (x *fastReflection_QueryProjectEnrollmentsResponse) IsValid() bool { return x != nil } @@ -29774,9 +29775,9 @@ func (x *fastReflection_QueryProjectClassesResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*QueryProjectClassesResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentsResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29788,8 +29789,8 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. var n int var l int _ = l - if len(x.Classes) > 0 { - for _, e := range x.Classes { + if len(x.Enrollments) > 0 { + for _, e := range x.Enrollments { l = options.Size(e) n += 1 + l + runtime.Sov(uint64(l)) } @@ -29808,7 +29809,7 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassesResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentsResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29841,9 +29842,9 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. i-- dAtA[i] = 0x12 } - if len(x.Classes) > 0 { - for iNdEx := len(x.Classes) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.Classes[iNdEx]) + if len(x.Enrollments) > 0 { + for iNdEx := len(x.Enrollments) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Enrollments[iNdEx]) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29868,7 +29869,7 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*QueryProjectClassesResponse) + x := input.Message.Interface().(*QueryProjectEnrollmentsResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29900,15 +29901,15 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectClassesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: 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 Classes", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Enrollments", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29935,8 +29936,8 @@ func (x *fastReflection_QueryProjectClassesResponse) ProtoMethods() *protoiface. if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Classes = append(x.Classes, &ClassInfo{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Classes[len(x.Classes)-1]); err != nil { + x.Enrollments = append(x.Enrollments, &ProjectEnrollment{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollments[len(x.Enrollments)-1]); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -32522,10 +32523,10 @@ func (x *QueryAllowedBridgeChainsResponse) GetAllowedBridgeChains() []string { return nil } -// QueryProjectClassRequest is the Query/ProjectClass request type. +// QueryProjectEnrollmentRequest is the Query/ProjectEnrollment request type. // // Since Revision 3 -type QueryProjectClassRequest struct { +type QueryProjectEnrollmentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -32536,8 +32537,8 @@ type QueryProjectClassRequest struct { ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` } -func (x *QueryProjectClassRequest) Reset() { - *x = QueryProjectClassRequest{} +func (x *QueryProjectEnrollmentRequest) Reset() { + *x = QueryProjectEnrollmentRequest{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -32545,45 +32546,45 @@ func (x *QueryProjectClassRequest) Reset() { } } -func (x *QueryProjectClassRequest) String() string { +func (x *QueryProjectEnrollmentRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryProjectClassRequest) ProtoMessage() {} +func (*QueryProjectEnrollmentRequest) ProtoMessage() {} -// Deprecated: Use QueryProjectClassRequest.ProtoReflect.Descriptor instead. -func (*QueryProjectClassRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use QueryProjectEnrollmentRequest.ProtoReflect.Descriptor instead. +func (*QueryProjectEnrollmentRequest) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{56} } -func (x *QueryProjectClassRequest) GetProjectId() string { +func (x *QueryProjectEnrollmentRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *QueryProjectClassRequest) GetClassId() string { +func (x *QueryProjectEnrollmentRequest) GetClassId() string { if x != nil { return x.ClassId } return "" } -// QueryProjectClassResponse is the Query/ProjectClass response type. +// QueryProjectEnrollmentResponse is the Query/ProjectEnrollment response type. // // Since Revision 3 -type QueryProjectClassResponse struct { +type QueryProjectEnrollmentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // project_class is the fetched project class relationship. - ProjectClass *ProjectClass `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` + ProjectClass *ProjectEnrollment `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` } -func (x *QueryProjectClassResponse) Reset() { - *x = QueryProjectClassResponse{} +func (x *QueryProjectEnrollmentResponse) Reset() { + *x = QueryProjectEnrollmentResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -32591,28 +32592,28 @@ func (x *QueryProjectClassResponse) Reset() { } } -func (x *QueryProjectClassResponse) String() string { +func (x *QueryProjectEnrollmentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryProjectClassResponse) ProtoMessage() {} +func (*QueryProjectEnrollmentResponse) ProtoMessage() {} -// Deprecated: Use QueryProjectClassResponse.ProtoReflect.Descriptor instead. -func (*QueryProjectClassResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use QueryProjectEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*QueryProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{57} } -func (x *QueryProjectClassResponse) GetProjectClass() *ProjectClass { +func (x *QueryProjectEnrollmentResponse) GetProjectClass() *ProjectEnrollment { if x != nil { return x.ProjectClass } return nil } -// QueryProjectClassesRequest is the Query/ProjectClasses request type. +// QueryProjectEnrollmentsRequest is the Query/ProjectEnrollments request type. // // Since Revision 3 -type QueryProjectClassesRequest struct { +type QueryProjectEnrollmentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -32623,8 +32624,8 @@ type QueryProjectClassesRequest struct { Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryProjectClassesRequest) Reset() { - *x = QueryProjectClassesRequest{} +func (x *QueryProjectEnrollmentsRequest) Reset() { + *x = QueryProjectEnrollmentsRequest{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -32632,47 +32633,47 @@ func (x *QueryProjectClassesRequest) Reset() { } } -func (x *QueryProjectClassesRequest) String() string { +func (x *QueryProjectEnrollmentsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryProjectClassesRequest) ProtoMessage() {} +func (*QueryProjectEnrollmentsRequest) ProtoMessage() {} -// Deprecated: Use QueryProjectClassesRequest.ProtoReflect.Descriptor instead. -func (*QueryProjectClassesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use QueryProjectEnrollmentsRequest.ProtoReflect.Descriptor instead. +func (*QueryProjectEnrollmentsRequest) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{58} } -func (x *QueryProjectClassesRequest) GetProjectId() string { +func (x *QueryProjectEnrollmentsRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *QueryProjectClassesRequest) GetPagination() *v1beta1.PageRequest { +func (x *QueryProjectEnrollmentsRequest) GetPagination() *v1beta1.PageRequest { if x != nil { return x.Pagination } return nil } -// QueryProjectClassesResponse is the Query/ProjectClasses response type. +// QueryProjectEnrollmentsResponse is the Query/ProjectEnrollments response type. // // Since Revision 3 -type QueryProjectClassesResponse struct { +type QueryProjectEnrollmentsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // classes are the fetched credit classes. - Classes []*ClassInfo `protobuf:"bytes,1,rep,name=classes,proto3" json:"classes,omitempty"` + // enrollments are the fetched project credit class enrollments. + Enrollments []*ProjectEnrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // pagination defines the pagination in the response. Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (x *QueryProjectClassesResponse) Reset() { - *x = QueryProjectClassesResponse{} +func (x *QueryProjectEnrollmentsResponse) Reset() { + *x = QueryProjectEnrollmentsResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_query_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -32680,25 +32681,25 @@ func (x *QueryProjectClassesResponse) Reset() { } } -func (x *QueryProjectClassesResponse) String() string { +func (x *QueryProjectEnrollmentsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueryProjectClassesResponse) ProtoMessage() {} +func (*QueryProjectEnrollmentsResponse) ProtoMessage() {} -// Deprecated: Use QueryProjectClassesResponse.ProtoReflect.Descriptor instead. -func (*QueryProjectClassesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use QueryProjectEnrollmentsResponse.ProtoReflect.Descriptor instead. +func (*QueryProjectEnrollmentsResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{59} } -func (x *QueryProjectClassesResponse) GetClasses() []*ClassInfo { +func (x *QueryProjectEnrollmentsResponse) GetEnrollments() []*ProjectEnrollment { if x != nil { - return x.Classes + return x.Enrollments } return nil } -func (x *QueryProjectClassesResponse) GetPagination() *v1beta1.PageResponse { +func (x *QueryProjectEnrollmentsResponse) GetPagination() *v1beta1.PageResponse { if x != nil { return x.Pagination } @@ -33129,389 +33130,393 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x22, 0x54, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, + 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 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, 0x22, 0x6c, 0x0a, + 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x22, 0x62, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 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, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x83, 0x01, 0x0a, - 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x9c, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, - 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xbf, 0x2a, 0x0a, 0x05, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, + 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x2c, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2b, 0x12, 0x29, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, + 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, - 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x30, - 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, - 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, - 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, - 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x3a, 0x12, - 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x50, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, + 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, - 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, + 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, + 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x7d, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, + 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, + 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, + 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2c, + 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, + 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x28, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, - 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x57, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2b, 0x12, + 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, + 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x2e, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x5a, 0x2d, 0x12, + 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, + 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x61, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x7d, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x69, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, - 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x12, 0x33, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x27, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x2b, + 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x12, 0x33, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x7d, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, - 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xb2, 0x01, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, + 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, + 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, - 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, - 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x20, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, - 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x32, - 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x25, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x28, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, - 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, - 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, - 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, + 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x88, 0x02, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x63, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, + 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, - 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, - 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x12, 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, - 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, - 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, + 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, + 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, + 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x11, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, + 0x12, 0x3e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xba, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0xd8, 0x01, + 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -33584,17 +33589,17 @@ var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryClassFeeResponse)(nil), // 53: regen.ecocredit.v1.QueryClassFeeResponse (*QueryAllowedBridgeChainsRequest)(nil), // 54: regen.ecocredit.v1.QueryAllowedBridgeChainsRequest (*QueryAllowedBridgeChainsResponse)(nil), // 55: regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - (*QueryProjectClassRequest)(nil), // 56: regen.ecocredit.v1.QueryProjectClassRequest - (*QueryProjectClassResponse)(nil), // 57: regen.ecocredit.v1.QueryProjectClassResponse - (*QueryProjectClassesRequest)(nil), // 58: regen.ecocredit.v1.QueryProjectClassesRequest - (*QueryProjectClassesResponse)(nil), // 59: regen.ecocredit.v1.QueryProjectClassesResponse + (*QueryProjectEnrollmentRequest)(nil), // 56: regen.ecocredit.v1.QueryProjectEnrollmentRequest + (*QueryProjectEnrollmentResponse)(nil), // 57: regen.ecocredit.v1.QueryProjectEnrollmentResponse + (*QueryProjectEnrollmentsRequest)(nil), // 58: regen.ecocredit.v1.QueryProjectEnrollmentsRequest + (*QueryProjectEnrollmentsResponse)(nil), // 59: regen.ecocredit.v1.QueryProjectEnrollmentsResponse (*v1beta1.PageRequest)(nil), // 60: cosmos.base.query.v1beta1.PageRequest (*v1beta1.PageResponse)(nil), // 61: cosmos.base.query.v1beta1.PageResponse (*CreditType)(nil), // 62: regen.ecocredit.v1.CreditType (*Params)(nil), // 63: regen.ecocredit.v1.Params (*timestamppb.Timestamp)(nil), // 64: google.protobuf.Timestamp (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin - (*ProjectClass)(nil), // 66: regen.ecocredit.v1.ProjectClass + (*ProjectEnrollment)(nil), // 66: regen.ecocredit.v1.ProjectEnrollment } var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ 60, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest @@ -33651,10 +33656,10 @@ var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ 60, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 61, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 65, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin - 66, // 54: regen.ecocredit.v1.QueryProjectClassResponse.project_class:type_name -> regen.ecocredit.v1.ProjectClass - 60, // 55: regen.ecocredit.v1.QueryProjectClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 44, // 56: regen.ecocredit.v1.QueryProjectClassesResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 61, // 57: regen.ecocredit.v1.QueryProjectClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 66, // 54: regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class:type_name -> regen.ecocredit.v1.ProjectEnrollment + 60, // 55: regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 66, // 56: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments:type_name -> regen.ecocredit.v1.ProjectEnrollment + 61, // 57: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 0, // 58: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest 2, // 59: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest 4, // 60: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest @@ -33681,8 +33686,8 @@ var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ 50, // 81: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest 52, // 82: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest 54, // 83: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest - 56, // 84: regen.ecocredit.v1.Query.ProjectClass:input_type -> regen.ecocredit.v1.QueryProjectClassRequest - 58, // 85: regen.ecocredit.v1.Query.ProjectClasses:input_type -> regen.ecocredit.v1.QueryProjectClassesRequest + 56, // 84: regen.ecocredit.v1.Query.ProjectEnrollment:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentRequest + 58, // 85: regen.ecocredit.v1.Query.ProjectEnrollments:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentsRequest 1, // 86: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse 3, // 87: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse 5, // 88: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse @@ -33709,8 +33714,8 @@ var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ 51, // 109: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse 53, // 110: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse 55, // 111: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - 57, // 112: regen.ecocredit.v1.Query.ProjectClass:output_type -> regen.ecocredit.v1.QueryProjectClassResponse - 59, // 113: regen.ecocredit.v1.Query.ProjectClasses:output_type -> regen.ecocredit.v1.QueryProjectClassesResponse + 57, // 112: regen.ecocredit.v1.Query.ProjectEnrollment:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentResponse + 59, // 113: regen.ecocredit.v1.Query.ProjectEnrollments:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentsResponse 86, // [86:114] is the sub-list for method output_type 58, // [58:86] is the sub-list for method input_type 58, // [58:58] is the sub-list for extension type_name @@ -34399,7 +34404,7 @@ func file_regen_ecocredit_v1_query_proto_init() { } } file_regen_ecocredit_v1_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryProjectClassRequest); i { + switch v := v.(*QueryProjectEnrollmentRequest); i { case 0: return &v.state case 1: @@ -34411,7 +34416,7 @@ func file_regen_ecocredit_v1_query_proto_init() { } } file_regen_ecocredit_v1_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryProjectClassResponse); i { + switch v := v.(*QueryProjectEnrollmentResponse); i { case 0: return &v.state case 1: @@ -34423,7 +34428,7 @@ func file_regen_ecocredit_v1_query_proto_init() { } } file_regen_ecocredit_v1_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryProjectClassesRequest); i { + switch v := v.(*QueryProjectEnrollmentsRequest); i { case 0: return &v.state case 1: @@ -34435,7 +34440,7 @@ func file_regen_ecocredit_v1_query_proto_init() { } } file_regen_ecocredit_v1_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryProjectClassesResponse); i { + switch v := v.(*QueryProjectEnrollmentsResponse); i { case 0: return &v.state case 1: diff --git a/api/regen/ecocredit/v1/query_grpc.pb.go b/api/regen/ecocredit/v1/query_grpc.pb.go index fb66e11019..7fd63f21ad 100644 --- a/api/regen/ecocredit/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/v1/query_grpc.pb.go @@ -45,8 +45,8 @@ const ( Query_AllowedClassCreators_FullMethodName = "/regen.ecocredit.v1.Query/AllowedClassCreators" Query_ClassFee_FullMethodName = "/regen.ecocredit.v1.Query/ClassFee" Query_AllowedBridgeChains_FullMethodName = "/regen.ecocredit.v1.Query/AllowedBridgeChains" - Query_ProjectClass_FullMethodName = "/regen.ecocredit.v1.Query/ProjectClass" - Query_ProjectClasses_FullMethodName = "/regen.ecocredit.v1.Query/ProjectClasses" + Query_ProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Query/ProjectEnrollment" + Query_ProjectEnrollments_FullMethodName = "/regen.ecocredit.v1.Query/ProjectEnrollments" ) // QueryClient is the client API for Query service. @@ -130,12 +130,14 @@ type QueryClient interface { // // Since Revision 2 AllowedBridgeChains(ctx context.Context, in *QueryAllowedBridgeChainsRequest, opts ...grpc.CallOption) (*QueryAllowedBridgeChainsResponse, error) - // ProjectClass queries information about a project credit class relationship. + // ProjectEnrollment queries information about a project's enrollment in a + // credit class. // // Since Revision 3 - ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) - // ProjectClasses queries all credit classes associated with a project. - ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) + ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) + // ProjectEnrollments queries all credit class enrollments associated with a + // project. + ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) } type queryClient struct { @@ -381,18 +383,18 @@ func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedB return out, nil } -func (c *queryClient) ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) { - out := new(QueryProjectClassResponse) - err := c.cc.Invoke(ctx, Query_ProjectClass_FullMethodName, in, out, opts...) +func (c *queryClient) ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) { + out := new(QueryProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, Query_ProjectEnrollment_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *queryClient) ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) { - out := new(QueryProjectClassesResponse) - err := c.cc.Invoke(ctx, Query_ProjectClasses_FullMethodName, in, out, opts...) +func (c *queryClient) ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) { + out := new(QueryProjectEnrollmentsResponse) + err := c.cc.Invoke(ctx, Query_ProjectEnrollments_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -480,12 +482,14 @@ type QueryServer interface { // // Since Revision 2 AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) - // ProjectClass queries information about a project credit class relationship. + // ProjectEnrollment queries information about a project's enrollment in a + // credit class. // // Since Revision 3 - ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) - // ProjectClasses queries all credit classes associated with a project. - ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) + ProjectEnrollment(context.Context, *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) + // ProjectEnrollments queries all credit class enrollments associated with a + // project. + ProjectEnrollments(context.Context, *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -571,11 +575,11 @@ func (UnimplementedQueryServer) ClassFee(context.Context, *QueryClassFeeRequest) func (UnimplementedQueryServer) AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllowedBridgeChains not implemented") } -func (UnimplementedQueryServer) ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProjectClass not implemented") +func (UnimplementedQueryServer) ProjectEnrollment(context.Context, *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectEnrollment not implemented") } -func (UnimplementedQueryServer) ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProjectClasses not implemented") +func (UnimplementedQueryServer) ProjectEnrollments(context.Context, *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectEnrollments not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} @@ -1058,38 +1062,38 @@ func _Query_AllowedBridgeChains_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Query_ProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProjectClassRequest) +func _Query_ProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectEnrollmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).ProjectClass(ctx, in) + return srv.(QueryServer).ProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Query_ProjectClass_FullMethodName, + FullMethod: Query_ProjectEnrollment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProjectClass(ctx, req.(*QueryProjectClassRequest)) + return srv.(QueryServer).ProjectEnrollment(ctx, req.(*QueryProjectEnrollmentRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_ProjectClasses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProjectClassesRequest) +func _Query_ProjectEnrollments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectEnrollmentsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).ProjectClasses(ctx, in) + return srv.(QueryServer).ProjectEnrollments(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Query_ProjectClasses_FullMethodName, + FullMethod: Query_ProjectEnrollments_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProjectClasses(ctx, req.(*QueryProjectClassesRequest)) + return srv.(QueryServer).ProjectEnrollments(ctx, req.(*QueryProjectEnrollmentsRequest)) } return interceptor(ctx, in, info, handler) } @@ -1206,12 +1210,12 @@ var Query_ServiceDesc = grpc.ServiceDesc{ Handler: _Query_AllowedBridgeChains_Handler, }, { - MethodName: "ProjectClass", - Handler: _Query_ProjectClass_Handler, + MethodName: "ProjectEnrollment", + Handler: _Query_ProjectEnrollment_Handler, }, { - MethodName: "ProjectClasses", - Handler: _Query_ProjectClasses_Handler, + MethodName: "ProjectEnrollments", + Handler: _Query_ProjectEnrollments_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/api/regen/ecocredit/v1/state.cosmos_orm.go b/api/regen/ecocredit/v1/state.cosmos_orm.go index 88758c0b86..c5dce0e1ce 100644 --- a/api/regen/ecocredit/v1/state.cosmos_orm.go +++ b/api/regen/ecocredit/v1/state.cosmos_orm.go @@ -2071,136 +2071,136 @@ func NewAllowedBridgeChainTable(db ormtable.Schema) (AllowedBridgeChainTable, er return allowedBridgeChainTable{table}, nil } -type ProjectClassTable interface { - Insert(ctx context.Context, projectClass *ProjectClass) error - Update(ctx context.Context, projectClass *ProjectClass) error - Save(ctx context.Context, projectClass *ProjectClass) error - Delete(ctx context.Context, projectClass *ProjectClass) error +type ProjectEnrollmentTable interface { + Insert(ctx context.Context, projectEnrollment *ProjectEnrollment) error + Update(ctx context.Context, projectEnrollment *ProjectEnrollment) error + Save(ctx context.Context, projectEnrollment *ProjectEnrollment) error + Delete(ctx context.Context, projectEnrollment *ProjectEnrollment) error Has(ctx context.Context, project_key uint64, class_key uint64) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. - Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectClass, error) - List(ctx context.Context, prefixKey ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) - ListRange(ctx context.Context, from, to ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) - DeleteBy(ctx context.Context, prefixKey ProjectClassIndexKey) error - DeleteRange(ctx context.Context, from, to ProjectClassIndexKey) error + Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectEnrollment, error) + List(ctx context.Context, prefixKey ProjectEnrollmentIndexKey, opts ...ormlist.Option) (ProjectEnrollmentIterator, error) + ListRange(ctx context.Context, from, to ProjectEnrollmentIndexKey, opts ...ormlist.Option) (ProjectEnrollmentIterator, error) + DeleteBy(ctx context.Context, prefixKey ProjectEnrollmentIndexKey) error + DeleteRange(ctx context.Context, from, to ProjectEnrollmentIndexKey) error doNotImplement() } -type ProjectClassIterator struct { +type ProjectEnrollmentIterator struct { ormtable.Iterator } -func (i ProjectClassIterator) Value() (*ProjectClass, error) { - var projectClass ProjectClass - err := i.UnmarshalMessage(&projectClass) - return &projectClass, err +func (i ProjectEnrollmentIterator) Value() (*ProjectEnrollment, error) { + var projectEnrollment ProjectEnrollment + err := i.UnmarshalMessage(&projectEnrollment) + return &projectEnrollment, err } -type ProjectClassIndexKey interface { +type ProjectEnrollmentIndexKey interface { id() uint32 values() []interface{} - projectClassIndexKey() + projectEnrollmentIndexKey() } // primary key starting index.. -type ProjectClassPrimaryKey = ProjectClassProjectKeyClassKeyIndexKey +type ProjectEnrollmentPrimaryKey = ProjectEnrollmentProjectKeyClassKeyIndexKey -type ProjectClassProjectKeyClassKeyIndexKey struct { +type ProjectEnrollmentProjectKeyClassKeyIndexKey struct { vs []interface{} } -func (x ProjectClassProjectKeyClassKeyIndexKey) id() uint32 { return 0 } -func (x ProjectClassProjectKeyClassKeyIndexKey) values() []interface{} { return x.vs } -func (x ProjectClassProjectKeyClassKeyIndexKey) projectClassIndexKey() {} +func (x ProjectEnrollmentProjectKeyClassKeyIndexKey) id() uint32 { return 0 } +func (x ProjectEnrollmentProjectKeyClassKeyIndexKey) values() []interface{} { return x.vs } +func (x ProjectEnrollmentProjectKeyClassKeyIndexKey) projectEnrollmentIndexKey() {} -func (this ProjectClassProjectKeyClassKeyIndexKey) WithProjectKey(project_key uint64) ProjectClassProjectKeyClassKeyIndexKey { +func (this ProjectEnrollmentProjectKeyClassKeyIndexKey) WithProjectKey(project_key uint64) ProjectEnrollmentProjectKeyClassKeyIndexKey { this.vs = []interface{}{project_key} return this } -func (this ProjectClassProjectKeyClassKeyIndexKey) WithProjectKeyClassKey(project_key uint64, class_key uint64) ProjectClassProjectKeyClassKeyIndexKey { +func (this ProjectEnrollmentProjectKeyClassKeyIndexKey) WithProjectKeyClassKey(project_key uint64, class_key uint64) ProjectEnrollmentProjectKeyClassKeyIndexKey { this.vs = []interface{}{project_key, class_key} return this } -type ProjectClassClassKeyIndexKey struct { +type ProjectEnrollmentClassKeyIndexKey struct { vs []interface{} } -func (x ProjectClassClassKeyIndexKey) id() uint32 { return 1 } -func (x ProjectClassClassKeyIndexKey) values() []interface{} { return x.vs } -func (x ProjectClassClassKeyIndexKey) projectClassIndexKey() {} +func (x ProjectEnrollmentClassKeyIndexKey) id() uint32 { return 1 } +func (x ProjectEnrollmentClassKeyIndexKey) values() []interface{} { return x.vs } +func (x ProjectEnrollmentClassKeyIndexKey) projectEnrollmentIndexKey() {} -func (this ProjectClassClassKeyIndexKey) WithClassKey(class_key uint64) ProjectClassClassKeyIndexKey { +func (this ProjectEnrollmentClassKeyIndexKey) WithClassKey(class_key uint64) ProjectEnrollmentClassKeyIndexKey { this.vs = []interface{}{class_key} return this } -type projectClassTable struct { +type projectEnrollmentTable struct { table ormtable.Table } -func (this projectClassTable) Insert(ctx context.Context, projectClass *ProjectClass) error { - return this.table.Insert(ctx, projectClass) +func (this projectEnrollmentTable) Insert(ctx context.Context, projectEnrollment *ProjectEnrollment) error { + return this.table.Insert(ctx, projectEnrollment) } -func (this projectClassTable) Update(ctx context.Context, projectClass *ProjectClass) error { - return this.table.Update(ctx, projectClass) +func (this projectEnrollmentTable) Update(ctx context.Context, projectEnrollment *ProjectEnrollment) error { + return this.table.Update(ctx, projectEnrollment) } -func (this projectClassTable) Save(ctx context.Context, projectClass *ProjectClass) error { - return this.table.Save(ctx, projectClass) +func (this projectEnrollmentTable) Save(ctx context.Context, projectEnrollment *ProjectEnrollment) error { + return this.table.Save(ctx, projectEnrollment) } -func (this projectClassTable) Delete(ctx context.Context, projectClass *ProjectClass) error { - return this.table.Delete(ctx, projectClass) +func (this projectEnrollmentTable) Delete(ctx context.Context, projectEnrollment *ProjectEnrollment) error { + return this.table.Delete(ctx, projectEnrollment) } -func (this projectClassTable) Has(ctx context.Context, project_key uint64, class_key uint64) (found bool, err error) { +func (this projectEnrollmentTable) Has(ctx context.Context, project_key uint64, class_key uint64) (found bool, err error) { return this.table.PrimaryKey().Has(ctx, project_key, class_key) } -func (this projectClassTable) Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectClass, error) { - var projectClass ProjectClass - found, err := this.table.PrimaryKey().Get(ctx, &projectClass, project_key, class_key) +func (this projectEnrollmentTable) Get(ctx context.Context, project_key uint64, class_key uint64) (*ProjectEnrollment, error) { + var projectEnrollment ProjectEnrollment + found, err := this.table.PrimaryKey().Get(ctx, &projectEnrollment, project_key, class_key) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } - return &projectClass, nil + return &projectEnrollment, nil } -func (this projectClassTable) List(ctx context.Context, prefixKey ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) { +func (this projectEnrollmentTable) List(ctx context.Context, prefixKey ProjectEnrollmentIndexKey, opts ...ormlist.Option) (ProjectEnrollmentIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) - return ProjectClassIterator{it}, err + return ProjectEnrollmentIterator{it}, err } -func (this projectClassTable) ListRange(ctx context.Context, from, to ProjectClassIndexKey, opts ...ormlist.Option) (ProjectClassIterator, error) { +func (this projectEnrollmentTable) ListRange(ctx context.Context, from, to ProjectEnrollmentIndexKey, opts ...ormlist.Option) (ProjectEnrollmentIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) - return ProjectClassIterator{it}, err + return ProjectEnrollmentIterator{it}, err } -func (this projectClassTable) DeleteBy(ctx context.Context, prefixKey ProjectClassIndexKey) error { +func (this projectEnrollmentTable) DeleteBy(ctx context.Context, prefixKey ProjectEnrollmentIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } -func (this projectClassTable) DeleteRange(ctx context.Context, from, to ProjectClassIndexKey) error { +func (this projectEnrollmentTable) DeleteRange(ctx context.Context, from, to ProjectEnrollmentIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } -func (this projectClassTable) doNotImplement() {} +func (this projectEnrollmentTable) doNotImplement() {} -var _ ProjectClassTable = projectClassTable{} +var _ ProjectEnrollmentTable = projectEnrollmentTable{} -func NewProjectClassTable(db ormtable.Schema) (ProjectClassTable, error) { - table := db.GetTable(&ProjectClass{}) +func NewProjectEnrollmentTable(db ormtable.Schema) (ProjectEnrollmentTable, error) { + table := db.GetTable(&ProjectEnrollment{}) if table == nil { - return nil, ormerrors.TableNotFound.Wrap(string((&ProjectClass{}).ProtoReflect().Descriptor().FullName())) + return nil, ormerrors.TableNotFound.Wrap(string((&ProjectEnrollment{}).ProtoReflect().Descriptor().FullName())) } - return projectClassTable{table}, nil + return projectEnrollmentTable{table}, nil } type StateStore interface { @@ -2220,7 +2220,7 @@ type StateStore interface { AllowedClassCreatorTable() AllowedClassCreatorTable ClassFeeTable() ClassFeeTable AllowedBridgeChainTable() AllowedBridgeChainTable - ProjectClassTable() ProjectClassTable + ProjectEnrollmentTable() ProjectEnrollmentTable doNotImplement() } @@ -2242,7 +2242,7 @@ type stateStore struct { allowedClassCreator AllowedClassCreatorTable classFee ClassFeeTable allowedBridgeChain AllowedBridgeChainTable - projectClass ProjectClassTable + projectEnrollment ProjectEnrollmentTable } func (x stateStore) CreditTypeTable() CreditTypeTable { @@ -2309,8 +2309,8 @@ func (x stateStore) AllowedBridgeChainTable() AllowedBridgeChainTable { return x.allowedBridgeChain } -func (x stateStore) ProjectClassTable() ProjectClassTable { - return x.projectClass +func (x stateStore) ProjectEnrollmentTable() ProjectEnrollmentTable { + return x.projectEnrollment } func (stateStore) doNotImplement() {} @@ -2398,7 +2398,7 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { return nil, err } - projectClassTable, err := NewProjectClassTable(db) + projectEnrollmentTable, err := NewProjectEnrollmentTable(db) if err != nil { return nil, err } @@ -2420,6 +2420,6 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { allowedClassCreatorTable, classFeeTable, allowedBridgeChainTable, - projectClassTable, + projectEnrollmentTable, }, nil } diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 51e3038fa5..527d659354 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -8868,33 +8868,33 @@ func (x *fastReflection_AllowedBridgeChain) ProtoMethods() *protoiface.Methods { } var ( - md_ProjectClass protoreflect.MessageDescriptor - fd_ProjectClass_project_key protoreflect.FieldDescriptor - fd_ProjectClass_class_key protoreflect.FieldDescriptor - fd_ProjectClass_status protoreflect.FieldDescriptor - fd_ProjectClass_project_metadata protoreflect.FieldDescriptor - fd_ProjectClass_class_metadata protoreflect.FieldDescriptor + md_ProjectEnrollment protoreflect.MessageDescriptor + fd_ProjectEnrollment_project_key protoreflect.FieldDescriptor + fd_ProjectEnrollment_class_key protoreflect.FieldDescriptor + fd_ProjectEnrollment_status protoreflect.FieldDescriptor + fd_ProjectEnrollment_project_metadata protoreflect.FieldDescriptor + fd_ProjectEnrollment_class_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_state_proto_init() - md_ProjectClass = File_regen_ecocredit_v1_state_proto.Messages().ByName("ProjectClass") - fd_ProjectClass_project_key = md_ProjectClass.Fields().ByName("project_key") - fd_ProjectClass_class_key = md_ProjectClass.Fields().ByName("class_key") - fd_ProjectClass_status = md_ProjectClass.Fields().ByName("status") - fd_ProjectClass_project_metadata = md_ProjectClass.Fields().ByName("project_metadata") - fd_ProjectClass_class_metadata = md_ProjectClass.Fields().ByName("class_metadata") + md_ProjectEnrollment = File_regen_ecocredit_v1_state_proto.Messages().ByName("ProjectEnrollment") + fd_ProjectEnrollment_project_key = md_ProjectEnrollment.Fields().ByName("project_key") + fd_ProjectEnrollment_class_key = md_ProjectEnrollment.Fields().ByName("class_key") + fd_ProjectEnrollment_status = md_ProjectEnrollment.Fields().ByName("status") + fd_ProjectEnrollment_project_metadata = md_ProjectEnrollment.Fields().ByName("project_metadata") + fd_ProjectEnrollment_class_metadata = md_ProjectEnrollment.Fields().ByName("class_metadata") } -var _ protoreflect.Message = (*fastReflection_ProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_ProjectEnrollment)(nil) -type fastReflection_ProjectClass ProjectClass +type fastReflection_ProjectEnrollment ProjectEnrollment -func (x *ProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_ProjectClass)(x) +func (x *ProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProjectEnrollment)(x) } -func (x *ProjectClass) slowProtoReflect() protoreflect.Message { +func (x *ProjectEnrollment) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -8906,43 +8906,43 @@ func (x *ProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_ProjectClass_messageType fastReflection_ProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_ProjectClass_messageType{} +var _fastReflection_ProjectEnrollment_messageType fastReflection_ProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_ProjectEnrollment_messageType{} -type fastReflection_ProjectClass_messageType struct{} +type fastReflection_ProjectEnrollment_messageType struct{} -func (x fastReflection_ProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_ProjectClass)(nil) +func (x fastReflection_ProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProjectEnrollment)(nil) } -func (x fastReflection_ProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_ProjectClass) +func (x fastReflection_ProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_ProjectEnrollment) } -func (x fastReflection_ProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_ProjectClass +func (x fastReflection_ProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_ProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_ProjectClass +func (x *fastReflection_ProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectEnrollment } // 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_ProjectClass) Type() protoreflect.MessageType { - return _fastReflection_ProjectClass_messageType +func (x *fastReflection_ProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_ProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_ProjectClass) New() protoreflect.Message { - return new(fastReflection_ProjectClass) +func (x *fastReflection_ProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_ProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_ProjectClass) Interface() protoreflect.ProtoMessage { - return (*ProjectClass)(x) +func (x *fastReflection_ProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*ProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -8950,34 +8950,34 @@ func (x *fastReflection_ProjectClass) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_ProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_ProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectKey != uint64(0) { value := protoreflect.ValueOfUint64(x.ProjectKey) - if !f(fd_ProjectClass_project_key, value) { + if !f(fd_ProjectEnrollment_project_key, value) { return } } if x.ClassKey != uint64(0) { value := protoreflect.ValueOfUint64(x.ClassKey) - if !f(fd_ProjectClass_class_key, value) { + if !f(fd_ProjectEnrollment_class_key, value) { return } } if x.Status != 0 { value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) - if !f(fd_ProjectClass_status, value) { + if !f(fd_ProjectEnrollment_status, value) { return } } if x.ProjectMetadata != "" { value := protoreflect.ValueOfString(x.ProjectMetadata) - if !f(fd_ProjectClass_project_metadata, value) { + if !f(fd_ProjectEnrollment_project_metadata, value) { return } } if x.ClassMetadata != "" { value := protoreflect.ValueOfString(x.ClassMetadata) - if !f(fd_ProjectClass_class_metadata, value) { + if !f(fd_ProjectEnrollment_class_metadata, value) { return } } @@ -8994,23 +8994,23 @@ func (x *fastReflection_ProjectClass) Range(f func(protoreflect.FieldDescriptor, // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_ProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_ProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": + case "regen.ecocredit.v1.ProjectEnrollment.project_key": return x.ProjectKey != uint64(0) - case "regen.ecocredit.v1.ProjectClass.class_key": + case "regen.ecocredit.v1.ProjectEnrollment.class_key": return x.ClassKey != uint64(0) - case "regen.ecocredit.v1.ProjectClass.status": + case "regen.ecocredit.v1.ProjectEnrollment.status": return x.Status != 0 - case "regen.ecocredit.v1.ProjectClass.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": return x.ProjectMetadata != "" - case "regen.ecocredit.v1.ProjectClass.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": return x.ClassMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -9020,23 +9020,23 @@ func (x *fastReflection_ProjectClass) Has(fd protoreflect.FieldDescriptor) bool // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_ProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": + case "regen.ecocredit.v1.ProjectEnrollment.project_key": x.ProjectKey = uint64(0) - case "regen.ecocredit.v1.ProjectClass.class_key": + case "regen.ecocredit.v1.ProjectEnrollment.class_key": x.ClassKey = uint64(0) - case "regen.ecocredit.v1.ProjectClass.status": + case "regen.ecocredit.v1.ProjectEnrollment.status": x.Status = 0 - case "regen.ecocredit.v1.ProjectClass.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": x.ProjectMetadata = "" - case "regen.ecocredit.v1.ProjectClass.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": x.ClassMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -9046,28 +9046,28 @@ func (x *fastReflection_ProjectClass) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_ProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": + case "regen.ecocredit.v1.ProjectEnrollment.project_key": value := x.ProjectKey return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.ProjectClass.class_key": + case "regen.ecocredit.v1.ProjectEnrollment.class_key": value := x.ClassKey return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.ProjectClass.status": + case "regen.ecocredit.v1.ProjectEnrollment.status": value := x.Status return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.ProjectClass.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": value := x.ProjectMetadata return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.ProjectClass.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": value := x.ClassMetadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -9081,23 +9081,23 @@ func (x *fastReflection_ProjectClass) Get(descriptor protoreflect.FieldDescripto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_ProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": + case "regen.ecocredit.v1.ProjectEnrollment.project_key": x.ProjectKey = value.Uint() - case "regen.ecocredit.v1.ProjectClass.class_key": + case "regen.ecocredit.v1.ProjectEnrollment.class_key": x.ClassKey = value.Uint() - case "regen.ecocredit.v1.ProjectClass.status": - x.Status = (ProjectClassStatus)(value.Enum()) - case "regen.ecocredit.v1.ProjectClass.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.status": + x.Status = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": x.ProjectMetadata = value.Interface().(string) - case "regen.ecocredit.v1.ProjectClass.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": x.ClassMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -9111,56 +9111,56 @@ func (x *fastReflection_ProjectClass) Set(fd protoreflect.FieldDescriptor, value // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": - panic(fmt.Errorf("field project_key of message regen.ecocredit.v1.ProjectClass is not mutable")) - case "regen.ecocredit.v1.ProjectClass.class_key": - panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ProjectClass is not mutable")) - case "regen.ecocredit.v1.ProjectClass.status": - panic(fmt.Errorf("field status of message regen.ecocredit.v1.ProjectClass is not mutable")) - case "regen.ecocredit.v1.ProjectClass.project_metadata": - panic(fmt.Errorf("field project_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) - case "regen.ecocredit.v1.ProjectClass.class_metadata": - panic(fmt.Errorf("field class_metadata of message regen.ecocredit.v1.ProjectClass is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.project_key": + panic(fmt.Errorf("field project_key of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.class_key": + panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.status": + panic(fmt.Errorf("field status of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": + panic(fmt.Errorf("field project_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": + panic(fmt.Errorf("field class_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment 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_ProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_ProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.ProjectClass.project_key": + case "regen.ecocredit.v1.ProjectEnrollment.project_key": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.ProjectClass.class_key": + case "regen.ecocredit.v1.ProjectEnrollment.class_key": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.ProjectClass.status": + case "regen.ecocredit.v1.ProjectEnrollment.status": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.ProjectClass.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.ProjectClass.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.ProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectEnrollment 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_ProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_ProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -9168,7 +9168,7 @@ func (x *fastReflection_ProjectClass) WhichOneof(d protoreflect.OneofDescriptor) // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_ProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_ProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -9179,7 +9179,7 @@ func (x *fastReflection_ProjectClass) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_ProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_ProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -9191,7 +9191,7 @@ func (x *fastReflection_ProjectClass) SetUnknown(fields protoreflect.RawFields) // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_ProjectClass) IsValid() bool { +func (x *fastReflection_ProjectEnrollment) IsValid() bool { return x != nil } @@ -9201,9 +9201,9 @@ func (x *fastReflection_ProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*ProjectClass) + x := input.Message.Interface().(*ProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9242,7 +9242,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*ProjectClass) + x := input.Message.Interface().(*ProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9301,7 +9301,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*ProjectClass) + x := input.Message.Interface().(*ProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9333,10 +9333,10 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9391,7 +9391,7 @@ func (x *fastReflection_ProjectClass) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.Status |= ProjectClassStatus(b&0x7F) << shift + x.Status |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -9510,67 +9510,72 @@ const ( // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -type ProjectClassStatus int32 +type ProjectEnrollmentStatus int32 const ( - // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application + // PROJECT_ENROLLMENT_STATUS_UNSPECIFIED indicates that a credit class application // has been submitted but not evaluated. - ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED ProjectClassStatus = 0 - // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED ProjectEnrollmentStatus = 0 + // PROJECT_ENROLLMENT_STATUS_ACCEPTED indicates that the project has been // accepted into the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_ACCEPTED ProjectClassStatus = 1 - // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED ProjectEnrollmentStatus = 1 + // PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED indicates that an application to // a credit class has been reviewed and that changes to the application have // been requested. It can also be used to indicate that a project within a credit // class has had its status reassessed and that changes to the project are // requested in order to continue in the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_CHANGES_REQUESTED ProjectClassStatus = 2 - // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be accepted into the credit class - // or that a project previously accepted has been removed from the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_REJECTED ProjectClassStatus = 3 + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED ProjectEnrollmentStatus = 2 + // PROJECT_ENROLLMENT_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class. + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED ProjectEnrollmentStatus = 3 + // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been + // terminated from the credit class. This status is used when a project was + // in the credit class but has been removed or completed. + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED ProjectEnrollmentStatus = 4 ) -// Enum value maps for ProjectClassStatus. +// Enum value maps for ProjectEnrollmentStatus. var ( - ProjectClassStatus_name = map[int32]string{ - 0: "PROJECT_CLASS_STATUS_UNSPECIFIED", - 1: "PROJECT_CLASS_STATUS_ACCEPTED", - 2: "PROJECT_CLASS_STATUS_CHANGES_REQUESTED", - 3: "PROJECT_CLASS_STATUS_REJECTED", - } - ProjectClassStatus_value = map[string]int32{ - "PROJECT_CLASS_STATUS_UNSPECIFIED": 0, - "PROJECT_CLASS_STATUS_ACCEPTED": 1, - "PROJECT_CLASS_STATUS_CHANGES_REQUESTED": 2, - "PROJECT_CLASS_STATUS_REJECTED": 3, + ProjectEnrollmentStatus_name = map[int32]string{ + 0: "PROJECT_ENROLLMENT_STATUS_UNSPECIFIED", + 1: "PROJECT_ENROLLMENT_STATUS_ACCEPTED", + 2: "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED", + 3: "PROJECT_ENROLLMENT_STATUS_REJECTED", + 4: "PROJECT_ENROLLMENT_STATUS_TERMINATED", + } + ProjectEnrollmentStatus_value = map[string]int32{ + "PROJECT_ENROLLMENT_STATUS_UNSPECIFIED": 0, + "PROJECT_ENROLLMENT_STATUS_ACCEPTED": 1, + "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED": 2, + "PROJECT_ENROLLMENT_STATUS_REJECTED": 3, + "PROJECT_ENROLLMENT_STATUS_TERMINATED": 4, } ) -func (x ProjectClassStatus) Enum() *ProjectClassStatus { - p := new(ProjectClassStatus) +func (x ProjectEnrollmentStatus) Enum() *ProjectEnrollmentStatus { + p := new(ProjectEnrollmentStatus) *p = x return p } -func (x ProjectClassStatus) String() string { +func (x ProjectEnrollmentStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ProjectClassStatus) Descriptor() protoreflect.EnumDescriptor { +func (ProjectEnrollmentStatus) Descriptor() protoreflect.EnumDescriptor { return file_regen_ecocredit_v1_state_proto_enumTypes[0].Descriptor() } -func (ProjectClassStatus) Type() protoreflect.EnumType { +func (ProjectEnrollmentStatus) Type() protoreflect.EnumType { return &file_regen_ecocredit_v1_state_proto_enumTypes[0] } -func (x ProjectClassStatus) Number() protoreflect.EnumNumber { +func (x ProjectEnrollmentStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ProjectClassStatus.Descriptor instead. -func (ProjectClassStatus) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use ProjectEnrollmentStatus.Descriptor instead. +func (ProjectEnrollmentStatus) EnumDescriptor() ([]byte, []int) { return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{0} } @@ -10581,8 +10586,8 @@ func (x *AllowedBridgeChain) GetChainName() string { return "" } -// ProjectClass stores the data a project - credit class relation. -type ProjectClass struct { +// ProjectEnrollment stores the data a project's enrollment in a credit class. +type ProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -10593,8 +10598,8 @@ type ProjectClass struct { // class_key is the table row identifier of the credit class used internally // for efficient lookups. ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` - // status is the status of the relation. - Status ProjectClassStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"status,omitempty"` + // status is the status of the enrollment. + Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` // project_metadata is any arbitrary metadata set by the project // admin. This should primarily be used to store metadata regarding the project's // application to the credit class. @@ -10605,8 +10610,8 @@ type ProjectClass struct { ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` } -func (x *ProjectClass) Reset() { - *x = ProjectClass{} +func (x *ProjectEnrollment) Reset() { + *x = ProjectEnrollment{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_state_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10614,46 +10619,46 @@ func (x *ProjectClass) Reset() { } } -func (x *ProjectClass) String() string { +func (x *ProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ProjectClass) ProtoMessage() {} +func (*ProjectEnrollment) ProtoMessage() {} -// Deprecated: Use ProjectClass.ProtoReflect.Descriptor instead. -func (*ProjectClass) Descriptor() ([]byte, []int) { +// Deprecated: Use ProjectEnrollment.ProtoReflect.Descriptor instead. +func (*ProjectEnrollment) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{16} } -func (x *ProjectClass) GetProjectKey() uint64 { +func (x *ProjectEnrollment) GetProjectKey() uint64 { if x != nil { return x.ProjectKey } return 0 } -func (x *ProjectClass) GetClassKey() uint64 { +func (x *ProjectEnrollment) GetClassKey() uint64 { if x != nil { return x.ClassKey } return 0 } -func (x *ProjectClass) GetStatus() ProjectClassStatus { +func (x *ProjectEnrollment) GetStatus() ProjectEnrollmentStatus { if x != nil { return x.Status } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *ProjectClass) GetProjectMetadata() string { +func (x *ProjectEnrollment) GetProjectMetadata() string { if x != nil { return x.ProjectMetadata } return "" } -func (x *ProjectClass) GetClassMetadata() string { +func (x *ProjectEnrollment) GetClassMetadata() string { if x != nil { return x.ClassMetadata } @@ -10831,50 +10836,54 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x90, - 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, - 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, - 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, - 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, - 0x11, 0x2a, 0xac, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, - 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, - 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, - 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, - 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x9a, + 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, + 0x65, 0x79, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, + 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xef, 0x01, 0x0a, 0x17, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, + 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x52, + 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, + 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x42, 0xd8, 0x01, + 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10892,7 +10901,7 @@ func file_regen_ecocredit_v1_state_proto_rawDescGZIP() []byte { var file_regen_ecocredit_v1_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ - (ProjectClassStatus)(0), // 0: regen.ecocredit.v1.ProjectClassStatus + (ProjectEnrollmentStatus)(0), // 0: regen.ecocredit.v1.ProjectEnrollmentStatus (*CreditType)(nil), // 1: regen.ecocredit.v1.CreditType (*Class)(nil), // 2: regen.ecocredit.v1.Class (*ClassIssuer)(nil), // 3: regen.ecocredit.v1.ClassIssuer @@ -10909,7 +10918,7 @@ var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ (*AllowedClassCreator)(nil), // 14: regen.ecocredit.v1.AllowedClassCreator (*ClassFee)(nil), // 15: regen.ecocredit.v1.ClassFee (*AllowedBridgeChain)(nil), // 16: regen.ecocredit.v1.AllowedBridgeChain - (*ProjectClass)(nil), // 17: regen.ecocredit.v1.ProjectClass + (*ProjectEnrollment)(nil), // 17: regen.ecocredit.v1.ProjectEnrollment (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin } @@ -10918,7 +10927,7 @@ var file_regen_ecocredit_v1_state_proto_depIdxs = []int32{ 18, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp 18, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp 19, // 3: regen.ecocredit.v1.ClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 0, // 4: regen.ecocredit.v1.ProjectClass.status:type_name -> regen.ecocredit.v1.ProjectClassStatus + 0, // 4: regen.ecocredit.v1.ProjectEnrollment.status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus 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 @@ -11125,7 +11134,7 @@ func file_regen_ecocredit_v1_state_proto_init() { } } file_regen_ecocredit_v1_state_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectClass); i { + switch v := v.(*ProjectEnrollment); i { case 0: return &v.state case 1: diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 84df65b2c2..904cf4893d 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -4172,31 +4172,31 @@ func (x *fastReflection_MsgCreateUnregisteredProjectResponse) ProtoMethods() *pr } var ( - md_MsgUpdateProjectClass protoreflect.MessageDescriptor - fd_MsgUpdateProjectClass_project_admin protoreflect.FieldDescriptor - fd_MsgUpdateProjectClass_project_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectClass_class_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectClass_metadata protoreflect.FieldDescriptor + md_MsgUpdateProjectEnrollment protoreflect.MessageDescriptor + fd_MsgUpdateProjectEnrollment_project_admin protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_project_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_class_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectClass") - fd_MsgUpdateProjectClass_project_admin = md_MsgUpdateProjectClass.Fields().ByName("project_admin") - fd_MsgUpdateProjectClass_project_id = md_MsgUpdateProjectClass.Fields().ByName("project_id") - fd_MsgUpdateProjectClass_class_id = md_MsgUpdateProjectClass.Fields().ByName("class_id") - fd_MsgUpdateProjectClass_metadata = md_MsgUpdateProjectClass.Fields().ByName("metadata") + md_MsgUpdateProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollment") + fd_MsgUpdateProjectEnrollment_project_admin = md_MsgUpdateProjectEnrollment.Fields().ByName("project_admin") + fd_MsgUpdateProjectEnrollment_project_id = md_MsgUpdateProjectEnrollment.Fields().ByName("project_id") + fd_MsgUpdateProjectEnrollment_class_id = md_MsgUpdateProjectEnrollment.Fields().ByName("class_id") + fd_MsgUpdateProjectEnrollment_metadata = md_MsgUpdateProjectEnrollment.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollment)(nil) -type fastReflection_MsgUpdateProjectClass MsgUpdateProjectClass +type fastReflection_MsgUpdateProjectEnrollment MsgUpdateProjectEnrollment -func (x *MsgUpdateProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectClass)(x) +func (x *MsgUpdateProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollment)(x) } -func (x *MsgUpdateProjectClass) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectEnrollment) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4208,43 +4208,43 @@ func (x *MsgUpdateProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectClass_messageType fastReflection_MsgUpdateProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectClass_messageType{} +var _fastReflection_MsgUpdateProjectEnrollment_messageType fastReflection_MsgUpdateProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollment_messageType{} -type fastReflection_MsgUpdateProjectClass_messageType struct{} +type fastReflection_MsgUpdateProjectEnrollment_messageType struct{} -func (x fastReflection_MsgUpdateProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectClass)(nil) +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollment)(nil) } -func (x fastReflection_MsgUpdateProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectClass) +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollment) } -func (x fastReflection_MsgUpdateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectClass +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectClass +func (x *fastReflection_MsgUpdateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollment } // 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_MsgUpdateProjectClass) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectClass_messageType +func (x *fastReflection_MsgUpdateProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectClass) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectClass) +func (x *fastReflection_MsgUpdateProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectClass) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectClass)(x) +func (x *fastReflection_MsgUpdateProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -4252,28 +4252,28 @@ func (x *fastReflection_MsgUpdateProjectClass) Interface() protoreflect.ProtoMes // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectAdmin != "" { value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgUpdateProjectClass_project_admin, value) { + if !f(fd_MsgUpdateProjectEnrollment_project_admin, value) { return } } if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgUpdateProjectClass_project_id, value) { + if !f(fd_MsgUpdateProjectEnrollment_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgUpdateProjectClass_class_id, value) { + if !f(fd_MsgUpdateProjectEnrollment_class_id, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgUpdateProjectClass_metadata, value) { + if !f(fd_MsgUpdateProjectEnrollment_metadata, value) { return } } @@ -4290,21 +4290,21 @@ func (x *fastReflection_MsgUpdateProjectClass) Range(f func(protoreflect.FieldDe // 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_MsgUpdateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -4314,21 +4314,21 @@ func (x *fastReflection_MsgUpdateProjectClass) Has(fd protoreflect.FieldDescript // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": x.ClassId = "" - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -4338,25 +4338,25 @@ func (x *fastReflection_MsgUpdateProjectClass) Clear(fd protoreflect.FieldDescri // 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_MsgUpdateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -4370,21 +4370,21 @@ func (x *fastReflection_MsgUpdateProjectClass) Get(descriptor protoreflect.Field // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -4398,52 +4398,52 @@ func (x *fastReflection_MsgUpdateProjectClass) Set(fd protoreflect.FieldDescript // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment 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_MsgUpdateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_admin": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectClass.project_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectClass.class_id": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectClass.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment 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_MsgUpdateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -4451,7 +4451,7 @@ func (x *fastReflection_MsgUpdateProjectClass) WhichOneof(d protoreflect.OneofDe // 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_MsgUpdateProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4462,7 +4462,7 @@ func (x *fastReflection_MsgUpdateProjectClass) GetUnknown() protoreflect.RawFiel // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4474,7 +4474,7 @@ func (x *fastReflection_MsgUpdateProjectClass) SetUnknown(fields protoreflect.Ra // 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_MsgUpdateProjectClass) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectEnrollment) IsValid() bool { return x != nil } @@ -4484,9 +4484,9 @@ func (x *fastReflection_MsgUpdateProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectClass) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4524,7 +4524,7 @@ func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Method } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectClass) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4582,7 +4582,7 @@ func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Method }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectClass) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4614,10 +4614,10 @@ func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Method fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4784,23 +4784,23 @@ func (x *fastReflection_MsgUpdateProjectClass) ProtoMethods() *protoiface.Method } var ( - md_MsgUpdateProjectClassResponse protoreflect.MessageDescriptor + md_MsgUpdateProjectEnrollmentResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectClassResponse") + md_MsgUpdateProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollmentResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectClassResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) -type fastReflection_MsgUpdateProjectClassResponse MsgUpdateProjectClassResponse +type fastReflection_MsgUpdateProjectEnrollmentResponse MsgUpdateProjectEnrollmentResponse -func (x *MsgUpdateProjectClassResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectClassResponse)(x) +func (x *MsgUpdateProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(x) } -func (x *MsgUpdateProjectClassResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4812,43 +4812,43 @@ func (x *MsgUpdateProjectClassResponse) slowProtoReflect() protoreflect.Message return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectClassResponse_messageType fastReflection_MsgUpdateProjectClassResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectClassResponse_messageType{} +var _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType fastReflection_MsgUpdateProjectEnrollmentResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollmentResponse_messageType{} -type fastReflection_MsgUpdateProjectClassResponse_messageType struct{} +type fastReflection_MsgUpdateProjectEnrollmentResponse_messageType struct{} -func (x fastReflection_MsgUpdateProjectClassResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectClassResponse)(nil) +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) } -func (x fastReflection_MsgUpdateProjectClassResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectClassResponse) +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollmentResponse) } -func (x fastReflection_MsgUpdateProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectClassResponse +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollmentResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectClassResponse +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollmentResponse } // 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_MsgUpdateProjectClassResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectClassResponse_messageType +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectClassResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectClassResponse) +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollmentResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectClassResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectClassResponse)(x) +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectEnrollmentResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -4856,7 +4856,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Interface() protoreflect. // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -4870,13 +4870,13 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Range(f func(protoreflect // 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_MsgUpdateProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -4886,13 +4886,13 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Has(fd protoreflect.Field // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -4902,13 +4902,13 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Clear(fd protoreflect.Fie // 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_MsgUpdateProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) } } @@ -4922,13 +4922,13 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Get(descriptor protorefle // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -4942,36 +4942,36 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) Set(fd protoreflect.Field // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse 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_MsgUpdateProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse 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_MsgUpdateProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectClassResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse", d.FullName())) } panic("unreachable") } @@ -4979,7 +4979,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) WhichOneof(d protoreflect // 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_MsgUpdateProjectClassResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4990,7 +4990,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) GetUnknown() protoreflect // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5002,7 +5002,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) SetUnknown(fields protore // 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_MsgUpdateProjectClassResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) IsValid() bool { return x != nil } @@ -5012,9 +5012,9 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectClassResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5036,7 +5036,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoifac } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectClassResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5066,7 +5066,7 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoifac }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectClassResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5098,10 +5098,10 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoifac fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClassResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -5140,29 +5140,29 @@ func (x *fastReflection_MsgUpdateProjectClassResponse) ProtoMethods() *protoifac } var ( - md_MsgWithdrawProjectClass protoreflect.MessageDescriptor - fd_MsgWithdrawProjectClass_project_admin protoreflect.FieldDescriptor - fd_MsgWithdrawProjectClass_application_id protoreflect.FieldDescriptor - fd_MsgWithdrawProjectClass_metadata protoreflect.FieldDescriptor + md_MsgWithdrawProjectEnrollment protoreflect.MessageDescriptor + fd_MsgWithdrawProjectEnrollment_project_admin protoreflect.FieldDescriptor + fd_MsgWithdrawProjectEnrollment_application_id protoreflect.FieldDescriptor + fd_MsgWithdrawProjectEnrollment_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectClass") - fd_MsgWithdrawProjectClass_project_admin = md_MsgWithdrawProjectClass.Fields().ByName("project_admin") - fd_MsgWithdrawProjectClass_application_id = md_MsgWithdrawProjectClass.Fields().ByName("application_id") - fd_MsgWithdrawProjectClass_metadata = md_MsgWithdrawProjectClass.Fields().ByName("metadata") + md_MsgWithdrawProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectEnrollment") + fd_MsgWithdrawProjectEnrollment_project_admin = md_MsgWithdrawProjectEnrollment.Fields().ByName("project_admin") + fd_MsgWithdrawProjectEnrollment_application_id = md_MsgWithdrawProjectEnrollment.Fields().ByName("application_id") + fd_MsgWithdrawProjectEnrollment_metadata = md_MsgWithdrawProjectEnrollment.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectEnrollment)(nil) -type fastReflection_MsgWithdrawProjectClass MsgWithdrawProjectClass +type fastReflection_MsgWithdrawProjectEnrollment MsgWithdrawProjectEnrollment -func (x *MsgWithdrawProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectClass)(x) +func (x *MsgWithdrawProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectEnrollment)(x) } -func (x *MsgWithdrawProjectClass) slowProtoReflect() protoreflect.Message { +func (x *MsgWithdrawProjectEnrollment) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5174,43 +5174,43 @@ func (x *MsgWithdrawProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgWithdrawProjectClass_messageType fastReflection_MsgWithdrawProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectClass_messageType{} +var _fastReflection_MsgWithdrawProjectEnrollment_messageType fastReflection_MsgWithdrawProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectEnrollment_messageType{} -type fastReflection_MsgWithdrawProjectClass_messageType struct{} +type fastReflection_MsgWithdrawProjectEnrollment_messageType struct{} -func (x fastReflection_MsgWithdrawProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectClass)(nil) +func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectEnrollment)(nil) } -func (x fastReflection_MsgWithdrawProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectClass) +func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectEnrollment) } -func (x fastReflection_MsgWithdrawProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectClass +func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgWithdrawProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectClass +func (x *fastReflection_MsgWithdrawProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectEnrollment } // 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_MsgWithdrawProjectClass) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawProjectClass_messageType +func (x *fastReflection_MsgWithdrawProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawProjectClass) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectClass) +func (x *fastReflection_MsgWithdrawProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawProjectClass) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawProjectClass)(x) +func (x *fastReflection_MsgWithdrawProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -5218,22 +5218,22 @@ func (x *fastReflection_MsgWithdrawProjectClass) Interface() protoreflect.ProtoM // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgWithdrawProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectAdmin != "" { value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgWithdrawProjectClass_project_admin, value) { + if !f(fd_MsgWithdrawProjectEnrollment_project_admin, value) { return } } if x.ApplicationId != uint64(0) { value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgWithdrawProjectClass_application_id, value) { + if !f(fd_MsgWithdrawProjectEnrollment_application_id, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgWithdrawProjectClass_metadata, value) { + if !f(fd_MsgWithdrawProjectEnrollment_metadata, value) { return } } @@ -5250,19 +5250,19 @@ func (x *fastReflection_MsgWithdrawProjectClass) Range(f func(protoreflect.Field // 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_MsgWithdrawProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -5272,19 +5272,19 @@ func (x *fastReflection_MsgWithdrawProjectClass) Has(fd protoreflect.FieldDescri // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -5294,22 +5294,22 @@ func (x *fastReflection_MsgWithdrawProjectClass) Clear(fd protoreflect.FieldDesc // 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_MsgWithdrawProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": value := x.ApplicationId return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -5323,19 +5323,19 @@ func (x *fastReflection_MsgWithdrawProjectClass) Get(descriptor protoreflect.Fie // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -5349,48 +5349,48 @@ func (x *fastReflection_MsgWithdrawProjectClass) Set(fd protoreflect.FieldDescri // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectClass.project_admin": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgWithdrawProjectClass.application_id": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgWithdrawProjectClass.metadata": + case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -5398,7 +5398,7 @@ func (x *fastReflection_MsgWithdrawProjectClass) WhichOneof(d protoreflect.Oneof // 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_MsgWithdrawProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5409,7 +5409,7 @@ func (x *fastReflection_MsgWithdrawProjectClass) GetUnknown() protoreflect.RawFi // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5421,7 +5421,7 @@ func (x *fastReflection_MsgWithdrawProjectClass) SetUnknown(fields protoreflect. // 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_MsgWithdrawProjectClass) IsValid() bool { +func (x *fastReflection_MsgWithdrawProjectEnrollment) IsValid() bool { return x != nil } @@ -5431,9 +5431,9 @@ func (x *fastReflection_MsgWithdrawProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawProjectClass) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5466,7 +5466,7 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectClass) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5515,7 +5515,7 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectClass) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5547,10 +5547,10 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5672,23 +5672,23 @@ func (x *fastReflection_MsgWithdrawProjectClass) ProtoMethods() *protoiface.Meth } var ( - md_MsgWithdrawProjectClassResponse protoreflect.MessageDescriptor + md_MsgWithdrawProjectEnrollmentResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectClassResponse") + md_MsgWithdrawProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectEnrollmentResponse") } -var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectClassResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(nil) -type fastReflection_MsgWithdrawProjectClassResponse MsgWithdrawProjectClassResponse +type fastReflection_MsgWithdrawProjectEnrollmentResponse MsgWithdrawProjectEnrollmentResponse -func (x *MsgWithdrawProjectClassResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectClassResponse)(x) +func (x *MsgWithdrawProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(x) } -func (x *MsgWithdrawProjectClassResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgWithdrawProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5700,43 +5700,43 @@ func (x *MsgWithdrawProjectClassResponse) slowProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -var _fastReflection_MsgWithdrawProjectClassResponse_messageType fastReflection_MsgWithdrawProjectClassResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectClassResponse_messageType{} +var _fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType{} -type fastReflection_MsgWithdrawProjectClassResponse_messageType struct{} +type fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType struct{} -func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectClassResponse)(nil) +func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(nil) } -func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectClassResponse) +func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectEnrollmentResponse) } -func (x fastReflection_MsgWithdrawProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectClassResponse +func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectEnrollmentResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectClassResponse +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgWithdrawProjectEnrollmentResponse } // 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_MsgWithdrawProjectClassResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawProjectClassResponse_messageType +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawProjectClassResponse) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectClassResponse) +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) New() protoreflect.Message { + return new(fastReflection_MsgWithdrawProjectEnrollmentResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawProjectClassResponse)(x) +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { + return (*MsgWithdrawProjectEnrollmentResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -5744,7 +5744,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Interface() protoreflec // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -5758,13 +5758,13 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Range(f func(protorefle // 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_MsgWithdrawProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -5774,13 +5774,13 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Has(fd protoreflect.Fie // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -5790,13 +5790,13 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Clear(fd protoreflect.F // 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_MsgWithdrawProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) } } @@ -5810,13 +5810,13 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Get(descriptor protoref // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -5830,36 +5830,36 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) Set(fd protoreflect.Fie // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectClassResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse", d.FullName())) } panic("unreachable") } @@ -5867,7 +5867,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) WhichOneof(d protorefle // 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_MsgWithdrawProjectClassResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -5878,7 +5878,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) GetUnknown() protorefle // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgWithdrawProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5890,7 +5890,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) SetUnknown(fields proto // 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_MsgWithdrawProjectClassResponse) IsValid() bool { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) IsValid() bool { return x != nil } @@ -5900,9 +5900,9 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5924,7 +5924,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoif } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5954,7 +5954,7 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoif }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectClassResponse) + x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5986,10 +5986,10 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoif fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClassResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -6028,31 +6028,31 @@ func (x *fastReflection_MsgWithdrawProjectClassResponse) ProtoMethods() *protoif } var ( - md_MsgEvaluateProjectClass protoreflect.MessageDescriptor - fd_MsgEvaluateProjectClass_issuer protoreflect.FieldDescriptor - fd_MsgEvaluateProjectClass_application_id protoreflect.FieldDescriptor - fd_MsgEvaluateProjectClass_evaluation protoreflect.FieldDescriptor - fd_MsgEvaluateProjectClass_metadata protoreflect.FieldDescriptor + md_MsgEvaluateProjectEnrollment protoreflect.MessageDescriptor + fd_MsgEvaluateProjectEnrollment_issuer protoreflect.FieldDescriptor + fd_MsgEvaluateProjectEnrollment_application_id protoreflect.FieldDescriptor + fd_MsgEvaluateProjectEnrollment_evaluation protoreflect.FieldDescriptor + fd_MsgEvaluateProjectEnrollment_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateProjectClass = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectClass") - fd_MsgEvaluateProjectClass_issuer = md_MsgEvaluateProjectClass.Fields().ByName("issuer") - fd_MsgEvaluateProjectClass_application_id = md_MsgEvaluateProjectClass.Fields().ByName("application_id") - fd_MsgEvaluateProjectClass_evaluation = md_MsgEvaluateProjectClass.Fields().ByName("evaluation") - fd_MsgEvaluateProjectClass_metadata = md_MsgEvaluateProjectClass.Fields().ByName("metadata") + md_MsgEvaluateProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectEnrollment") + fd_MsgEvaluateProjectEnrollment_issuer = md_MsgEvaluateProjectEnrollment.Fields().ByName("issuer") + fd_MsgEvaluateProjectEnrollment_application_id = md_MsgEvaluateProjectEnrollment.Fields().ByName("application_id") + fd_MsgEvaluateProjectEnrollment_evaluation = md_MsgEvaluateProjectEnrollment.Fields().ByName("evaluation") + fd_MsgEvaluateProjectEnrollment_metadata = md_MsgEvaluateProjectEnrollment.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectEnrollment)(nil) -type fastReflection_MsgEvaluateProjectClass MsgEvaluateProjectClass +type fastReflection_MsgEvaluateProjectEnrollment MsgEvaluateProjectEnrollment -func (x *MsgEvaluateProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectClass)(x) +func (x *MsgEvaluateProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectEnrollment)(x) } -func (x *MsgEvaluateProjectClass) slowProtoReflect() protoreflect.Message { +func (x *MsgEvaluateProjectEnrollment) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6064,43 +6064,43 @@ func (x *MsgEvaluateProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgEvaluateProjectClass_messageType fastReflection_MsgEvaluateProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectClass_messageType{} +var _fastReflection_MsgEvaluateProjectEnrollment_messageType fastReflection_MsgEvaluateProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectEnrollment_messageType{} -type fastReflection_MsgEvaluateProjectClass_messageType struct{} +type fastReflection_MsgEvaluateProjectEnrollment_messageType struct{} -func (x fastReflection_MsgEvaluateProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectClass)(nil) +func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectEnrollment)(nil) } -func (x fastReflection_MsgEvaluateProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectClass) +func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectEnrollment) } -func (x fastReflection_MsgEvaluateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectClass +func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgEvaluateProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectClass +func (x *fastReflection_MsgEvaluateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectEnrollment } // 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_MsgEvaluateProjectClass) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateProjectClass_messageType +func (x *fastReflection_MsgEvaluateProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateProjectClass) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectClass) +func (x *fastReflection_MsgEvaluateProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateProjectClass) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateProjectClass)(x) +func (x *fastReflection_MsgEvaluateProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -6108,28 +6108,28 @@ func (x *fastReflection_MsgEvaluateProjectClass) Interface() protoreflect.ProtoM // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgEvaluateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Issuer != "" { value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgEvaluateProjectClass_issuer, value) { + if !f(fd_MsgEvaluateProjectEnrollment_issuer, value) { return } } if x.ApplicationId != uint64(0) { value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgEvaluateProjectClass_application_id, value) { + if !f(fd_MsgEvaluateProjectEnrollment_application_id, value) { return } } if x.Evaluation != 0 { value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Evaluation)) - if !f(fd_MsgEvaluateProjectClass_evaluation, value) { + if !f(fd_MsgEvaluateProjectEnrollment_evaluation, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgEvaluateProjectClass_metadata, value) { + if !f(fd_MsgEvaluateProjectEnrollment_metadata, value) { return } } @@ -6146,21 +6146,21 @@ func (x *fastReflection_MsgEvaluateProjectClass) Range(f func(protoreflect.Field // 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_MsgEvaluateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": return x.Issuer != "" - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": return x.Evaluation != 0 - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6170,21 +6170,21 @@ func (x *fastReflection_MsgEvaluateProjectClass) Has(fd protoreflect.FieldDescri // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": x.Issuer = "" - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": x.Evaluation = 0 - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6194,25 +6194,25 @@ func (x *fastReflection_MsgEvaluateProjectClass) Clear(fd protoreflect.FieldDesc // 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_MsgEvaluateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": value := x.ApplicationId return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": value := x.Evaluation return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -6226,21 +6226,21 @@ func (x *fastReflection_MsgEvaluateProjectClass) Get(descriptor protoreflect.Fie // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": - x.Evaluation = (ProjectClassStatus)(value.Enum()) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": + x.Evaluation = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6254,52 +6254,52 @@ func (x *fastReflection_MsgEvaluateProjectClass) Set(fd protoreflect.FieldDescri // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": - panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": + panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": + panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment 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_MsgEvaluateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgEvaluateProjectClass.application_id": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.MsgEvaluateProjectClass.metadata": + case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment 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_MsgEvaluateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -6307,7 +6307,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) WhichOneof(d protoreflect.Oneof // 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_MsgEvaluateProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6318,7 +6318,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) GetUnknown() protoreflect.RawFi // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6330,7 +6330,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) SetUnknown(fields protoreflect. // 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_MsgEvaluateProjectClass) IsValid() bool { +func (x *fastReflection_MsgEvaluateProjectEnrollment) IsValid() bool { return x != nil } @@ -6340,9 +6340,9 @@ func (x *fastReflection_MsgEvaluateProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateProjectClass) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6378,7 +6378,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Meth } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectClass) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6432,7 +6432,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Meth }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectClass) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6464,10 +6464,10 @@ func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Meth fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6535,7 +6535,7 @@ func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Meth } b := dAtA[iNdEx] iNdEx++ - x.Evaluation |= ProjectClassStatus(b&0x7F) << shift + x.Evaluation |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -6608,23 +6608,23 @@ func (x *fastReflection_MsgEvaluateProjectClass) ProtoMethods() *protoiface.Meth } var ( - md_MsgEvaluateProjectClassResponse protoreflect.MessageDescriptor + md_MsgEvaluateProjectEnrollmentResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateProjectClassResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectClassResponse") + md_MsgEvaluateProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectEnrollmentResponse") } -var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectClassResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(nil) -type fastReflection_MsgEvaluateProjectClassResponse MsgEvaluateProjectClassResponse +type fastReflection_MsgEvaluateProjectEnrollmentResponse MsgEvaluateProjectEnrollmentResponse -func (x *MsgEvaluateProjectClassResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectClassResponse)(x) +func (x *MsgEvaluateProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(x) } -func (x *MsgEvaluateProjectClassResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgEvaluateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -6636,43 +6636,43 @@ func (x *MsgEvaluateProjectClassResponse) slowProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -var _fastReflection_MsgEvaluateProjectClassResponse_messageType fastReflection_MsgEvaluateProjectClassResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectClassResponse_messageType{} +var _fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType{} -type fastReflection_MsgEvaluateProjectClassResponse_messageType struct{} +type fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType struct{} -func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectClassResponse)(nil) +func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(nil) } -func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectClassResponse) +func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectEnrollmentResponse) } -func (x fastReflection_MsgEvaluateProjectClassResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectClassResponse +func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectEnrollmentResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectClassResponse +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgEvaluateProjectEnrollmentResponse } // 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_MsgEvaluateProjectClassResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateProjectClassResponse_messageType +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateProjectClassResponse) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectClassResponse) +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) New() protoreflect.Message { + return new(fastReflection_MsgEvaluateProjectEnrollmentResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateProjectClassResponse)(x) +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { + return (*MsgEvaluateProjectEnrollmentResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -6680,7 +6680,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Interface() protoreflec // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -6694,13 +6694,13 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Range(f func(protorefle // 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_MsgEvaluateProjectClassResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6710,13 +6710,13 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Has(fd protoreflect.Fie // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6726,13 +6726,13 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Clear(fd protoreflect.F // 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_MsgEvaluateProjectClassResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) } } @@ -6746,13 +6746,13 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Get(descriptor protoref // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6766,36 +6766,36 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) Set(fd protoreflect.Fie // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClassResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse 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_MsgEvaluateProjectClassResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectClassResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectClassResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse 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_MsgEvaluateProjectClassResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectClassResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse", d.FullName())) } panic("unreachable") } @@ -6803,7 +6803,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) WhichOneof(d protorefle // 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_MsgEvaluateProjectClassResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6814,7 +6814,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) GetUnknown() protorefle // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectClassResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6826,7 +6826,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) SetUnknown(fields proto // 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_MsgEvaluateProjectClassResponse) IsValid() bool { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) IsValid() bool { return x != nil } @@ -6836,9 +6836,9 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgEvaluateProjectClassResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6860,7 +6860,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) ProtoMethods() *protoif } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6890,7 +6890,7 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) ProtoMethods() *protoif }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectClassResponse) + x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6922,10 +6922,10 @@ func (x *fastReflection_MsgEvaluateProjectClassResponse) ProtoMethods() *protoif fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClassResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -29431,8 +29431,8 @@ func (x *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. -type MsgUpdateProjectClass struct { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +type MsgUpdateProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -29452,8 +29452,8 @@ type MsgUpdateProjectClass struct { Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgUpdateProjectClass) Reset() { - *x = MsgUpdateProjectClass{} +func (x *MsgUpdateProjectEnrollment) Reset() { + *x = MsgUpdateProjectEnrollment{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29461,54 +29461,54 @@ func (x *MsgUpdateProjectClass) Reset() { } } -func (x *MsgUpdateProjectClass) String() string { +func (x *MsgUpdateProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateProjectClass) ProtoMessage() {} +func (*MsgUpdateProjectEnrollment) ProtoMessage() {} -// Deprecated: Use MsgUpdateProjectClass.ProtoReflect.Descriptor instead. -func (*MsgUpdateProjectClass) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgUpdateProjectEnrollment.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{8} } -func (x *MsgUpdateProjectClass) GetProjectAdmin() string { +func (x *MsgUpdateProjectEnrollment) GetProjectAdmin() string { if x != nil { return x.ProjectAdmin } return "" } -func (x *MsgUpdateProjectClass) GetProjectId() string { +func (x *MsgUpdateProjectEnrollment) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *MsgUpdateProjectClass) GetClassId() string { +func (x *MsgUpdateProjectEnrollment) GetClassId() string { if x != nil { return x.ClassId } return "" } -func (x *MsgUpdateProjectClass) GetMetadata() string { +func (x *MsgUpdateProjectEnrollment) GetMetadata() string { if x != nil { return x.Metadata } return "" } -// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. -type MsgUpdateProjectClassResponse struct { +// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. +type MsgUpdateProjectEnrollmentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateProjectClassResponse) Reset() { - *x = MsgUpdateProjectClassResponse{} +func (x *MsgUpdateProjectEnrollmentResponse) Reset() { + *x = MsgUpdateProjectEnrollmentResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29516,19 +29516,19 @@ func (x *MsgUpdateProjectClassResponse) Reset() { } } -func (x *MsgUpdateProjectClassResponse) String() string { +func (x *MsgUpdateProjectEnrollmentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateProjectClassResponse) ProtoMessage() {} +func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateProjectClassResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateProjectClassResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgUpdateProjectEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{9} } -// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. -type MsgWithdrawProjectClass struct { +// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. +type MsgWithdrawProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -29544,8 +29544,8 @@ type MsgWithdrawProjectClass struct { Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgWithdrawProjectClass) Reset() { - *x = MsgWithdrawProjectClass{} +func (x *MsgWithdrawProjectEnrollment) Reset() { + *x = MsgWithdrawProjectEnrollment{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29553,47 +29553,47 @@ func (x *MsgWithdrawProjectClass) Reset() { } } -func (x *MsgWithdrawProjectClass) String() string { +func (x *MsgWithdrawProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgWithdrawProjectClass) ProtoMessage() {} +func (*MsgWithdrawProjectEnrollment) ProtoMessage() {} -// Deprecated: Use MsgWithdrawProjectClass.ProtoReflect.Descriptor instead. -func (*MsgWithdrawProjectClass) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgWithdrawProjectEnrollment.ProtoReflect.Descriptor instead. +func (*MsgWithdrawProjectEnrollment) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{10} } -func (x *MsgWithdrawProjectClass) GetProjectAdmin() string { +func (x *MsgWithdrawProjectEnrollment) GetProjectAdmin() string { if x != nil { return x.ProjectAdmin } return "" } -func (x *MsgWithdrawProjectClass) GetApplicationId() uint64 { +func (x *MsgWithdrawProjectEnrollment) GetApplicationId() uint64 { if x != nil { return x.ApplicationId } return 0 } -func (x *MsgWithdrawProjectClass) GetMetadata() string { +func (x *MsgWithdrawProjectEnrollment) GetMetadata() string { if x != nil { return x.Metadata } return "" } -// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. -type MsgWithdrawProjectClassResponse struct { +// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. +type MsgWithdrawProjectEnrollmentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgWithdrawProjectClassResponse) Reset() { - *x = MsgWithdrawProjectClassResponse{} +func (x *MsgWithdrawProjectEnrollmentResponse) Reset() { + *x = MsgWithdrawProjectEnrollmentResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29601,19 +29601,19 @@ func (x *MsgWithdrawProjectClassResponse) Reset() { } } -func (x *MsgWithdrawProjectClassResponse) String() string { +func (x *MsgWithdrawProjectEnrollmentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgWithdrawProjectClassResponse) ProtoMessage() {} +func (*MsgWithdrawProjectEnrollmentResponse) ProtoMessage() {} -// Deprecated: Use MsgWithdrawProjectClassResponse.ProtoReflect.Descriptor instead. -func (*MsgWithdrawProjectClassResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgWithdrawProjectEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*MsgWithdrawProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} } -// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. -type MsgEvaluateProjectClass struct { +// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. +type MsgEvaluateProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -29624,15 +29624,15 @@ type MsgEvaluateProjectClass struct { // application_id is the identifier of the application to evaluate. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. - Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` + Evaluation ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"evaluation,omitempty"` // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgEvaluateProjectClass) Reset() { - *x = MsgEvaluateProjectClass{} +func (x *MsgEvaluateProjectEnrollment) Reset() { + *x = MsgEvaluateProjectEnrollment{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29640,54 +29640,54 @@ func (x *MsgEvaluateProjectClass) Reset() { } } -func (x *MsgEvaluateProjectClass) String() string { +func (x *MsgEvaluateProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEvaluateProjectClass) ProtoMessage() {} +func (*MsgEvaluateProjectEnrollment) ProtoMessage() {} -// Deprecated: Use MsgEvaluateProjectClass.ProtoReflect.Descriptor instead. -func (*MsgEvaluateProjectClass) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgEvaluateProjectEnrollment.ProtoReflect.Descriptor instead. +func (*MsgEvaluateProjectEnrollment) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} } -func (x *MsgEvaluateProjectClass) GetIssuer() string { +func (x *MsgEvaluateProjectEnrollment) GetIssuer() string { if x != nil { return x.Issuer } return "" } -func (x *MsgEvaluateProjectClass) GetApplicationId() uint64 { +func (x *MsgEvaluateProjectEnrollment) GetApplicationId() uint64 { if x != nil { return x.ApplicationId } return 0 } -func (x *MsgEvaluateProjectClass) GetEvaluation() ProjectClassStatus { +func (x *MsgEvaluateProjectEnrollment) GetEvaluation() ProjectEnrollmentStatus { if x != nil { return x.Evaluation } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *MsgEvaluateProjectClass) GetMetadata() string { +func (x *MsgEvaluateProjectEnrollment) GetMetadata() string { if x != nil { return x.Metadata } return "" } -// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. -type MsgEvaluateProjectClassResponse struct { +// MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. +type MsgEvaluateProjectEnrollmentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgEvaluateProjectClassResponse) Reset() { - *x = MsgEvaluateProjectClassResponse{} +func (x *MsgEvaluateProjectEnrollmentResponse) Reset() { + *x = MsgEvaluateProjectEnrollmentResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29695,14 +29695,14 @@ func (x *MsgEvaluateProjectClassResponse) Reset() { } } -func (x *MsgEvaluateProjectClassResponse) String() string { +func (x *MsgEvaluateProjectEnrollmentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEvaluateProjectClassResponse) ProtoMessage() {} +func (*MsgEvaluateProjectEnrollmentResponse) ProtoMessage() {} -// Deprecated: Use MsgEvaluateProjectClassResponse.ProtoReflect.Descriptor instead. -func (*MsgEvaluateProjectClassResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgEvaluateProjectEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*MsgEvaluateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} } @@ -31874,520 +31874,525 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, 0xa6, 0x01, 0x0a, 0x15, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, - 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x21, 0x0a, 0x1f, 0x4d, - 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc9, - 0x01, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x65, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, - 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x21, 0x0a, 0x1f, 0x4d, 0x73, - 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, - 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, - 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x3f, 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, 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, - 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, - 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, - 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xab, 0x01, 0x0a, 0x1a, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, + 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, + 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, + 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, - 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, - 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, - 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, + 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, + 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, - 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, + 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, + 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 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, 0x1b, 0x0a, 0x09, 0x6e, - 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 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, 0x1f, - 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, - 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, - 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, - 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, - 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, - 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, - 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, + 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, + 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, + 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, + 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 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, 0x46, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, - 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, - 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x3f, 0x0a, 0x0a, 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, - 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, 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, 0x42, - 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, - 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, + 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, + 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 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, 0x46, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, + 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, + 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, - 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, - 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, - 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, - 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, - 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, + 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, + 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, - 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, - 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, - 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd1, 0x17, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, - 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, - 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, + 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, + 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, + 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x81, 0x18, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, - 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x31, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x78, 0x0a, 0x14, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, - 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x14, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, - 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, - 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, - 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, - 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x36, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, + 0x01, 0x0a, 0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, - 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, - 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, - 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, + 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, + 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, + 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, - 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, - 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, + 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, + 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, - 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, - 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, - 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, + 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, + 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, + 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -32412,12 +32417,12 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgCreateProjectResponse)(nil), // 5: regen.ecocredit.v1.MsgCreateProjectResponse (*MsgCreateUnregisteredProject)(nil), // 6: regen.ecocredit.v1.MsgCreateUnregisteredProject (*MsgCreateUnregisteredProjectResponse)(nil), // 7: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - (*MsgUpdateProjectClass)(nil), // 8: regen.ecocredit.v1.MsgUpdateProjectClass - (*MsgUpdateProjectClassResponse)(nil), // 9: regen.ecocredit.v1.MsgUpdateProjectClassResponse - (*MsgWithdrawProjectClass)(nil), // 10: regen.ecocredit.v1.MsgWithdrawProjectClass - (*MsgWithdrawProjectClassResponse)(nil), // 11: regen.ecocredit.v1.MsgWithdrawProjectClassResponse - (*MsgEvaluateProjectClass)(nil), // 12: regen.ecocredit.v1.MsgEvaluateProjectClass - (*MsgEvaluateProjectClassResponse)(nil), // 13: regen.ecocredit.v1.MsgEvaluateProjectClassResponse + (*MsgUpdateProjectEnrollment)(nil), // 8: regen.ecocredit.v1.MsgUpdateProjectEnrollment + (*MsgUpdateProjectEnrollmentResponse)(nil), // 9: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse + (*MsgWithdrawProjectEnrollment)(nil), // 10: regen.ecocredit.v1.MsgWithdrawProjectEnrollment + (*MsgWithdrawProjectEnrollmentResponse)(nil), // 11: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse + (*MsgEvaluateProjectEnrollment)(nil), // 12: regen.ecocredit.v1.MsgEvaluateProjectEnrollment + (*MsgEvaluateProjectEnrollmentResponse)(nil), // 13: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse (*MsgCreateBatch)(nil), // 14: regen.ecocredit.v1.MsgCreateBatch (*MsgCreateBatchResponse)(nil), // 15: regen.ecocredit.v1.MsgCreateBatchResponse (*MsgMintBatchCredits)(nil), // 16: regen.ecocredit.v1.MsgMintBatchCredits @@ -32465,7 +32470,7 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgBridgeReceive_Project)(nil), // 58: regen.ecocredit.v1.MsgBridgeReceive.Project (*CreditType)(nil), // 59: regen.ecocredit.v1.CreditType (*v1beta1.Coin)(nil), // 60: cosmos.base.v1beta1.Coin - (ProjectClassStatus)(0), // 61: regen.ecocredit.v1.ProjectClassStatus + (ProjectEnrollmentStatus)(0), // 61: regen.ecocredit.v1.ProjectEnrollmentStatus (*BatchIssuance)(nil), // 62: regen.ecocredit.v1.BatchIssuance (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp (*OriginTx)(nil), // 64: regen.ecocredit.v1.OriginTx @@ -32474,7 +32479,7 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ 59, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType 60, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin - 61, // 2: regen.ecocredit.v1.MsgEvaluateProjectClass.evaluation:type_name -> regen.ecocredit.v1.ProjectClassStatus + 61, // 2: regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus 62, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance 63, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp 63, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp @@ -32494,9 +32499,9 @@ var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ 2, // 19: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass 4, // 20: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject 6, // 21: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject - 8, // 22: regen.ecocredit.v1.Msg.UpdateProjectClass:input_type -> regen.ecocredit.v1.MsgUpdateProjectClass - 10, // 23: regen.ecocredit.v1.Msg.WithdrawProjectClass:input_type -> regen.ecocredit.v1.MsgWithdrawProjectClass - 12, // 24: regen.ecocredit.v1.Msg.EvaluateProjectClass:input_type -> regen.ecocredit.v1.MsgEvaluateProjectClass + 8, // 22: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollment + 10, // 23: regen.ecocredit.v1.Msg.WithdrawProjectEnrollment:input_type -> regen.ecocredit.v1.MsgWithdrawProjectEnrollment + 12, // 24: regen.ecocredit.v1.Msg.EvaluateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgEvaluateProjectEnrollment 14, // 25: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch 16, // 26: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits 18, // 27: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch @@ -32522,9 +32527,9 @@ var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ 3, // 47: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse 5, // 48: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse 7, // 49: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - 9, // 50: regen.ecocredit.v1.Msg.UpdateProjectClass:output_type -> regen.ecocredit.v1.MsgUpdateProjectClassResponse - 11, // 51: regen.ecocredit.v1.Msg.WithdrawProjectClass:output_type -> regen.ecocredit.v1.MsgWithdrawProjectClassResponse - 13, // 52: regen.ecocredit.v1.Msg.EvaluateProjectClass:output_type -> regen.ecocredit.v1.MsgEvaluateProjectClassResponse + 9, // 50: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse + 11, // 51: regen.ecocredit.v1.Msg.WithdrawProjectEnrollment:output_type -> regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse + 13, // 52: regen.ecocredit.v1.Msg.EvaluateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse 15, // 53: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse 17, // 54: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse 19, // 55: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse @@ -32659,7 +32664,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectClass); i { + switch v := v.(*MsgUpdateProjectEnrollment); i { case 0: return &v.state case 1: @@ -32671,7 +32676,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectClassResponse); i { + switch v := v.(*MsgUpdateProjectEnrollmentResponse); i { case 0: return &v.state case 1: @@ -32683,7 +32688,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawProjectClass); i { + switch v := v.(*MsgWithdrawProjectEnrollment); i { case 0: return &v.state case 1: @@ -32695,7 +32700,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawProjectClassResponse); i { + switch v := v.(*MsgWithdrawProjectEnrollmentResponse); i { case 0: return &v.state case 1: @@ -32707,7 +32712,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateProjectClass); i { + switch v := v.(*MsgEvaluateProjectEnrollment); i { case 0: return &v.state case 1: @@ -32719,7 +32724,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateProjectClassResponse); i { + switch v := v.(*MsgEvaluateProjectEnrollmentResponse); i { case 0: return &v.state case 1: diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index a0fdf823e8..6d4c2c6f20 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -22,9 +22,9 @@ const ( Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" Msg_CreateProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateProject" Msg_CreateUnregisteredProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateUnregisteredProject" - Msg_UpdateProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectClass" - Msg_WithdrawProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawProjectClass" - Msg_EvaluateProjectClass_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateProjectClass" + Msg_UpdateProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment" + Msg_WithdrawProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment" + Msg_EvaluateProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment" Msg_CreateBatch_FullMethodName = "/regen.ecocredit.v1.Msg/CreateBatch" Msg_MintBatchCredits_FullMethodName = "/regen.ecocredit.v1.Msg/MintBatchCredits" Msg_SealBatch_FullMethodName = "/regen.ecocredit.v1.Msg/SealBatch" @@ -70,10 +70,10 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectClass creates a new project credit class application, updates + // UpdateProjectEnrollment creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. - // A project may have a relationship with at most one credit class per credit type - // but can have relationships with multiple credit classes across different credit + // A project may be enrolled in at most one credit class per credit type + // but can be enrolled in multiple credit classes across different credit // types. This can be useful, for example for issuing pre-financing forward contracts // while making progress towards issuing credits in an outcome based program. // Projects that are already accepted into a credit class can only update @@ -81,12 +81,12 @@ type MsgClient interface { // to "changes requested". // // Since Revision 3 - UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) - // WithdrawProjectClass withdraws a project from a credit class application - // or relationship unilaterally on the part of a project admin. + UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) + // WithdrawProjectEnrollment withdraws a project from a credit class application + // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 - WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) + WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) // EvaluateProjectClass allows a credit class issuer to evaluate a project // application or existing relationship, either approving, requesting changes to, or // rejecting it. Any issuer in the credit class may update the project credit @@ -98,7 +98,7 @@ type MsgClient interface { // application the CreateProject method should be used instead. // // Since Revision 3 - EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) + EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -252,27 +252,27 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) { - out := new(MsgUpdateProjectClassResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectClass_FullMethodName, in, out, opts...) +func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { + out := new(MsgUpdateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, Msg_UpdateProjectEnrollment_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) { - out := new(MsgWithdrawProjectClassResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawProjectClass_FullMethodName, in, out, opts...) +func (c *msgClient) WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) { + out := new(MsgWithdrawProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, Msg_WithdrawProjectEnrollment_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) { - out := new(MsgEvaluateProjectClassResponse) - err := c.cc.Invoke(ctx, Msg_EvaluateProjectClass_FullMethodName, in, out, opts...) +func (c *msgClient) EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) { + out := new(MsgEvaluateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, Msg_EvaluateProjectEnrollment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -498,10 +498,10 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectClass creates a new project credit class application, updates + // UpdateProjectEnrollment creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. - // A project may have a relationship with at most one credit class per credit type - // but can have relationships with multiple credit classes across different credit + // A project may be enrolled in at most one credit class per credit type + // but can be enrolled in multiple credit classes across different credit // types. This can be useful, for example for issuing pre-financing forward contracts // while making progress towards issuing credits in an outcome based program. // Projects that are already accepted into a credit class can only update @@ -509,12 +509,12 @@ type MsgServer interface { // to "changes requested". // // Since Revision 3 - UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) - // WithdrawProjectClass withdraws a project from a credit class application - // or relationship unilaterally on the part of a project admin. + UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) + // WithdrawProjectEnrollment withdraws a project from a credit class application + // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 - WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) + WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) // EvaluateProjectClass allows a credit class issuer to evaluate a project // application or existing relationship, either approving, requesting changes to, or // rejecting it. Any issuer in the credit class may update the project credit @@ -526,7 +526,7 @@ type MsgServer interface { // application the CreateProject method should be used instead. // // Since Revision 3 - EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) + EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -659,14 +659,14 @@ func (UnimplementedMsgServer) CreateProject(context.Context, *MsgCreateProject) func (UnimplementedMsgServer) CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } -func (UnimplementedMsgServer) UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectClass not implemented") +func (UnimplementedMsgServer) UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectEnrollment not implemented") } -func (UnimplementedMsgServer) WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectClass not implemented") +func (UnimplementedMsgServer) WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectEnrollment not implemented") } -func (UnimplementedMsgServer) EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectClass not implemented") +func (UnimplementedMsgServer) EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectEnrollment not implemented") } func (UnimplementedMsgServer) CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") @@ -801,56 +801,56 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_UpdateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectClass) +func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateProjectClass(ctx, in) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_UpdateProjectClass_FullMethodName, + FullMethod: Msg_UpdateProjectEnrollment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectClass(ctx, req.(*MsgUpdateProjectClass)) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } -func _Msg_WithdrawProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawProjectClass) +func _Msg_WithdrawProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawProjectClass(ctx, in) + return srv.(MsgServer).WithdrawProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_WithdrawProjectClass_FullMethodName, + FullMethod: Msg_WithdrawProjectEnrollment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawProjectClass(ctx, req.(*MsgWithdrawProjectClass)) + return srv.(MsgServer).WithdrawProjectEnrollment(ctx, req.(*MsgWithdrawProjectEnrollment)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateProjectClass) +func _Msg_EvaluateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateProjectClass(ctx, in) + return srv.(MsgServer).EvaluateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_EvaluateProjectClass_FullMethodName, + FullMethod: Msg_EvaluateProjectEnrollment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateProjectClass(ctx, req.(*MsgEvaluateProjectClass)) + return srv.(MsgServer).EvaluateProjectEnrollment(ctx, req.(*MsgEvaluateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } @@ -1271,16 +1271,16 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "UpdateProjectClass", - Handler: _Msg_UpdateProjectClass_Handler, + MethodName: "UpdateProjectEnrollment", + Handler: _Msg_UpdateProjectEnrollment_Handler, }, { - MethodName: "WithdrawProjectClass", - Handler: _Msg_WithdrawProjectClass_Handler, + MethodName: "WithdrawProjectEnrollment", + Handler: _Msg_WithdrawProjectEnrollment_Handler, }, { - MethodName: "EvaluateProjectClass", - Handler: _Msg_EvaluateProjectClass_Handler, + MethodName: "EvaluateProjectEnrollment", + Handler: _Msg_EvaluateProjectEnrollment_Handler, }, { MethodName: "CreateBatch", diff --git a/x/ecocredit/base/types/v1/events.pb.go b/x/ecocredit/base/types/v1/events.pb.go index 7f065c6a4e..be7936e441 100644 --- a/x/ecocredit/base/types/v1/events.pb.go +++ b/x/ecocredit/base/types/v1/events.pb.go @@ -1242,6 +1242,8 @@ type EventWithdrawProjectClass struct { ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // class_id is the unique identifier of the class that was withdrawn from. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // old_status is the old status of the project class relationship before withdrawal. + OldStatus ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` } func (m *EventWithdrawProjectClass) Reset() { *m = EventWithdrawProjectClass{} } @@ -1291,6 +1293,13 @@ func (m *EventWithdrawProjectClass) GetClassId() string { return "" } +func (m *EventWithdrawProjectClass) GetOldStatus() ProjectEnrollmentStatus { + if m != nil { + return m.OldStatus + } + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED +} + // EventEvaluateProjectClass is emitted when a project class relationship is // evaluated by a credit class issuer. type EventEvaluateProjectClass struct { @@ -1303,9 +1312,9 @@ type EventEvaluateProjectClass struct { // evaluated. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // old_status is the old status of the project class relationship. - OldStatus ProjectClassStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"old_status,omitempty"` + OldStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` // new_status is the new status of the project class relationship. - NewStatus ProjectClassStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"new_status,omitempty"` + NewStatus ProjectEnrollmentStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` // new_class_metadata is any new class metadata. NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` } @@ -1364,18 +1373,18 @@ func (m *EventEvaluateProjectClass) GetClassId() string { return "" } -func (m *EventEvaluateProjectClass) GetOldStatus() ProjectClassStatus { +func (m *EventEvaluateProjectClass) GetOldStatus() ProjectEnrollmentStatus { if m != nil { return m.OldStatus } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *EventEvaluateProjectClass) GetNewStatus() ProjectClassStatus { +func (m *EventEvaluateProjectClass) GetNewStatus() ProjectEnrollmentStatus { if m != nil { return m.NewStatus } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } func (m *EventEvaluateProjectClass) GetNewClassMetadata() string { @@ -1413,59 +1422,60 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/events.proto", fileDescriptor_e32415575ff8b4b2) } var fileDescriptor_e32415575ff8b4b2 = []byte{ - // 830 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x4f, 0x1b, 0x3b, - 0x14, 0x65, 0xf2, 0xf5, 0x88, 0x79, 0xe4, 0xa1, 0x11, 0x8f, 0x02, 0xa2, 0x01, 0x8d, 0xd4, 0x96, - 0x45, 0x49, 0x1a, 0x68, 0x25, 0xaa, 0x2e, 0x2a, 0x92, 0xb2, 0x60, 0x81, 0x5a, 0x05, 0x50, 0x3f, - 0x36, 0x91, 0x67, 0x7c, 0x1b, 0x4c, 0x27, 0x76, 0xe4, 0xf1, 0x24, 0x20, 0x75, 0xdb, 0x7d, 0x97, - 0xfd, 0x07, 0x55, 0x37, 0x5d, 0xf6, 0x37, 0x74, 0xc9, 0xb2, 0xcb, 0x0a, 0xfe, 0x48, 0x35, 0x1e, - 0xcf, 0x24, 0x93, 0xa4, 0x09, 0x54, 0x74, 0xe7, 0x7b, 0xe3, 0xe3, 0x73, 0x7c, 0x7d, 0xcf, 0xcd, - 0xa0, 0x55, 0x01, 0x4d, 0x60, 0x65, 0x70, 0xb8, 0x23, 0x80, 0x50, 0x59, 0xee, 0x54, 0xca, 0xd0, - 0x01, 0x26, 0xbd, 0x52, 0x5b, 0x70, 0xc9, 0x4d, 0x53, 0x6d, 0x28, 0xc5, 0x1b, 0x4a, 0x9d, 0xca, - 0x72, 0x71, 0x04, 0x48, 0x9e, 0xb5, 0x41, 0x63, 0x46, 0xfe, 0xee, 0x49, 0x2c, 0x21, 0xfc, 0xdd, - 0xda, 0x40, 0x73, 0xbb, 0x01, 0x47, 0x4d, 0x00, 0x96, 0x50, 0x73, 0xb1, 0xe7, 0x99, 0x4b, 0x68, - 0xda, 0x09, 0x16, 0x0d, 0x4a, 0x16, 0x8d, 0x35, 0x63, 0x3d, 0x5f, 0xff, 0x47, 0xc5, 0x7b, 0xc4, - 0xda, 0x42, 0x66, 0xdf, 0xf6, 0x17, 0x82, 0x9f, 0x80, 0x23, 0xcd, 0xdb, 0x08, 0xb5, 0xc3, 0x65, - 0x0f, 0x92, 0xd7, 0x99, 0x3d, 0x62, 0xb1, 0x04, 0x47, 0x15, 0x4b, 0xe7, 0xd8, 0x5c, 0x45, 0x33, - 0x76, 0xb0, 0x68, 0x10, 0x60, 0xbc, 0xa5, 0x31, 0x48, 0xa5, 0x9e, 0x05, 0x19, 0xf3, 0x31, 0xca, - 0x73, 0x41, 0x9b, 0x94, 0x35, 0xe4, 0xe9, 0x62, 0x6a, 0xcd, 0x58, 0x9f, 0xd9, 0x5c, 0x29, 0x0d, - 0x17, 0xa0, 0xf4, 0x5c, 0x6d, 0x3a, 0x3c, 0xad, 0x4f, 0x73, 0xbd, 0xb2, 0xde, 0xa3, 0xbc, 0xe2, - 0xdb, 0xa7, 0x4c, 0x4e, 0x26, 0xba, 0x87, 0xfe, 0x93, 0x02, 0x13, 0x6c, 0xbb, 0xd0, 0xc0, 0x2d, - 0xee, 0x33, 0xa9, 0xe8, 0xf2, 0xf5, 0x42, 0x94, 0xde, 0x51, 0x59, 0xf3, 0x0e, 0x2a, 0x08, 0x90, - 0x54, 0x00, 0x89, 0xf6, 0xa5, 0xd5, 0xbe, 0x59, 0x9d, 0x0d, 0xb7, 0x59, 0x1e, 0xfa, 0x3f, 0x66, - 0x57, 0x77, 0xad, 0x29, 0xad, 0xde, 0x5f, 0xbd, 0xf2, 0x37, 0x03, 0xcd, 0x2a, 0xd6, 0x43, 0x81, - 0x99, 0xf7, 0x16, 0x84, 0xb9, 0x80, 0x72, 0x1e, 0x30, 0x02, 0x42, 0x13, 0xe9, 0xc8, 0x5c, 0x41, - 0x79, 0x01, 0x0e, 0x6d, 0x53, 0x88, 0x2f, 0xda, 0x4b, 0x0c, 0x6a, 0x4c, 0x5f, 0xa5, 0x5a, 0x99, - 0x2b, 0x56, 0x2b, 0x3b, 0xaa, 0x5a, 0x9f, 0x0c, 0x34, 0xa3, 0x84, 0xd7, 0x55, 0xda, 0x9c, 0x47, - 0x59, 0xde, 0x65, 0xb1, 0xea, 0x30, 0x18, 0x94, 0x95, 0x1a, 0x92, 0xb5, 0x80, 0x72, 0x89, 0x37, - 0xd1, 0x91, 0x69, 0xa1, 0x7f, 0x4f, 0x7c, 0x41, 0x3d, 0x42, 0x1d, 0x49, 0x39, 0xd3, 0x5a, 0x13, - 0xb9, 0x00, 0x2b, 0x00, 0x7b, 0x9c, 0x69, 0x85, 0x3a, 0xb2, 0xa4, 0x56, 0x56, 0xc3, 0xcc, 0x01, - 0xf7, 0xa6, 0x95, 0xf5, 0x58, 0x33, 0x09, 0xd6, 0x4d, 0xdd, 0x3e, 0x47, 0x6d, 0x12, 0x19, 0x72, - 0x87, 0xb4, 0x28, 0x1b, 0xe7, 0xca, 0x87, 0xe8, 0xd6, 0x20, 0x66, 0xcf, 0xf3, 0x7c, 0x10, 0x63, - 0xbd, 0xfc, 0x08, 0x2d, 0x0e, 0xa2, 0xf6, 0x41, 0x62, 0x82, 0x25, 0x1e, 0x07, 0xdb, 0x4e, 0x90, - 0xe9, 0x11, 0x10, 0x4a, 0x9c, 0x30, 0x07, 0x9e, 0xa0, 0xe5, 0x61, 0x64, 0x4c, 0x39, 0x11, 0xdc, - 0xaf, 0x56, 0x19, 0x2b, 0x86, 0x4e, 0x72, 0x96, 0x55, 0x41, 0x05, 0x05, 0x3e, 0x00, 0xec, 0x5e, - 0x6d, 0xfe, 0x58, 0xdb, 0x7a, 0xd2, 0xed, 0x10, 0x12, 0x1a, 0xf8, 0xf0, 0xac, 0x0d, 0x41, 0x3f, - 0x61, 0xdb, 0x16, 0xd0, 0xa1, 0x58, 0xf5, 0x53, 0x88, 0x4b, 0xe4, 0xac, 0xaf, 0x51, 0x4b, 0x57, - 0x05, 0x25, 0x4d, 0x08, 0x5e, 0x5a, 0x62, 0xd1, 0x04, 0x19, 0x39, 0x31, 0x8c, 0x26, 0x38, 0x71, - 0x19, 0x4d, 0x3b, 0x9c, 0x49, 0x81, 0x9d, 0xa8, 0x73, 0xe2, 0xb8, 0xaf, 0xa7, 0x32, 0x89, 0x9e, - 0x8a, 0x5b, 0x34, 0x3b, 0xa6, 0x45, 0x73, 0x43, 0x57, 0xfd, 0x6c, 0xe8, 0xbb, 0x86, 0x82, 0xeb, - 0xe0, 0x00, 0xed, 0xc0, 0x84, 0x07, 0xf9, 0xf3, 0xce, 0x4f, 0x8c, 0xb9, 0xcc, 0xb5, 0xc6, 0xdc, - 0x2b, 0xfd, 0x8e, 0x55, 0x5f, 0xb0, 0x7a, 0x80, 0x08, 0x48, 0x6c, 0x5f, 0xf4, 0x6c, 0xa9, 0xa3, - 0x3e, 0xf2, 0xd4, 0x6f, 0x6c, 0x97, 0x4e, 0xd8, 0xee, 0x83, 0x31, 0xaa, 0xad, 0xc3, 0xff, 0xc3, - 0x09, 0x85, 0xe8, 0xf7, 0x4a, 0x2a, 0xe1, 0x15, 0xf3, 0x01, 0x9a, 0x67, 0xd0, 0x6d, 0x44, 0xe8, - 0x96, 0x6e, 0x58, 0xcd, 0x6d, 0x32, 0xe8, 0x0e, 0xb8, 0xc0, 0x3a, 0x42, 0x4b, 0x4a, 0xc6, 0x4b, - 0x2a, 0x8f, 0x89, 0xc0, 0xdd, 0x9b, 0x11, 0x62, 0x7d, 0x49, 0xe9, 0x73, 0x77, 0x3b, 0xd8, 0xf5, - 0x07, 0x2f, 0xb8, 0x80, 0x72, 0x54, 0xcd, 0x8b, 0xa8, 0x88, 0x61, 0x34, 0xc0, 0x97, 0x1a, 0xc7, - 0x97, 0x4e, 0x5e, 0x7c, 0x17, 0x21, 0xee, 0x92, 0x46, 0xf0, 0xa5, 0xe1, 0x7b, 0xea, 0x91, 0x0b, - 0x9b, 0x77, 0x47, 0x3d, 0x72, 0xbf, 0x8e, 0x03, 0xb5, 0xbb, 0x9e, 0xe7, 0x2e, 0x09, 0x97, 0xc1, - 0x31, 0x41, 0xfd, 0xf4, 0x31, 0xd9, 0xeb, 0x1d, 0xc3, 0xa0, 0xab, 0x8f, 0xb9, 0x8f, 0x82, 0x52, - 0x37, 0x42, 0xb1, 0xf1, 0x23, 0x84, 0x46, 0x98, 0x63, 0xd0, 0x4d, 0xcc, 0xbe, 0xea, 0xeb, 0xef, - 0x17, 0x45, 0xe3, 0xfc, 0xa2, 0x68, 0xfc, 0xbc, 0x28, 0x1a, 0x1f, 0x2f, 0x8b, 0x53, 0xe7, 0x97, - 0xc5, 0xa9, 0x1f, 0x97, 0xc5, 0xa9, 0x37, 0x4f, 0x9b, 0x54, 0x1e, 0xfb, 0x76, 0xc9, 0xe1, 0xad, - 0xb2, 0x12, 0xb1, 0xc1, 0x40, 0x76, 0xb9, 0x78, 0xa7, 0x23, 0x17, 0x48, 0x13, 0x44, 0xf9, 0xb4, - 0xef, 0x73, 0xcb, 0xc6, 0x1e, 0x84, 0x1f, 0x64, 0xe5, 0x4e, 0xc5, 0xce, 0xa9, 0x8f, 0xae, 0xad, - 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x65, 0x04, 0x32, 0xeb, 0x09, 0x00, 0x00, + // 842 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x6f, 0x13, 0x3b, + 0x14, 0xed, 0xe4, 0xeb, 0x35, 0xee, 0x6b, 0x5e, 0x35, 0xea, 0xeb, 0x6b, 0xab, 0xbe, 0xb4, 0x1a, + 0x09, 0x51, 0x09, 0x9a, 0x90, 0x16, 0xa4, 0x22, 0x16, 0xa8, 0x09, 0x5d, 0x14, 0xa9, 0x02, 0x85, + 0x22, 0x3e, 0x36, 0x91, 0x67, 0x7c, 0x49, 0x5d, 0x26, 0x76, 0xe4, 0xf1, 0x24, 0xad, 0xc4, 0x96, + 0x3d, 0x4b, 0xb6, 0xac, 0xd8, 0xb1, 0x41, 0xe2, 0x37, 0xb0, 0xec, 0x92, 0x25, 0x6a, 0xff, 0x08, + 0x1a, 0x8f, 0x67, 0x92, 0x49, 0x42, 0x52, 0x4a, 0xd9, 0xf9, 0xde, 0xf8, 0xf8, 0x1c, 0xfb, 0xde, + 0x73, 0x33, 0x68, 0x55, 0x40, 0x13, 0x58, 0x19, 0x1c, 0xee, 0x08, 0x20, 0x54, 0x96, 0x3b, 0x95, + 0x32, 0x74, 0x80, 0x49, 0xaf, 0xd4, 0x16, 0x5c, 0x72, 0xd3, 0x54, 0x1b, 0x4a, 0xf1, 0x86, 0x52, + 0xa7, 0xb2, 0x5c, 0x1c, 0x01, 0x92, 0x27, 0x6d, 0xd0, 0x98, 0x91, 0xbf, 0x7b, 0x12, 0x4b, 0x08, + 0x7f, 0xb7, 0x36, 0xd0, 0xdc, 0x6e, 0xc0, 0x51, 0x13, 0x80, 0x25, 0xd4, 0x5c, 0xec, 0x79, 0xe6, + 0x12, 0x9a, 0x76, 0x82, 0x45, 0x83, 0x92, 0x45, 0x63, 0xcd, 0x58, 0xcf, 0xd7, 0xff, 0x52, 0xf1, + 0x1e, 0xb1, 0xb6, 0x90, 0xd9, 0xb7, 0xfd, 0xb1, 0xe0, 0x47, 0xe0, 0x48, 0xf3, 0x7f, 0x84, 0xda, + 0xe1, 0xb2, 0x07, 0xc9, 0xeb, 0xcc, 0x1e, 0xb1, 0x58, 0x82, 0xa3, 0x8a, 0xa5, 0x73, 0x68, 0xae, + 0xa2, 0x19, 0x3b, 0x58, 0x34, 0x08, 0x30, 0xde, 0xd2, 0x18, 0xa4, 0x52, 0x0f, 0x82, 0x8c, 0x79, + 0x17, 0xe5, 0xb9, 0xa0, 0x4d, 0xca, 0x1a, 0xf2, 0x78, 0x31, 0xb5, 0x66, 0xac, 0xcf, 0x6c, 0xae, + 0x94, 0x86, 0x1f, 0xa0, 0xf4, 0x48, 0x6d, 0x3a, 0x38, 0xae, 0x4f, 0x73, 0xbd, 0xb2, 0xde, 0xa0, + 0xbc, 0xe2, 0xdb, 0xa7, 0x4c, 0x4e, 0x26, 0xba, 0x8e, 0xfe, 0x91, 0x02, 0x13, 0x6c, 0xbb, 0xd0, + 0xc0, 0x2d, 0xee, 0x33, 0xa9, 0xe8, 0xf2, 0xf5, 0x42, 0x94, 0xde, 0x51, 0x59, 0xf3, 0x1a, 0x2a, + 0x08, 0x90, 0x54, 0x00, 0x89, 0xf6, 0xa5, 0xd5, 0xbe, 0x59, 0x9d, 0x0d, 0xb7, 0x59, 0x1e, 0xfa, + 0x37, 0x66, 0x57, 0x77, 0xad, 0x29, 0xad, 0xde, 0x1f, 0xbd, 0xf2, 0x17, 0x03, 0xcd, 0x2a, 0xd6, + 0x03, 0x81, 0x99, 0xf7, 0x0a, 0x84, 0xb9, 0x80, 0x72, 0x1e, 0x30, 0x02, 0x42, 0x13, 0xe9, 0xc8, + 0x5c, 0x41, 0x79, 0x01, 0x0e, 0x6d, 0x53, 0x88, 0x2f, 0xda, 0x4b, 0x0c, 0x6a, 0x4c, 0x5f, 0xe4, + 0xb5, 0x32, 0x17, 0x7c, 0xad, 0xec, 0xa8, 0xd7, 0x7a, 0x6f, 0xa0, 0x19, 0x25, 0xbc, 0xae, 0xd2, + 0xe6, 0x3c, 0xca, 0xf2, 0x2e, 0x8b, 0x55, 0x87, 0xc1, 0xa0, 0xac, 0xd4, 0x90, 0xac, 0x05, 0x94, + 0x4b, 0xd4, 0x44, 0x47, 0xa6, 0x85, 0xfe, 0x3e, 0xf2, 0x05, 0xf5, 0x08, 0x75, 0x24, 0xe5, 0x4c, + 0x6b, 0x4d, 0xe4, 0x02, 0xac, 0x00, 0xec, 0x71, 0xa6, 0x15, 0xea, 0xc8, 0x92, 0x5a, 0x59, 0x0d, + 0x33, 0x07, 0xdc, 0xab, 0x56, 0xd6, 0x63, 0xcd, 0x24, 0x58, 0x37, 0x75, 0xfb, 0x3c, 0x6d, 0x93, + 0xc8, 0x90, 0x3b, 0xa4, 0x45, 0xd9, 0x38, 0x57, 0xde, 0x46, 0xff, 0x0d, 0x62, 0xf6, 0x3c, 0xcf, + 0x07, 0x31, 0xd6, 0xcb, 0x77, 0xd0, 0xe2, 0x20, 0x6a, 0x1f, 0x24, 0x26, 0x58, 0xe2, 0x71, 0xb0, + 0xed, 0x04, 0x99, 0x1e, 0x01, 0xa1, 0xc4, 0x09, 0x73, 0xe0, 0x1e, 0x5a, 0x1e, 0x46, 0xc6, 0x94, + 0x13, 0xc1, 0xfd, 0x6a, 0x95, 0xb1, 0x62, 0xe8, 0x24, 0x67, 0x59, 0x15, 0x54, 0x50, 0xe0, 0x27, + 0x80, 0xdd, 0x8b, 0xcd, 0x1f, 0x6b, 0x5b, 0x4f, 0xba, 0x1d, 0x42, 0x42, 0x03, 0x1f, 0x9c, 0xb4, + 0x21, 0xe8, 0x27, 0x6c, 0xdb, 0x02, 0x3a, 0x14, 0xab, 0x7e, 0x0a, 0x71, 0x89, 0x9c, 0xf5, 0x29, + 0x6a, 0xe9, 0xaa, 0xa0, 0xa4, 0x09, 0x41, 0xa5, 0x25, 0x16, 0x4d, 0x90, 0x91, 0x13, 0xc3, 0x68, + 0x82, 0x13, 0x97, 0xd1, 0xb4, 0xc3, 0x99, 0x14, 0xd8, 0x89, 0x3a, 0x27, 0x8e, 0xfb, 0x7a, 0x2a, + 0x93, 0xe8, 0xa9, 0xb8, 0x45, 0xb3, 0x63, 0x5a, 0x34, 0x37, 0x74, 0xd5, 0x8f, 0x86, 0xbe, 0x6b, + 0x28, 0xb8, 0x0e, 0x0e, 0xd0, 0x0e, 0x4c, 0x28, 0xc8, 0xe5, 0x3b, 0x3f, 0x31, 0xe6, 0x32, 0xbf, + 0x34, 0xe6, 0x9e, 0xeb, 0x3a, 0x56, 0x7d, 0xc1, 0xea, 0x01, 0x22, 0x20, 0xb1, 0x7d, 0xd1, 0xb3, + 0xa5, 0x8e, 0xfa, 0xc8, 0x53, 0x3f, 0xb1, 0x5d, 0x3a, 0x61, 0xbb, 0xb7, 0xc6, 0xa8, 0xb6, 0x0e, + 0xff, 0x0f, 0x27, 0x3c, 0x44, 0xbf, 0x57, 0x52, 0x09, 0xaf, 0x98, 0xb7, 0xd0, 0x3c, 0x83, 0x6e, + 0x23, 0x42, 0xb7, 0x74, 0xc3, 0x6a, 0x6e, 0x93, 0x41, 0x77, 0xc0, 0x05, 0xd6, 0x07, 0x03, 0x2d, + 0x29, 0x1d, 0xcf, 0xa8, 0x3c, 0x24, 0x02, 0x77, 0xaf, 0x48, 0xc9, 0x43, 0x84, 0xb8, 0x4b, 0x1a, + 0xc1, 0x5f, 0xbf, 0xef, 0x29, 0xfe, 0xc2, 0xe6, 0x8d, 0x51, 0xaf, 0xae, 0xf9, 0x76, 0x99, 0xe0, + 0xae, 0xdb, 0x0a, 0x3c, 0xa3, 0x20, 0xf5, 0x3c, 0x77, 0x49, 0xb8, 0xb4, 0x3e, 0xa7, 0xb4, 0xc6, + 0xdd, 0x0e, 0x76, 0xfd, 0xc1, 0xd7, 0x5a, 0x40, 0x39, 0xaa, 0x86, 0x4f, 0x54, 0x91, 0x30, 0x1a, + 0xd0, 0x9e, 0x1a, 0xa7, 0x3d, 0x3d, 0x4e, 0x7b, 0xe6, 0x77, 0xb4, 0x07, 0x67, 0x05, 0x15, 0xd1, + 0x67, 0x65, 0x2f, 0x71, 0x16, 0x83, 0xae, 0x3e, 0xeb, 0x26, 0x0a, 0x2a, 0xd8, 0x08, 0x65, 0xc7, + 0xb5, 0x0d, 0xfd, 0x35, 0xc7, 0xa0, 0x9b, 0x18, 0xa9, 0xd5, 0x17, 0x5f, 0xcf, 0x8a, 0xc6, 0xe9, + 0x59, 0xd1, 0xf8, 0x7e, 0x56, 0x34, 0xde, 0x9d, 0x17, 0xa7, 0x4e, 0xcf, 0x8b, 0x53, 0xdf, 0xce, + 0x8b, 0x53, 0x2f, 0xef, 0x37, 0xa9, 0x3c, 0xf4, 0xed, 0x92, 0xc3, 0x5b, 0x65, 0xa5, 0x64, 0x83, + 0x81, 0xec, 0x72, 0xf1, 0x5a, 0x47, 0x2e, 0x90, 0x26, 0x88, 0xf2, 0x71, 0xdf, 0x57, 0x9c, 0x8d, + 0x3d, 0x08, 0xbf, 0xf3, 0xca, 0x9d, 0x8a, 0x9d, 0x53, 0xdf, 0x72, 0x5b, 0x3f, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x3b, 0x43, 0x5f, 0xb0, 0x42, 0x0a, 0x00, 0x00, } func (m *EventCreateClass) Marshal() (dAtA []byte, err error) { @@ -2292,6 +2302,11 @@ func (m *EventWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l + if m.OldStatus != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.OldStatus)) + i-- + dAtA[i] = 0x18 + } if len(m.ClassId) > 0 { i -= len(m.ClassId) copy(dAtA[i:], m.ClassId) @@ -2763,6 +2778,9 @@ func (m *EventWithdrawProjectClass) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + if m.OldStatus != 0 { + n += 1 + sovEvents(uint64(m.OldStatus)) + } return n } @@ -5412,6 +5430,25 @@ func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { } m.ClassId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OldStatus", wireType) + } + m.OldStatus = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -5572,7 +5609,7 @@ func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OldStatus |= ProjectClassStatus(b&0x7F) << shift + m.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -5591,7 +5628,7 @@ func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NewStatus |= ProjectClassStatus(b&0x7F) << shift + m.NewStatus |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index 9f64a2e242..7e6d71d0af 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3038,28 +3038,28 @@ func (m *QueryAllowedBridgeChainsResponse) GetAllowedBridgeChains() []string { return nil } -// QueryProjectClassRequest is the Query/ProjectClass request type. +// QueryProjectEnrollmentRequest is the Query/ProjectEnrollment request type. // // Since Revision 3 -type QueryProjectClassRequest struct { +type QueryProjectEnrollmentRequest struct { // project_id is the unique identifier of the project to query. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // class_id is the unique identifier of the credit class to query. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` } -func (m *QueryProjectClassRequest) Reset() { *m = QueryProjectClassRequest{} } -func (m *QueryProjectClassRequest) String() string { return proto.CompactTextString(m) } -func (*QueryProjectClassRequest) ProtoMessage() {} -func (*QueryProjectClassRequest) Descriptor() ([]byte, []int) { +func (m *QueryProjectEnrollmentRequest) Reset() { *m = QueryProjectEnrollmentRequest{} } +func (m *QueryProjectEnrollmentRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProjectEnrollmentRequest) ProtoMessage() {} +func (*QueryProjectEnrollmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor_c85efa417eafb74b, []int{56} } -func (m *QueryProjectClassRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryProjectEnrollmentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProjectClassRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProjectEnrollmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProjectClassRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProjectEnrollmentRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3069,52 +3069,52 @@ func (m *QueryProjectClassRequest) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *QueryProjectClassRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProjectClassRequest.Merge(m, src) +func (m *QueryProjectEnrollmentRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectEnrollmentRequest.Merge(m, src) } -func (m *QueryProjectClassRequest) XXX_Size() int { +func (m *QueryProjectEnrollmentRequest) XXX_Size() int { return m.Size() } -func (m *QueryProjectClassRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProjectClassRequest.DiscardUnknown(m) +func (m *QueryProjectEnrollmentRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectEnrollmentRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryProjectClassRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryProjectEnrollmentRequest proto.InternalMessageInfo -func (m *QueryProjectClassRequest) GetProjectId() string { +func (m *QueryProjectEnrollmentRequest) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *QueryProjectClassRequest) GetClassId() string { +func (m *QueryProjectEnrollmentRequest) GetClassId() string { if m != nil { return m.ClassId } return "" } -// QueryProjectClassResponse is the Query/ProjectClass response type. +// QueryProjectEnrollmentResponse is the Query/ProjectEnrollment response type. // // Since Revision 3 -type QueryProjectClassResponse struct { +type QueryProjectEnrollmentResponse struct { // project_class is the fetched project class relationship. - ProjectClass *ProjectClass `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` + ProjectClass *ProjectEnrollment `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` } -func (m *QueryProjectClassResponse) Reset() { *m = QueryProjectClassResponse{} } -func (m *QueryProjectClassResponse) String() string { return proto.CompactTextString(m) } -func (*QueryProjectClassResponse) ProtoMessage() {} -func (*QueryProjectClassResponse) Descriptor() ([]byte, []int) { +func (m *QueryProjectEnrollmentResponse) Reset() { *m = QueryProjectEnrollmentResponse{} } +func (m *QueryProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProjectEnrollmentResponse) ProtoMessage() {} +func (*QueryProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor_c85efa417eafb74b, []int{57} } -func (m *QueryProjectClassResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProjectClassResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProjectEnrollmentResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3124,47 +3124,47 @@ func (m *QueryProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *QueryProjectClassResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProjectClassResponse.Merge(m, src) +func (m *QueryProjectEnrollmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectEnrollmentResponse.Merge(m, src) } -func (m *QueryProjectClassResponse) XXX_Size() int { +func (m *QueryProjectEnrollmentResponse) XXX_Size() int { return m.Size() } -func (m *QueryProjectClassResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProjectClassResponse.DiscardUnknown(m) +func (m *QueryProjectEnrollmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectEnrollmentResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryProjectClassResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryProjectEnrollmentResponse proto.InternalMessageInfo -func (m *QueryProjectClassResponse) GetProjectClass() *ProjectClass { +func (m *QueryProjectEnrollmentResponse) GetProjectClass() *ProjectEnrollment { if m != nil { return m.ProjectClass } return nil } -// QueryProjectClassesRequest is the Query/ProjectClasses request type. +// QueryProjectEnrollmentsRequest is the Query/ProjectEnrollments request type. // // Since Revision 3 -type QueryProjectClassesRequest struct { +type QueryProjectEnrollmentsRequest struct { // project_id is the unique identifier of the project to query. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (m *QueryProjectClassesRequest) Reset() { *m = QueryProjectClassesRequest{} } -func (m *QueryProjectClassesRequest) String() string { return proto.CompactTextString(m) } -func (*QueryProjectClassesRequest) ProtoMessage() {} -func (*QueryProjectClassesRequest) Descriptor() ([]byte, []int) { +func (m *QueryProjectEnrollmentsRequest) Reset() { *m = QueryProjectEnrollmentsRequest{} } +func (m *QueryProjectEnrollmentsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryProjectEnrollmentsRequest) ProtoMessage() {} +func (*QueryProjectEnrollmentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor_c85efa417eafb74b, []int{58} } -func (m *QueryProjectClassesRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryProjectEnrollmentsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProjectClassesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProjectEnrollmentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProjectClassesRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProjectEnrollmentsRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3174,54 +3174,54 @@ func (m *QueryProjectClassesRequest) XXX_Marshal(b []byte, deterministic bool) ( return b[:n], nil } } -func (m *QueryProjectClassesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProjectClassesRequest.Merge(m, src) +func (m *QueryProjectEnrollmentsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectEnrollmentsRequest.Merge(m, src) } -func (m *QueryProjectClassesRequest) XXX_Size() int { +func (m *QueryProjectEnrollmentsRequest) XXX_Size() int { return m.Size() } -func (m *QueryProjectClassesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProjectClassesRequest.DiscardUnknown(m) +func (m *QueryProjectEnrollmentsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectEnrollmentsRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryProjectClassesRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryProjectEnrollmentsRequest proto.InternalMessageInfo -func (m *QueryProjectClassesRequest) GetProjectId() string { +func (m *QueryProjectEnrollmentsRequest) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *QueryProjectClassesRequest) GetPagination() *query.PageRequest { +func (m *QueryProjectEnrollmentsRequest) GetPagination() *query.PageRequest { if m != nil { return m.Pagination } return nil } -// QueryProjectClassesResponse is the Query/ProjectClasses response type. +// QueryProjectEnrollmentsResponse is the Query/ProjectEnrollments response type. // // Since Revision 3 -type QueryProjectClassesResponse struct { - // classes are the fetched credit classes. - Classes []*ClassInfo `protobuf:"bytes,1,rep,name=classes,proto3" json:"classes,omitempty"` +type QueryProjectEnrollmentsResponse struct { + // enrollments are the fetched project credit class enrollments. + Enrollments []*ProjectEnrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } -func (m *QueryProjectClassesResponse) Reset() { *m = QueryProjectClassesResponse{} } -func (m *QueryProjectClassesResponse) String() string { return proto.CompactTextString(m) } -func (*QueryProjectClassesResponse) ProtoMessage() {} -func (*QueryProjectClassesResponse) Descriptor() ([]byte, []int) { +func (m *QueryProjectEnrollmentsResponse) Reset() { *m = QueryProjectEnrollmentsResponse{} } +func (m *QueryProjectEnrollmentsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryProjectEnrollmentsResponse) ProtoMessage() {} +func (*QueryProjectEnrollmentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor_c85efa417eafb74b, []int{59} } -func (m *QueryProjectClassesResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryProjectEnrollmentsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryProjectClassesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryProjectEnrollmentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryProjectClassesResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryProjectEnrollmentsResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3231,26 +3231,26 @@ func (m *QueryProjectClassesResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *QueryProjectClassesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryProjectClassesResponse.Merge(m, src) +func (m *QueryProjectEnrollmentsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryProjectEnrollmentsResponse.Merge(m, src) } -func (m *QueryProjectClassesResponse) XXX_Size() int { +func (m *QueryProjectEnrollmentsResponse) XXX_Size() int { return m.Size() } -func (m *QueryProjectClassesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryProjectClassesResponse.DiscardUnknown(m) +func (m *QueryProjectEnrollmentsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryProjectEnrollmentsResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryProjectClassesResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryProjectEnrollmentsResponse proto.InternalMessageInfo -func (m *QueryProjectClassesResponse) GetClasses() []*ClassInfo { +func (m *QueryProjectEnrollmentsResponse) GetEnrollments() []*ProjectEnrollment { if m != nil { - return m.Classes + return m.Enrollments } return nil } -func (m *QueryProjectClassesResponse) GetPagination() *query.PageResponse { +func (m *QueryProjectEnrollmentsResponse) GetPagination() *query.PageResponse { if m != nil { return m.Pagination } @@ -3314,176 +3314,177 @@ func init() { proto.RegisterType((*QueryClassFeeResponse)(nil), "regen.ecocredit.v1.QueryClassFeeResponse") proto.RegisterType((*QueryAllowedBridgeChainsRequest)(nil), "regen.ecocredit.v1.QueryAllowedBridgeChainsRequest") proto.RegisterType((*QueryAllowedBridgeChainsResponse)(nil), "regen.ecocredit.v1.QueryAllowedBridgeChainsResponse") - proto.RegisterType((*QueryProjectClassRequest)(nil), "regen.ecocredit.v1.QueryProjectClassRequest") - proto.RegisterType((*QueryProjectClassResponse)(nil), "regen.ecocredit.v1.QueryProjectClassResponse") - proto.RegisterType((*QueryProjectClassesRequest)(nil), "regen.ecocredit.v1.QueryProjectClassesRequest") - proto.RegisterType((*QueryProjectClassesResponse)(nil), "regen.ecocredit.v1.QueryProjectClassesResponse") + proto.RegisterType((*QueryProjectEnrollmentRequest)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentRequest") + proto.RegisterType((*QueryProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentResponse") + proto.RegisterType((*QueryProjectEnrollmentsRequest)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentsRequest") + proto.RegisterType((*QueryProjectEnrollmentsResponse)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentsResponse") } func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x73, 0x1c, 0x47, - 0x15, 0x4f, 0xaf, 0xad, 0xaf, 0x27, 0x59, 0x36, 0xed, 0x0f, 0xe4, 0x8d, 0x2d, 0xcb, 0x13, 0xdb, - 0x92, 0x3f, 0x76, 0xc7, 0x92, 0xed, 0x40, 0x3e, 0x8d, 0x24, 0x13, 0xd0, 0xcd, 0x59, 0x5c, 0xa6, - 0x10, 0x38, 0x62, 0x76, 0xa7, 0x25, 0x8f, 0xb3, 0xda, 0x59, 0xcf, 0x8c, 0xec, 0x08, 0x95, 0x48, - 0x80, 0x4a, 0xe0, 0x04, 0x29, 0x42, 0x51, 0x39, 0x90, 0x0a, 0x50, 0x70, 0x08, 0x07, 0x0a, 0x02, - 0x55, 0x14, 0x95, 0x03, 0x37, 0x8a, 0xa3, 0xab, 0xc2, 0x81, 0x8f, 0x0b, 0x65, 0x53, 0x05, 0x7f, - 0x06, 0xb5, 0xdd, 0xaf, 0x67, 0xa6, 0x67, 0x7b, 0x7a, 0x47, 0xb0, 0xb8, 0x74, 0xb2, 0xa6, 0xf7, - 0xbd, 0xee, 0xdf, 0x7b, 0xfd, 0xfa, 0xf5, 0xeb, 0xdf, 0x2b, 0xc3, 0x64, 0xc0, 0xd6, 0x58, 0xcb, - 0x66, 0x0d, 0xbf, 0x11, 0x30, 0xd7, 0x8b, 0xec, 0x7b, 0xb3, 0xf6, 0xdd, 0x0d, 0x16, 0x6c, 0x56, - 0xdb, 0x81, 0x1f, 0xf9, 0x94, 0xf2, 0xdf, 0xab, 0xf1, 0xef, 0xd5, 0x7b, 0xb3, 0xe5, 0x73, 0x0d, - 0x3f, 0x5c, 0xf7, 0x43, 0xbb, 0xee, 0x84, 0x4c, 0x08, 0xdb, 0xf7, 0x66, 0xeb, 0x2c, 0x72, 0x66, - 0xed, 0xb6, 0xb3, 0xe6, 0xb5, 0x9c, 0xc8, 0xf3, 0x5b, 0x42, 0xbf, 0x3c, 0x99, 0x96, 0x95, 0x52, - 0x0d, 0xdf, 0x93, 0xbf, 0x1f, 0x5b, 0xf3, 0xfd, 0xb5, 0x26, 0xb3, 0x9d, 0xb6, 0x67, 0x3b, 0xad, - 0x96, 0x1f, 0x71, 0xe5, 0x10, 0x7f, 0x3d, 0x81, 0xbf, 0xf2, 0xaf, 0xfa, 0xc6, 0xaa, 0x1d, 0x79, - 0xeb, 0x2c, 0x8c, 0x9c, 0xf5, 0xb6, 0x9c, 0x5e, 0x03, 0x3f, 0x8c, 0x9c, 0x88, 0x19, 0x7e, 0x8f, - 0x36, 0xdb, 0x0c, 0x17, 0xb0, 0x6e, 0xc1, 0xc1, 0x97, 0x3b, 0x06, 0x2c, 0x36, 0x9d, 0x30, 0x64, - 0x61, 0x8d, 0xdd, 0xdd, 0x60, 0x61, 0x44, 0x5f, 0x02, 0x48, 0x2c, 0x99, 0x20, 0x53, 0x64, 0x66, - 0x74, 0xee, 0x4c, 0x55, 0x98, 0x52, 0xed, 0x98, 0x52, 0x15, 0x3e, 0x42, 0x83, 0xaa, 0xd7, 0x9d, - 0x35, 0x86, 0xba, 0xb5, 0x94, 0xa6, 0xf5, 0x2e, 0x81, 0x43, 0xea, 0xfc, 0x61, 0xdb, 0x6f, 0x85, - 0x8c, 0x7e, 0x0a, 0x86, 0x1a, 0x62, 0x68, 0x82, 0x4c, 0xed, 0x99, 0x19, 0x9d, 0x3b, 0x5e, 0xed, - 0x76, 0x74, 0x95, 0x6b, 0x2d, 0xb5, 0x56, 0xfd, 0x9a, 0x94, 0xa6, 0x9f, 0x53, 0x90, 0x95, 0x38, - 0xb2, 0xe9, 0x9e, 0xc8, 0xc4, 0xaa, 0x0a, 0xb4, 0xaf, 0x41, 0x39, 0x8d, 0x6c, 0x61, 0x73, 0xde, - 0x5d, 0xf7, 0x5a, 0xd2, 0x01, 0x87, 0x60, 0xc0, 0xe9, 0x7c, 0x73, 0xdb, 0x47, 0x6a, 0xe2, 0x23, - 0xe3, 0x96, 0xd2, 0x7f, 0xed, 0x96, 0xf7, 0x09, 0x3c, 0xa9, 0x5d, 0x7c, 0xd7, 0x78, 0xa7, 0x0a, - 0x9f, 0x48, 0x00, 0x4a, 0xa7, 0x1c, 0x85, 0x61, 0xbe, 0xd0, 0x8a, 0xe7, 0xa2, 0x5f, 0xc4, 0xc2, - 0x4b, 0xae, 0xb5, 0x04, 0x34, 0x2d, 0x8f, 0x76, 0x5c, 0x82, 0x01, 0x2e, 0x80, 0x11, 0xd4, 0xc3, - 0x0a, 0x21, 0x6b, 0x6d, 0xc3, 0x44, 0x32, 0xd5, 0x52, 0x18, 0x6e, 0xb0, 0xa0, 0x00, 0x82, 0xbe, - 0xed, 0xcd, 0xd7, 0xe1, 0xa8, 0x66, 0x79, 0x34, 0x68, 0x02, 0x86, 0x3c, 0x31, 0xc4, 0x37, 0x66, - 0xa4, 0x26, 0x3f, 0xfb, 0xe7, 0xf9, 0x57, 0xf0, 0xc4, 0x5c, 0x0f, 0xfc, 0x3b, 0xac, 0x11, 0xf5, - 0xfd, 0x48, 0xbe, 0x47, 0xe0, 0x70, 0x66, 0x01, 0x34, 0xee, 0x39, 0x18, 0x6e, 0xe3, 0x18, 0x86, - 0xdd, 0x09, 0xdd, 0x86, 0xa1, 0x1e, 0xdf, 0xb2, 0x58, 0xa1, 0x7f, 0xf6, 0xbf, 0x21, 0xcf, 0x86, - 0xc4, 0xb7, 0x50, 0x34, 0x08, 0xfb, 0x16, 0x02, 0x3f, 0x23, 0x70, 0x4c, 0x0f, 0x61, 0x57, 0x79, - 0xea, 0xbb, 0x04, 0x4e, 0x66, 0x60, 0xd6, 0xd8, 0x2a, 0x0b, 0x58, 0xab, 0xc1, 0x96, 0x5c, 0xe9, - 0xaf, 0x93, 0x30, 0x16, 0xc8, 0xd1, 0xc4, 0x67, 0xa3, 0x41, 0x22, 0xd9, 0x37, 0xbf, 0xfd, 0x82, - 0x80, 0x65, 0x02, 0xb4, 0xab, 0xbc, 0xb7, 0xd5, 0x15, 0x66, 0x8f, 0xf1, 0x02, 0xd0, 0x44, 0x98, - 0x7a, 0x03, 0xec, 0x0e, 0x1f, 0x5d, 0xc6, 0xea, 0x00, 0x97, 0x91, 0xbe, 0x39, 0x0e, 0x80, 0x6b, - 0x25, 0x01, 0x35, 0x82, 0x23, 0x4b, 0xae, 0xf5, 0xb2, 0x9a, 0xc1, 0x62, 0x9b, 0x9e, 0x81, 0x21, - 0x14, 0xc2, 0xf4, 0xd5, 0xd3, 0x24, 0x29, 0x1f, 0x97, 0x29, 0x0b, 0x4e, 0xd4, 0xb8, 0xfd, 0x7f, - 0x2c, 0x53, 0xe2, 0xf9, 0x93, 0x8b, 0xb8, 0x2e, 0x86, 0x4c, 0x17, 0x31, 0xd7, 0x12, 0x80, 0x51, - 0xba, 0x7f, 0x5b, 0xb0, 0x8d, 0x61, 0x8a, 0xc8, 0x16, 0x36, 0xc5, 0x95, 0x24, 0x3d, 0x70, 0x04, - 0x06, 0xc5, 0x0d, 0x84, 0xdb, 0x80, 0x5f, 0x7d, 0x0b, 0xd4, 0x1f, 0xcb, 0x40, 0xed, 0x5a, 0x7f, - 0xd7, 0x78, 0xe8, 0x75, 0x2c, 0xe4, 0x62, 0x84, 0x8f, 0xfb, 0xba, 0x78, 0xb3, 0xcb, 0x47, 0x3b, - 0x3a, 0x2f, 0x7d, 0xc3, 0xf1, 0x13, 0x02, 0xc7, 0x73, 0x70, 0xec, 0x9a, 0xcd, 0x8a, 0x2b, 0xdf, - 0xec, 0x6e, 0xed, 0x1a, 0x84, 0x97, 0xb1, 0xf2, 0xe5, 0x6b, 0xc8, 0x1d, 0x3c, 0x01, 0xa3, 0x7c, - 0xa1, 0x15, 0x97, 0xb5, 0xfc, 0x75, 0xdc, 0x42, 0xe0, 0x43, 0xd7, 0x3a, 0x23, 0x71, 0xfd, 0x8b, - 0x5a, 0x49, 0xfd, 0xcb, 0x65, 0x4c, 0xf5, 0x6f, 0x62, 0x8b, 0x90, 0xb5, 0xae, 0xc7, 0xb9, 0xae, - 0xe9, 0xb4, 0x1a, 0x72, 0xa7, 0x3b, 0xa5, 0xa7, 0xe3, 0xba, 0x01, 0xc3, 0x6a, 0x7a, 0xa4, 0x26, - 0x3f, 0xb3, 0xe0, 0x4a, 0x5d, 0xe0, 0x6e, 0xc6, 0xd9, 0x0d, 0x67, 0x44, 0x78, 0x2f, 0x76, 0x9c, - 0xcd, 0x87, 0x10, 0xe0, 0xa9, 0x5c, 0x80, 0xa8, 0x2a, 0x7d, 0xce, 0x3f, 0xac, 0xd7, 0xd4, 0x79, - 0xc3, 0xde, 0x50, 0xfb, 0x15, 0xea, 0x3f, 0x95, 0x45, 0x6c, 0xb2, 0x34, 0xda, 0xf4, 0x19, 0x18, - 0x46, 0x78, 0x32, 0x82, 0x8a, 0x19, 0x15, 0x6b, 0xf5, 0x2f, 0x92, 0xde, 0x4a, 0x62, 0x5d, 0x4c, - 0xbd, 0xb0, 0xb3, 0xa0, 0xea, 0x9b, 0xb7, 0x3e, 0x48, 0x12, 0x54, 0x06, 0xc8, 0xee, 0x73, 0x9a, - 0x03, 0x9f, 0xe4, 0x50, 0xe7, 0x9b, 0xcd, 0x6c, 0x58, 0xf5, 0xeb, 0xb6, 0xff, 0x39, 0xc1, 0x17, - 0xa6, 0xb2, 0xc6, 0xee, 0x73, 0xc5, 0x15, 0xcc, 0x29, 0x5f, 0xd8, 0x68, 0xb7, 0x9b, 0x9b, 0x85, - 0x53, 0xd1, 0xdb, 0x04, 0x13, 0x88, 0xd4, 0x43, 0xcb, 0xa6, 0x61, 0x7f, 0x14, 0x38, 0xae, 0x53, - 0x6f, 0xb2, 0x15, 0x67, 0xdd, 0xdf, 0x68, 0x45, 0xa8, 0x3c, 0x2e, 0x87, 0xe7, 0xf9, 0x28, 0x3d, - 0x0d, 0xe3, 0x01, 0x8b, 0xbc, 0x80, 0xb9, 0x52, 0x4e, 0xa4, 0x94, 0x7d, 0x38, 0x8a, 0x62, 0x67, - 0xe1, 0x40, 0xa3, 0x63, 0x71, 0xb3, 0x99, 0x08, 0xee, 0xe1, 0x82, 0xfb, 0xe3, 0x71, 0x21, 0x6a, - 0x1d, 0xc5, 0x4d, 0x5d, 0xe4, 0xfe, 0xbb, 0xb1, 0xd9, 0x8e, 0x37, 0xd5, 0xba, 0x25, 0x5f, 0xfb, - 0xe9, 0x9f, 0x10, 0xf1, 0x3c, 0x8c, 0x09, 0x8f, 0xaf, 0x70, 0xca, 0x0a, 0xf7, 0x63, 0x52, 0xcb, - 0x22, 0xc4, 0xea, 0xb5, 0xd1, 0x46, 0x32, 0x95, 0x75, 0x08, 0x7d, 0x78, 0xdd, 0x09, 0x9c, 0xf5, - 0x78, 0xd1, 0x25, 0x59, 0xd7, 0xe2, 0x28, 0xae, 0x37, 0x07, 0x83, 0x6d, 0x3e, 0x82, 0xc1, 0x55, - 0xd6, 0xd6, 0xa7, 0x42, 0x07, 0x25, 0xad, 0xe7, 0xe1, 0x48, 0x06, 0xbf, 0xdc, 0x28, 0x0b, 0xc6, - 0x9c, 0x7a, 0x3d, 0x60, 0xf7, 0xbc, 0x24, 0x60, 0x47, 0x6a, 0xca, 0x98, 0xb5, 0xdc, 0xe5, 0x98, - 0x18, 0xcc, 0x55, 0x18, 0x4d, 0x19, 0x8f, 0x88, 0x7a, 0xd9, 0x0e, 0x89, 0xed, 0xd6, 0x16, 0x8c, - 0xc4, 0xdc, 0x0a, 0x1d, 0x87, 0x52, 0x5c, 0x7a, 0x94, 0x3c, 0x37, 0x79, 0xde, 0x94, 0xd2, 0xcf, - 0x9b, 0x32, 0x0c, 0xaf, 0xb3, 0xc8, 0x71, 0x9d, 0xc8, 0xc1, 0xad, 0x8c, 0xbf, 0xe9, 0x05, 0xa0, - 0x29, 0x3c, 0x2b, 0xc2, 0x8c, 0x89, 0xbd, 0x5c, 0xea, 0x40, 0xb2, 0xec, 0x3c, 0x1f, 0xb7, 0x7e, - 0x4d, 0x60, 0x34, 0x55, 0xc9, 0x17, 0x5c, 0x3f, 0x5d, 0xac, 0xed, 0x51, 0x8b, 0x35, 0x0b, 0xc6, - 0xee, 0x6c, 0x04, 0x5e, 0xe8, 0x7a, 0x0d, 0xee, 0x4d, 0xb1, 0xb0, 0x32, 0xa6, 0xc0, 0x1f, 0xc8, - 0xc0, 0xcf, 0x3e, 0x83, 0x07, 0xbb, 0x9e, 0xc1, 0xd6, 0x47, 0x25, 0x18, 0x89, 0x6f, 0xe3, 0xdc, - 0xca, 0x5a, 0x2d, 0xe6, 0x4a, 0xd9, 0x62, 0xee, 0x10, 0x0c, 0x88, 0x83, 0x29, 0xf0, 0x8b, 0x0f, - 0x05, 0xd9, 0xde, 0x0c, 0xb2, 0x67, 0x00, 0xc2, 0xc8, 0x09, 0xa2, 0x15, 0xd7, 0x89, 0x18, 0xc7, - 0xdd, 0x89, 0x3c, 0x41, 0xfc, 0x56, 0x25, 0xf1, 0x5b, 0xbd, 0x21, 0x89, 0xdf, 0xda, 0x08, 0x97, - 0xbe, 0xe6, 0x44, 0x8c, 0x5e, 0x81, 0x61, 0xd6, 0x72, 0x85, 0xe2, 0x60, 0x4f, 0xc5, 0x21, 0xd6, - 0x72, 0xb9, 0xda, 0x55, 0xd8, 0xd7, 0x31, 0xa6, 0x73, 0x48, 0x85, 0xee, 0x50, 0x4f, 0xdd, 0x31, - 0xa9, 0xc0, 0x27, 0xa0, 0xb0, 0xd7, 0x6f, 0xb3, 0xd6, 0xc4, 0xf0, 0x14, 0x99, 0x19, 0xae, 0xf1, - 0xbf, 0xad, 0x3f, 0x12, 0x38, 0x90, 0xcd, 0x8a, 0xff, 0x43, 0xd1, 0xa2, 0x4b, 0x57, 0x7b, 0x0a, - 0xa6, 0xab, 0xbd, 0xba, 0x74, 0x35, 0x0d, 0xfb, 0x59, 0xd8, 0x08, 0xfc, 0xfb, 0x89, 0x9c, 0x88, - 0x91, 0x71, 0x39, 0x8c, 0xc9, 0xea, 0x29, 0x64, 0x55, 0xf8, 0xe1, 0x59, 0x0c, 0x98, 0x13, 0xf9, - 0xc1, 0x7c, 0xb3, 0xe9, 0xdf, 0x6f, 0x7a, 0xa1, 0x2c, 0xe9, 0xad, 0x17, 0x91, 0xe9, 0xc8, 0x11, - 0x4a, 0xe8, 0x42, 0xd6, 0xea, 0x40, 0x15, 0xa1, 0x3f, 0x5c, 0x93, 0x9f, 0xd6, 0x1d, 0x98, 0x92, - 0x57, 0x50, 0x67, 0xe9, 0xf4, 0x34, 0x7d, 0xbf, 0xef, 0xde, 0x91, 0x3c, 0x91, 0x7e, 0x31, 0xc4, - 0x7a, 0x1a, 0xc6, 0xc5, 0xd9, 0x6b, 0xe0, 0x2f, 0xc8, 0x70, 0xee, 0x6b, 0xa4, 0xc5, 0xfb, 0x77, - 0xbb, 0x1d, 0x49, 0x77, 0x06, 0x5e, 0x62, 0x12, 0xb9, 0x75, 0x0d, 0x2b, 0xbb, 0x64, 0x1c, 0x01, - 0x9e, 0x87, 0x3d, 0xab, 0x4c, 0x26, 0xc2, 0xa3, 0xca, 0x92, 0x72, 0xb1, 0x45, 0xdf, 0x6b, 0xd5, - 0x3a, 0x52, 0xd6, 0x49, 0x38, 0x91, 0x36, 0x79, 0x21, 0xf0, 0xdc, 0x35, 0xb6, 0x78, 0xdb, 0xf1, - 0x5a, 0xf1, 0x25, 0x70, 0x53, 0xdd, 0x02, 0x55, 0x24, 0xbe, 0x11, 0x0e, 0x3b, 0xe2, 0xe7, 0x95, - 0x3a, 0xff, 0x7d, 0xa5, 0xc1, 0x05, 0xd0, 0x37, 0x07, 0x9d, 0x6e, 0x5d, 0xeb, 0x06, 0xde, 0x68, - 0x98, 0xfe, 0x94, 0xd7, 0x68, 0x8f, 0x97, 0x60, 0x3a, 0xff, 0x95, 0x54, 0x82, 0xbd, 0x8e, 0xb4, - 0xb4, 0x3a, 0x2b, 0xc2, 0xfc, 0x2c, 0xec, 0x93, 0xd3, 0xa6, 0xf9, 0xf6, 0x29, 0x03, 0xbf, 0x22, - 0x26, 0x18, 0x6b, 0xa7, 0xbe, 0xac, 0x6f, 0x11, 0x7c, 0x4a, 0xa7, 0x65, 0x58, 0xf8, 0x98, 0x9f, - 0xb1, 0xef, 0x67, 0x08, 0xe0, 0x5d, 0xd7, 0x3a, 0x9a, 0xfb, 0xd1, 0x39, 0x18, 0xe0, 0x08, 0xe9, - 0x37, 0x08, 0x0c, 0x21, 0x3e, 0x3a, 0xad, 0x83, 0xa1, 0x69, 0xae, 0x95, 0x67, 0x7a, 0x0b, 0x8a, - 0x45, 0xad, 0xa7, 0xbe, 0xf9, 0xf1, 0x3f, 0xdf, 0x29, 0x1d, 0xa7, 0x4f, 0xda, 0x9a, 0x36, 0x9e, - 0x34, 0xeb, 0xcf, 0x04, 0xc6, 0xd5, 0x3e, 0x12, 0xad, 0xf6, 0x5a, 0x41, 0x25, 0x3b, 0xcb, 0x76, - 0x61, 0x79, 0x04, 0xe6, 0x70, 0x60, 0x5f, 0xa6, 0x17, 0x0c, 0xc0, 0x2a, 0xf5, 0xcd, 0x0a, 0xbf, - 0xd6, 0xed, 0x2d, 0xfe, 0xcf, 0xf6, 0xf2, 0x79, 0x7a, 0xd6, 0x20, 0x6f, 0x2b, 0xc2, 0xf4, 0x97, - 0x04, 0x06, 0xf8, 0xea, 0xf4, 0xb4, 0x19, 0x9d, 0x34, 0xe2, 0x4c, 0x2f, 0x31, 0xc4, 0x7e, 0x93, - 0x63, 0xbf, 0x4e, 0x4f, 0xe5, 0x62, 0xb1, 0xb7, 0xe4, 0x29, 0xdc, 0x5e, 0x9e, 0xa1, 0x67, 0x4c, - 0x98, 0x13, 0x49, 0xfa, 0x31, 0x81, 0xb1, 0x74, 0xd3, 0x88, 0x5e, 0x30, 0x03, 0x52, 0x5b, 0x5b, - 0xe5, 0x4a, 0x41, 0x69, 0xb4, 0x62, 0x95, 0x5b, 0xf1, 0x55, 0xc3, 0x0e, 0x54, 0xb0, 0x35, 0x95, - 0xb6, 0xe6, 0x22, 0xad, 0x16, 0xb3, 0xc6, 0x96, 0x7d, 0xad, 0x37, 0x09, 0x0c, 0x4b, 0x92, 0x9a, - 0xe6, 0x47, 0x6e, 0xa6, 0x5b, 0x55, 0x3e, 0x5b, 0x40, 0x12, 0x2d, 0x39, 0xc5, 0x2d, 0x99, 0xa4, - 0xc7, 0x74, 0xc8, 0x62, 0x4e, 0xfb, 0x07, 0x25, 0xd8, 0x9f, 0x69, 0xc7, 0x50, 0xbb, 0xe7, 0x22, - 0x2a, 0x19, 0x58, 0xbe, 0x58, 0x5c, 0x01, 0xc1, 0xbd, 0x47, 0x38, 0xba, 0x1f, 0x12, 0x7a, 0xd1, - 0x04, 0xaf, 0x13, 0xeb, 0x5d, 0xa1, 0x63, 0xd3, 0x8a, 0x49, 0xa7, 0x3b, 0xd6, 0x66, 0xa9, 0x5d, - 0x70, 0x77, 0x62, 0xb7, 0x7c, 0xbb, 0x04, 0x87, 0xb5, 0xdd, 0x16, 0x7a, 0xa5, 0x80, 0xad, 0xdd, - 0xed, 0xa2, 0xf2, 0xd3, 0x3b, 0x55, 0x43, 0x47, 0xbd, 0xce, 0xfd, 0xb4, 0x49, 0x9f, 0xeb, 0xe5, - 0xa6, 0xb8, 0xe2, 0xae, 0x78, 0xae, 0xbd, 0x95, 0xae, 0xc9, 0xb7, 0x97, 0x9f, 0xa5, 0x9f, 0x36, - 0x7a, 0xcc, 0xa0, 0x4b, 0xff, 0x4a, 0xd2, 0x01, 0x22, 0xf2, 0x60, 0x91, 0x00, 0x51, 0x12, 0xe1, - 0xc5, 0xe2, 0x0a, 0x68, 0x77, 0x83, 0xdb, 0x7d, 0xcb, 0xbc, 0xd5, 0xdd, 0xa9, 0xf0, 0x02, 0x3d, - 0x67, 0xb4, 0x54, 0xcd, 0x85, 0x1f, 0x11, 0x18, 0x42, 0x00, 0x86, 0x6b, 0x46, 0x65, 0x9d, 0xcb, - 0x33, 0xbd, 0x05, 0xd1, 0x86, 0x5b, 0xdc, 0x86, 0x2f, 0xd2, 0x19, 0x03, 0x24, 0x7b, 0x2b, 0xb9, - 0xfb, 0x73, 0x33, 0x79, 0x0c, 0x3f, 0x2d, 0xcc, 0x2f, 0x49, 0xa4, 0x7b, 0x0d, 0xe8, 0xd5, 0xd6, - 0x8e, 0x01, 0x7d, 0xa6, 0x47, 0x63, 0xbe, 0x24, 0x25, 0x3d, 0xfc, 0x77, 0x02, 0xfb, 0x33, 0x2d, - 0x0c, 0x43, 0x74, 0xe8, 0x9b, 0x2d, 0x86, 0xe8, 0xc8, 0xe9, 0x8e, 0x58, 0x8c, 0x63, 0x5b, 0xd1, - 0x67, 0x5d, 0xc4, 0xd6, 0x09, 0x0e, 0x91, 0x6d, 0xed, 0x2d, 0xf1, 0xef, 0xf6, 0x72, 0x85, 0x9e, - 0x37, 0x68, 0xd8, 0x19, 0x71, 0xfa, 0x37, 0x02, 0xe3, 0x2a, 0xa1, 0x6e, 0x28, 0x01, 0xb4, 0x7d, - 0x92, 0xb2, 0x5d, 0x58, 0x1e, 0x4d, 0x5b, 0xe3, 0xa6, 0x39, 0xfa, 0x94, 0x95, 0x32, 0xad, 0x2b, - 0xcb, 0x55, 0xf5, 0x77, 0x96, 0xb4, 0x2d, 0x2b, 0x4f, 0xff, 0x2d, 0x1f, 0x96, 0xa9, 0x8e, 0x06, - 0x2d, 0xb0, 0x15, 0x99, 0xe3, 0x30, 0xbb, 0x03, 0x0d, 0x34, 0xd1, 0xe7, 0x26, 0x7a, 0xf4, 0x52, - 0x0f, 0x13, 0xb5, 0x47, 0x64, 0x4e, 0x7f, 0x63, 0x48, 0x33, 0x75, 0x3a, 0xf4, 0xb7, 0x04, 0x06, - 0x38, 0x1a, 0x43, 0xcd, 0x93, 0xa6, 0x90, 0x0d, 0x35, 0x8f, 0x42, 0xf0, 0x5a, 0x5f, 0xe1, 0x96, - 0xdc, 0xa4, 0xd3, 0xb9, 0x90, 0xec, 0xad, 0xd4, 0x73, 0x3c, 0xf7, 0x80, 0x4b, 0xf4, 0x8a, 0x30, - 0x7d, 0xb7, 0xd4, 0x39, 0xe0, 0xfc, 0xd5, 0x6f, 0x3c, 0xe0, 0xe9, 0x7e, 0x86, 0xf1, 0x80, 0x2b, - 0x6d, 0x0a, 0xeb, 0xf7, 0xe2, 0x0e, 0xfe, 0x90, 0xe4, 0x6d, 0x04, 0x17, 0x57, 0x31, 0x75, 0x52, - 0x27, 0x27, 0x1a, 0xb6, 0x97, 0x5f, 0xd0, 0xdf, 0x49, 0x5a, 0x53, 0x92, 0xc9, 0x62, 0xf5, 0xe7, - 0xe9, 0xb3, 0x86, 0x55, 0xc3, 0x44, 0x52, 0xe7, 0x47, 0xfa, 0x3d, 0x02, 0xc3, 0x92, 0x63, 0xa6, - 0x3d, 0x4d, 0x2e, 0x50, 0x3e, 0x65, 0x09, 0x6b, 0xab, 0xca, 0x9d, 0x93, 0x53, 0xa6, 0x76, 0xa3, - 0xa4, 0xff, 0xe2, 0x99, 0x50, 0xe9, 0x03, 0x18, 0x33, 0xa1, 0xae, 0x75, 0x61, 0xcc, 0x84, 0xda, - 0x16, 0x83, 0x75, 0x97, 0xc3, 0x7c, 0xd5, 0xb8, 0x85, 0xfc, 0x30, 0xe9, 0xa2, 0xf1, 0x32, 0x9d, - 0xdb, 0xf1, 0x16, 0x86, 0xf4, 0x43, 0x02, 0xa3, 0x29, 0x8a, 0x9f, 0x9e, 0xcf, 0x05, 0xdd, 0xdd, - 0x6c, 0x28, 0x5f, 0x28, 0x26, 0x8c, 0xd6, 0x7d, 0x9e, 0x5b, 0xb7, 0x40, 0xa7, 0x74, 0x30, 0x9d, - 0x66, 0xb3, 0x22, 0x41, 0x2d, 0xe7, 0xd4, 0xb9, 0x31, 0xe8, 0x3f, 0x10, 0x18, 0x14, 0xc4, 0x3d, - 0xcd, 0x3f, 0xdc, 0x4a, 0x47, 0xa0, 0x3c, 0xdd, 0x53, 0x0e, 0x51, 0xba, 0x1c, 0xe5, 0x2b, 0xfa, - 0x7b, 0x3e, 0xe4, 0xb2, 0x19, 0xc7, 0xf7, 0x48, 0x62, 0xaa, 0xe3, 0xc5, 0x0c, 0xf4, 0xfb, 0x04, - 0x46, 0x53, 0x6c, 0xbe, 0xc1, 0xed, 0xdd, 0xed, 0x00, 0x83, 0xdb, 0x35, 0x0d, 0x02, 0x6b, 0x86, - 0x1b, 0x64, 0xe9, 0xdd, 0x2e, 0xfe, 0xaa, 0xf0, 0xd6, 0x01, 0x7d, 0x83, 0xc0, 0xa0, 0x60, 0xee, - 0x0d, 0x6e, 0x55, 0x9a, 0x04, 0x06, 0xb7, 0xaa, 0x6d, 0x03, 0xeb, 0x34, 0x47, 0x71, 0x8c, 0x96, - 0xb5, 0x25, 0x11, 0x97, 0xfd, 0x4e, 0x89, 0xd0, 0x07, 0x04, 0x20, 0x31, 0x82, 0x9e, 0x2b, 0x60, - 0xa9, 0x84, 0x72, 0xbe, 0x90, 0x2c, 0xc2, 0xf1, 0x38, 0x9c, 0x46, 0xce, 0x4b, 0x2f, 0x71, 0x8a, - 0xbd, 0x95, 0x6e, 0x45, 0xe4, 0xbf, 0x3e, 0x52, 0x6e, 0xcc, 0xa8, 0x74, 0xea, 0xd2, 0xc3, 0x5a, - 0x06, 0xd4, 0xf0, 0xfa, 0x30, 0xd1, 0xaa, 0x86, 0xd7, 0x87, 0x91, 0x68, 0xb5, 0x2e, 0x71, 0x9b, - 0x73, 0xaa, 0x26, 0xf1, 0x1a, 0x46, 0x5a, 0xb3, 0xe2, 0xc4, 0x18, 0x7f, 0x47, 0xe0, 0x90, 0x8e, - 0x12, 0xa5, 0x97, 0x4d, 0x67, 0x3f, 0x8f, 0xae, 0x2d, 0x5f, 0xd9, 0xa1, 0x16, 0x42, 0x9f, 0xe3, - 0xd0, 0x73, 0xde, 0x03, 0xc8, 0x2f, 0x56, 0x14, 0x13, 0x42, 0xfa, 0x16, 0x81, 0x61, 0xc9, 0x8f, - 0xd2, 0x1e, 0x74, 0x52, 0x42, 0xad, 0x1a, 0x6e, 0x95, 0x2c, 0xd9, 0x8a, 0x31, 0x7d, 0x82, 0x1e, - 0xcf, 0x77, 0xe8, 0x2a, 0x63, 0xf4, 0x37, 0x04, 0x0e, 0x6a, 0xf8, 0x53, 0x7a, 0xa9, 0x97, 0x2f, - 0x34, 0x84, 0x6c, 0xf9, 0xf2, 0xce, 0x94, 0x10, 0xe9, 0x2c, 0x47, 0x9a, 0x53, 0xaf, 0x48, 0xff, - 0x09, 0xf2, 0xb6, 0x22, 0xc8, 0x5b, 0xfa, 0x2b, 0x02, 0x63, 0x69, 0x72, 0xd1, 0xc0, 0xd4, 0x68, - 0x48, 0x5c, 0x03, 0x53, 0xa3, 0x23, 0x67, 0xad, 0x45, 0x0e, 0xf0, 0x05, 0xe3, 0xcb, 0x58, 0x29, - 0x03, 0x65, 0x09, 0x9c, 0xae, 0x0c, 0x3f, 0x20, 0x30, 0xae, 0xf2, 0xa1, 0x86, 0x0a, 0x5f, 0x4b, - 0xdf, 0x96, 0xed, 0xc2, 0xf2, 0x08, 0xfc, 0x69, 0x0e, 0x3c, 0x87, 0x32, 0xca, 0x07, 0xbe, 0xf0, - 0xa5, 0x3f, 0x3d, 0x9c, 0x24, 0x0f, 0x1e, 0x4e, 0x92, 0x7f, 0x3c, 0x9c, 0x24, 0x6f, 0x3f, 0x9a, - 0x7c, 0xe2, 0xc1, 0xa3, 0xc9, 0x27, 0xfe, 0xf2, 0x68, 0xf2, 0x89, 0xe5, 0xab, 0x6b, 0x5e, 0x74, - 0x7b, 0xa3, 0x5e, 0x6d, 0xf8, 0xeb, 0x62, 0xce, 0x4a, 0x8b, 0x45, 0xf7, 0xfd, 0xe0, 0x55, 0xfc, - 0x6a, 0x32, 0x77, 0x8d, 0x05, 0xf6, 0x6b, 0xa9, 0xa5, 0xf8, 0xff, 0x9b, 0x10, 0xc9, 0xe7, 0xde, - 0x6c, 0x7d, 0x90, 0xb7, 0xa6, 0x2e, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb5, 0x40, 0xa5, - 0xb6, 0x31, 0x00, 0x00, + // 2574 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcb, 0x6f, 0x1c, 0xc7, + 0xd1, 0x57, 0xaf, 0x44, 0x72, 0x59, 0xa4, 0x28, 0xb9, 0xf5, 0xf8, 0xa8, 0xb5, 0xb4, 0x92, 0xc6, + 0x92, 0x48, 0x3d, 0x76, 0x47, 0x24, 0xa5, 0x2f, 0xb1, 0xe5, 0x48, 0x26, 0xa5, 0xc8, 0x61, 0x4e, + 0xf2, 0xc6, 0x50, 0x60, 0x26, 0x32, 0x33, 0xbb, 0xd3, 0xa4, 0x46, 0x5e, 0xce, 0xac, 0x66, 0x86, + 0x94, 0x19, 0x82, 0xb1, 0x13, 0xc0, 0x76, 0x4e, 0x89, 0x11, 0x07, 0x81, 0x2f, 0x46, 0x1e, 0x48, + 0x0e, 0xc9, 0x21, 0x40, 0xec, 0x00, 0x41, 0xe2, 0x83, 0x81, 0x1c, 0x82, 0x1c, 0x05, 0x38, 0x87, + 0x3c, 0x2e, 0x81, 0x14, 0x20, 0xf9, 0x33, 0x82, 0xed, 0xae, 0x9e, 0xd7, 0xce, 0xf4, 0xcc, 0x26, + 0x1b, 0x81, 0x27, 0x71, 0x7a, 0xab, 0xba, 0x7f, 0xbf, 0xea, 0xea, 0xea, 0xea, 0x2a, 0x08, 0xaa, + 0x2e, 0x5b, 0x65, 0xb6, 0xce, 0x5a, 0x4e, 0xcb, 0x65, 0xa6, 0xe5, 0xeb, 0x1b, 0x33, 0xfa, 0xfd, + 0x75, 0xe6, 0x6e, 0xd6, 0x3b, 0xae, 0xe3, 0x3b, 0x94, 0xf2, 0xdf, 0xeb, 0xc1, 0xef, 0xf5, 0x8d, + 0x99, 0xca, 0xb9, 0x96, 0xe3, 0xad, 0x39, 0x9e, 0xde, 0x34, 0x3c, 0x26, 0x84, 0xf5, 0x8d, 0x99, + 0x26, 0xf3, 0x8d, 0x19, 0xbd, 0x63, 0xac, 0x5a, 0xb6, 0xe1, 0x5b, 0x8e, 0x2d, 0xf4, 0x2b, 0xd5, + 0xa8, 0xac, 0x94, 0x6a, 0x39, 0x96, 0xfc, 0xfd, 0xe8, 0xaa, 0xe3, 0xac, 0xb6, 0x99, 0x6e, 0x74, + 0x2c, 0xdd, 0xb0, 0x6d, 0xc7, 0xe7, 0xca, 0x1e, 0xfe, 0x7a, 0x1c, 0x7f, 0xe5, 0x5f, 0xcd, 0xf5, + 0x15, 0xdd, 0xb7, 0xd6, 0x98, 0xe7, 0x1b, 0x6b, 0x1d, 0x39, 0x7d, 0x0a, 0x7c, 0xcf, 0x37, 0x7c, + 0xa6, 0xf8, 0xdd, 0xdf, 0xec, 0x30, 0x5c, 0x40, 0xbb, 0x03, 0x07, 0x5e, 0xea, 0x12, 0xb8, 0xde, + 0x36, 0x3c, 0x8f, 0x79, 0x0d, 0x76, 0x7f, 0x9d, 0x79, 0x3e, 0xbd, 0x09, 0x10, 0x32, 0x99, 0x24, + 0x27, 0xc8, 0xf4, 0xd8, 0xec, 0x99, 0xba, 0xa0, 0x52, 0xef, 0x52, 0xa9, 0x0b, 0x1b, 0x21, 0xa1, + 0xfa, 0x2d, 0x63, 0x95, 0xa1, 0x6e, 0x23, 0xa2, 0xa9, 0xbd, 0x4f, 0xe0, 0x60, 0x7c, 0x7e, 0xaf, + 0xe3, 0xd8, 0x1e, 0xa3, 0x9f, 0x81, 0x91, 0x96, 0x18, 0x9a, 0x24, 0x27, 0x76, 0x4f, 0x8f, 0xcd, + 0x1e, 0xab, 0xf7, 0x1a, 0xba, 0xce, 0xb5, 0x16, 0xed, 0x15, 0xa7, 0x21, 0xa5, 0xe9, 0x8b, 0x31, + 0x64, 0x25, 0x8e, 0x6c, 0x2a, 0x17, 0x99, 0x58, 0x35, 0x06, 0xed, 0xeb, 0x50, 0x89, 0x22, 0x5b, + 0xd8, 0x9c, 0x37, 0xd7, 0x2c, 0x5b, 0x1a, 0xe0, 0x20, 0x0c, 0x19, 0xdd, 0x6f, 0xce, 0x7d, 0xb4, + 0x21, 0x3e, 0x12, 0x66, 0x29, 0xfd, 0xc7, 0x66, 0xf9, 0x21, 0x81, 0xa7, 0x53, 0x17, 0xdf, 0x31, + 0xd6, 0xa9, 0xc3, 0x53, 0x21, 0x40, 0x69, 0x94, 0x23, 0x50, 0xe6, 0x0b, 0x2d, 0x5b, 0x26, 0xda, + 0x45, 0x2c, 0xbc, 0x68, 0x6a, 0x8b, 0x40, 0xa3, 0xf2, 0xc8, 0x63, 0x0e, 0x86, 0xb8, 0x00, 0x7a, + 0x50, 0x0e, 0x0b, 0x21, 0xab, 0x6d, 0xc3, 0x64, 0x38, 0xd5, 0xa2, 0xe7, 0xad, 0x33, 0xb7, 0x00, + 0x82, 0x81, 0xed, 0xcd, 0x37, 0xe0, 0x48, 0xca, 0xf2, 0x48, 0x68, 0x12, 0x46, 0x2c, 0x31, 0xc4, + 0x37, 0x66, 0xb4, 0x21, 0x3f, 0x07, 0x67, 0xf9, 0x57, 0xf1, 0xc4, 0xdc, 0x72, 0x9d, 0x7b, 0xac, + 0xe5, 0x0f, 0xfc, 0x48, 0x7e, 0x40, 0xe0, 0x50, 0x62, 0x01, 0x24, 0x77, 0x05, 0xca, 0x1d, 0x1c, + 0x43, 0xb7, 0x3b, 0x9e, 0xb6, 0x61, 0xa8, 0xc7, 0xb7, 0x2c, 0x50, 0x18, 0x1c, 0xff, 0x37, 0xe5, + 0xd9, 0x90, 0xf8, 0x16, 0x8a, 0x3a, 0xe1, 0xc0, 0x5c, 0xe0, 0xa7, 0x04, 0x8e, 0xa6, 0x43, 0xd8, + 0x51, 0x96, 0xfa, 0x0e, 0x81, 0x93, 0x09, 0x98, 0x0d, 0xb6, 0xc2, 0x5c, 0x66, 0xb7, 0xd8, 0xa2, + 0x29, 0xed, 0x75, 0x12, 0xc6, 0x5d, 0x39, 0x1a, 0xda, 0x6c, 0xcc, 0x0d, 0x25, 0x07, 0x66, 0xb7, + 0x5f, 0x10, 0xd0, 0x54, 0x80, 0x76, 0x94, 0xf5, 0xb6, 0x7a, 0xdc, 0xec, 0x09, 0x5e, 0x00, 0x29, + 0x1e, 0x16, 0xbf, 0x01, 0x76, 0x86, 0x8d, 0x2e, 0x61, 0x76, 0x80, 0xcb, 0x48, 0xdb, 0x1c, 0x03, + 0xc0, 0xb5, 0x42, 0x87, 0x1a, 0xc5, 0x91, 0x45, 0x53, 0x7b, 0x29, 0x1e, 0xc1, 0x02, 0x4e, 0xcf, + 0xc2, 0x08, 0x0a, 0x61, 0xf8, 0xca, 0xa5, 0x24, 0xe5, 0x83, 0x34, 0x65, 0xc1, 0xf0, 0x5b, 0x77, + 0xff, 0x87, 0x69, 0x4a, 0x30, 0x7f, 0x78, 0x11, 0x37, 0xc5, 0x90, 0xea, 0x22, 0xe6, 0x5a, 0x02, + 0x30, 0x4a, 0x0f, 0x6e, 0x0b, 0xb6, 0xd1, 0x4d, 0x11, 0xd9, 0xc2, 0xa6, 0xb8, 0x92, 0xa4, 0x05, + 0x0e, 0xc3, 0xb0, 0xb8, 0x81, 0x70, 0x1b, 0xf0, 0x6b, 0x60, 0x8e, 0xfa, 0x23, 0xe9, 0xa8, 0x3d, + 0xeb, 0xef, 0x18, 0x0b, 0xbd, 0x81, 0x89, 0x5c, 0x80, 0xf0, 0x49, 0x5f, 0x17, 0x6f, 0xf5, 0xd8, + 0xa8, 0xaf, 0xf3, 0x32, 0x30, 0x1c, 0x3f, 0x26, 0x70, 0x2c, 0x03, 0xc7, 0x8e, 0xd9, 0xac, 0x20, + 0xf3, 0x4d, 0xee, 0xd6, 0x8e, 0x41, 0x78, 0x09, 0x33, 0x5f, 0xbe, 0x86, 0xdc, 0xc1, 0xe3, 0x30, + 0xc6, 0x17, 0x5a, 0x36, 0x99, 0xed, 0xac, 0xe1, 0x16, 0x02, 0x1f, 0xba, 0xd1, 0x1d, 0x09, 0xf2, + 0x5f, 0xd4, 0x0a, 0xf3, 0x5f, 0x2e, 0xa3, 0xca, 0x7f, 0x43, 0x2e, 0x42, 0x56, 0xbb, 0x15, 0xc4, + 0xba, 0xb6, 0x61, 0xb7, 0xe4, 0x4e, 0x77, 0x53, 0x4f, 0xc3, 0x34, 0x5d, 0x86, 0xd9, 0xf4, 0x68, + 0x43, 0x7e, 0x26, 0xc1, 0x95, 0x7a, 0xc0, 0xdd, 0x0e, 0xa2, 0x1b, 0xce, 0x88, 0xf0, 0xae, 0x76, + 0x8d, 0xcd, 0x87, 0x10, 0xe0, 0xa9, 0x4c, 0x80, 0xa8, 0x2a, 0x6d, 0xce, 0x3f, 0xb4, 0xd7, 0xe3, + 0xf3, 0x7a, 0xf9, 0x50, 0x07, 0xe5, 0xea, 0x3f, 0x91, 0x49, 0x6c, 0xb8, 0x34, 0x72, 0x7a, 0x01, + 0xca, 0x08, 0x4f, 0x7a, 0x50, 0x31, 0x52, 0x81, 0xd6, 0xe0, 0x3c, 0xe9, 0xed, 0xd0, 0xd7, 0xc5, + 0xd4, 0x0b, 0xfd, 0x39, 0xd5, 0xc0, 0xac, 0xf5, 0xf3, 0x30, 0x40, 0x25, 0x80, 0xec, 0x3c, 0xa3, + 0x19, 0xf0, 0x7f, 0x1c, 0xea, 0x7c, 0xbb, 0x9d, 0x74, 0xab, 0x41, 0xdd, 0xf6, 0x3f, 0x23, 0xf8, + 0xc2, 0x8c, 0xad, 0xb1, 0xf3, 0x4c, 0x71, 0x19, 0x63, 0xca, 0x97, 0xd6, 0x3b, 0x9d, 0xf6, 0x66, + 0xe1, 0x50, 0xf4, 0x2e, 0xc1, 0x00, 0x22, 0xf5, 0x90, 0xd9, 0x14, 0xec, 0xf3, 0x5d, 0xc3, 0x34, + 0x9a, 0x6d, 0xb6, 0x6c, 0xac, 0x39, 0xeb, 0xb6, 0x8f, 0xca, 0x13, 0x72, 0x78, 0x9e, 0x8f, 0xd2, + 0xd3, 0x30, 0xe1, 0x32, 0xdf, 0x72, 0x99, 0x29, 0xe5, 0x44, 0x48, 0xd9, 0x8b, 0xa3, 0x28, 0x76, + 0x16, 0xf6, 0xb7, 0xba, 0x8c, 0xdb, 0xed, 0x50, 0x70, 0x37, 0x17, 0xdc, 0x17, 0x8c, 0x0b, 0x51, + 0xed, 0x08, 0x6e, 0xea, 0x75, 0x6e, 0xbf, 0x97, 0x37, 0x3b, 0xc1, 0xa6, 0x6a, 0x77, 0xe4, 0x6b, + 0x3f, 0xfa, 0x13, 0x22, 0x9e, 0x87, 0x71, 0x61, 0xf1, 0x65, 0x5e, 0xb2, 0xc2, 0xfd, 0xa8, 0xa6, + 0x56, 0x11, 0x02, 0xf5, 0xc6, 0x58, 0x2b, 0x9c, 0x4a, 0x3b, 0x88, 0x36, 0xbc, 0x65, 0xb8, 0xc6, + 0x5a, 0xb0, 0xe8, 0xa2, 0xcc, 0x6b, 0x71, 0x14, 0xd7, 0x9b, 0x85, 0xe1, 0x0e, 0x1f, 0x41, 0xe7, + 0xaa, 0xa4, 0xe6, 0xa7, 0x42, 0x07, 0x25, 0xb5, 0xe7, 0xe1, 0x70, 0x02, 0xbf, 0xdc, 0x28, 0x0d, + 0xc6, 0x8d, 0x66, 0xd3, 0x65, 0x1b, 0x56, 0xe8, 0xb0, 0xa3, 0x8d, 0xd8, 0x98, 0xb6, 0xd4, 0x63, + 0x98, 0x00, 0xcc, 0x35, 0x18, 0x8b, 0x90, 0x47, 0x44, 0x79, 0xdc, 0x21, 0xe4, 0xae, 0x6d, 0xc1, + 0x68, 0x50, 0x5b, 0xa1, 0x13, 0x50, 0x0a, 0x52, 0x8f, 0x92, 0x65, 0x86, 0xcf, 0x9b, 0x52, 0xf4, + 0x79, 0x53, 0x81, 0xf2, 0x1a, 0xf3, 0x0d, 0xd3, 0xf0, 0x0d, 0xdc, 0xca, 0xe0, 0x9b, 0x5e, 0x00, + 0x1a, 0xc1, 0xb3, 0x2c, 0x68, 0x4c, 0xee, 0xe1, 0x52, 0xfb, 0xc3, 0x65, 0xe7, 0xf9, 0xb8, 0xf6, + 0x2b, 0x02, 0x63, 0x91, 0x4c, 0xbe, 0xe0, 0xfa, 0xd1, 0x64, 0x6d, 0x77, 0x3c, 0x59, 0xd3, 0x60, + 0xfc, 0xde, 0xba, 0x6b, 0x79, 0xa6, 0xd5, 0xe2, 0xd6, 0x14, 0x0b, 0xc7, 0xc6, 0x62, 0xf0, 0x87, + 0x12, 0xf0, 0x93, 0xcf, 0xe0, 0xe1, 0x9e, 0x67, 0xb0, 0xf6, 0x71, 0x09, 0x46, 0x83, 0xdb, 0x38, + 0x33, 0xb3, 0x8e, 0x27, 0x73, 0xa5, 0x64, 0x32, 0x77, 0x10, 0x86, 0xc4, 0xc1, 0x14, 0xf8, 0xc5, + 0x47, 0x0c, 0xd9, 0x9e, 0x04, 0xb2, 0x67, 0x01, 0x3c, 0xdf, 0x70, 0xfd, 0x65, 0xd3, 0xf0, 0x19, + 0xc7, 0xdd, 0xf5, 0x3c, 0x51, 0xf8, 0xad, 0xcb, 0xc2, 0x6f, 0xfd, 0x65, 0x59, 0xf8, 0x6d, 0x8c, + 0x72, 0xe9, 0x1b, 0x86, 0xcf, 0xe8, 0x65, 0x28, 0x33, 0xdb, 0x14, 0x8a, 0xc3, 0xb9, 0x8a, 0x23, + 0xcc, 0x36, 0xb9, 0xda, 0x35, 0xd8, 0xdb, 0x25, 0xd3, 0x3d, 0xa4, 0x42, 0x77, 0x24, 0x57, 0x77, + 0x5c, 0x2a, 0xf0, 0x09, 0x28, 0xec, 0x71, 0x3a, 0xcc, 0x9e, 0x2c, 0x9f, 0x20, 0xd3, 0xe5, 0x06, + 0xff, 0x5b, 0xfb, 0x03, 0x81, 0xfd, 0xc9, 0xa8, 0xf8, 0x5f, 0x24, 0x2d, 0x69, 0xe1, 0x6a, 0x77, + 0xc1, 0x70, 0xb5, 0x27, 0x2d, 0x5c, 0x4d, 0xc1, 0x3e, 0xe6, 0xb5, 0x5c, 0xe7, 0x41, 0x28, 0x27, + 0x7c, 0x64, 0x42, 0x0e, 0x63, 0xb0, 0x7a, 0x06, 0xab, 0x2a, 0xfc, 0xf0, 0x5c, 0x77, 0x99, 0xe1, + 0x3b, 0xee, 0x7c, 0xbb, 0xed, 0x3c, 0x68, 0x5b, 0x9e, 0x4c, 0xe9, 0xb5, 0xab, 0x58, 0xe9, 0xc8, + 0x10, 0x0a, 0xcb, 0x85, 0xcc, 0xee, 0x42, 0x15, 0xae, 0x5f, 0x6e, 0xc8, 0x4f, 0xed, 0x1e, 0x9c, + 0x90, 0x57, 0x50, 0x77, 0xe9, 0xe8, 0x34, 0x03, 0xbf, 0xef, 0xde, 0x93, 0x75, 0xa2, 0xf4, 0xc5, + 0x10, 0xeb, 0x69, 0x98, 0x10, 0x67, 0xaf, 0x85, 0xbf, 0x60, 0x85, 0x73, 0x6f, 0x2b, 0x2a, 0x3e, + 0xb8, 0xdb, 0xed, 0x70, 0xb4, 0x33, 0x70, 0x93, 0x49, 0xe4, 0xda, 0x0d, 0xcc, 0xec, 0xc2, 0x71, + 0x04, 0x78, 0x1e, 0x76, 0xaf, 0x30, 0x19, 0x08, 0x8f, 0xc4, 0x96, 0x94, 0x8b, 0x5d, 0x77, 0x2c, + 0xbb, 0xd1, 0x95, 0xd2, 0x4e, 0xc2, 0xf1, 0x28, 0xe5, 0x05, 0xd7, 0x32, 0x57, 0xd9, 0xf5, 0xbb, + 0x86, 0x65, 0x07, 0x97, 0xc0, 0xed, 0xf8, 0x16, 0xc4, 0x45, 0x82, 0x1b, 0xe1, 0x90, 0x21, 0x7e, + 0x5e, 0x6e, 0xf2, 0xdf, 0x97, 0x5b, 0x5c, 0x00, 0x6d, 0x73, 0xc0, 0xe8, 0xd5, 0xd5, 0x5e, 0xc1, + 0x57, 0x18, 0x86, 0xbf, 0xcf, 0xdb, 0xae, 0xd3, 0x6e, 0xaf, 0x31, 0xbb, 0xe8, 0x73, 0x30, 0x1a, + 0x04, 0x4b, 0xf1, 0x2a, 0x7b, 0x1b, 0xaa, 0x59, 0x53, 0x23, 0xe0, 0x2f, 0xc2, 0x5e, 0x39, 0x77, + 0xb4, 0xf2, 0x7e, 0x5a, 0x51, 0x69, 0x89, 0xcc, 0x32, 0x8e, 0xba, 0xdc, 0xf6, 0xda, 0x3b, 0x24, + 0x6b, 0x39, 0xef, 0x09, 0xbf, 0x6c, 0x3f, 0x22, 0xb8, 0x9d, 0x69, 0x48, 0x90, 0xf9, 0x8b, 0x30, + 0xc6, 0xc2, 0x61, 0xcc, 0x15, 0x0a, 0xf2, 0x8e, 0x6a, 0x0e, 0xcc, 0xc3, 0x67, 0x3f, 0x39, 0x07, + 0x43, 0x1c, 0x35, 0xfd, 0x26, 0x81, 0x11, 0x6c, 0xf5, 0xd0, 0xa9, 0x34, 0x48, 0x29, 0x3d, 0xb8, + 0xca, 0x74, 0xbe, 0xa0, 0x58, 0x54, 0x7b, 0xe6, 0x5b, 0x9f, 0xfe, 0xe3, 0xbd, 0xd2, 0x31, 0xfa, + 0xb4, 0x9e, 0xd2, 0xed, 0x93, 0xad, 0xa1, 0x3f, 0x11, 0x98, 0x88, 0xb7, 0x9b, 0x68, 0x3d, 0x6f, + 0x85, 0x78, 0x4d, 0xb4, 0xa2, 0x17, 0x96, 0x47, 0x60, 0x06, 0x07, 0xf6, 0x15, 0x7a, 0x41, 0x01, + 0xac, 0xd6, 0xdc, 0xac, 0xf1, 0xdb, 0x5f, 0xdf, 0xe2, 0xff, 0x6c, 0x2f, 0x9d, 0xa7, 0x67, 0x15, + 0xf2, 0x7a, 0x4c, 0x98, 0xfe, 0x92, 0xc0, 0x10, 0x5f, 0x9d, 0x9e, 0x56, 0xa3, 0x93, 0x24, 0xce, + 0xe4, 0x89, 0x21, 0xf6, 0xdb, 0x1c, 0xfb, 0x2d, 0x7a, 0x2a, 0x13, 0x8b, 0xbe, 0x25, 0xcf, 0xe9, + 0xf6, 0xd2, 0x34, 0x3d, 0xa3, 0xc2, 0x1c, 0x4a, 0xd2, 0x4f, 0x09, 0x8c, 0x47, 0x7b, 0x4b, 0xf4, + 0x82, 0x1a, 0x50, 0xbc, 0x03, 0x56, 0xa9, 0x15, 0x94, 0x46, 0x16, 0x2b, 0x9c, 0xc5, 0xd7, 0x14, + 0x3b, 0x50, 0xc3, 0x0e, 0x56, 0x94, 0xcd, 0x45, 0x5a, 0x2f, 0xc6, 0x46, 0x97, 0xed, 0xaf, 0xb7, + 0x08, 0x94, 0x65, 0x2d, 0x9b, 0x66, 0x7b, 0x6e, 0xa2, 0xa9, 0x55, 0x39, 0x5b, 0x40, 0x12, 0x99, + 0x9c, 0xe2, 0x4c, 0xaa, 0xf4, 0x68, 0x1a, 0xb2, 0xa0, 0xf4, 0xfd, 0xfd, 0x12, 0xec, 0x4b, 0x74, + 0x6d, 0xa8, 0x9e, 0xbb, 0x48, 0xbc, 0x66, 0x58, 0xb9, 0x58, 0x5c, 0x01, 0xc1, 0x7d, 0x40, 0x38, + 0xba, 0x1f, 0x10, 0x7a, 0x51, 0x05, 0xaf, 0xeb, 0xeb, 0x3d, 0xae, 0xa3, 0xd3, 0x9a, 0x4a, 0xa7, + 0xd7, 0xd7, 0x66, 0xa8, 0x5e, 0x70, 0x77, 0x02, 0xb3, 0xbc, 0x53, 0x82, 0x43, 0xa9, 0x4d, 0x19, + 0x7a, 0xb9, 0x00, 0xd7, 0xde, 0xae, 0x52, 0xe5, 0xff, 0xfb, 0x55, 0x43, 0x43, 0xbd, 0xc1, 0xed, + 0xb4, 0x49, 0xaf, 0xe4, 0x99, 0x29, 0x48, 0xcc, 0x6b, 0x96, 0xa9, 0x6f, 0x45, 0x53, 0xf7, 0xed, + 0xa5, 0xe7, 0xe8, 0x67, 0x95, 0x16, 0x53, 0xe8, 0xd2, 0xbf, 0x90, 0xa8, 0x83, 0x88, 0x38, 0x58, + 0xc4, 0x41, 0x62, 0x81, 0xf0, 0x62, 0x71, 0x05, 0xe4, 0xdd, 0xe2, 0xbc, 0xef, 0xa8, 0xb7, 0xba, + 0x37, 0x14, 0x5e, 0xa0, 0xe7, 0x94, 0x4c, 0xe3, 0xb1, 0xf0, 0x63, 0x02, 0x23, 0x08, 0x40, 0x71, + 0xcd, 0xc4, 0x8b, 0xd3, 0x95, 0xe9, 0x7c, 0x41, 0xe4, 0x70, 0x87, 0x73, 0xf8, 0x32, 0x9d, 0x56, + 0x40, 0xd2, 0xb7, 0xc2, 0x7c, 0x20, 0x33, 0x92, 0x07, 0xf0, 0xa3, 0xc2, 0xfc, 0x92, 0xc4, 0xaa, + 0xb0, 0x02, 0x7d, 0xbc, 0x03, 0xa4, 0x40, 0x9f, 0x68, 0xe5, 0xa8, 0x2f, 0x49, 0x59, 0x45, 0xfe, + 0x1b, 0x81, 0x7d, 0x89, 0x4e, 0x87, 0xc2, 0x3b, 0xd2, 0x7b, 0x32, 0x0a, 0xef, 0xc8, 0x68, 0xa2, + 0x68, 0x8c, 0x63, 0x5b, 0x4e, 0x8f, 0xba, 0x88, 0xad, 0xeb, 0x1c, 0x22, 0xda, 0xea, 0x5b, 0xe2, + 0xdf, 0xed, 0xa5, 0x1a, 0x3d, 0xaf, 0xd0, 0xd0, 0x13, 0xe2, 0xf4, 0xaf, 0x04, 0x26, 0xe2, 0x75, + 0x77, 0x45, 0x0a, 0x90, 0xda, 0x4e, 0xa9, 0xe8, 0x85, 0xe5, 0x91, 0xda, 0x2a, 0xa7, 0x66, 0xa4, + 0x87, 0xac, 0x08, 0xb5, 0x9e, 0x28, 0x57, 0x4f, 0xbf, 0xb3, 0x24, 0xb7, 0xa4, 0x3c, 0xfd, 0x97, + 0x7c, 0x7f, 0x46, 0x1a, 0x1f, 0xb4, 0xc0, 0x56, 0x24, 0x8e, 0xc3, 0x4c, 0x1f, 0x1a, 0x48, 0xd1, + 0xe1, 0x14, 0x2d, 0x3a, 0x97, 0x43, 0x31, 0xf5, 0x88, 0xcc, 0xa6, 0xdf, 0x18, 0x92, 0x66, 0x9a, + 0x0e, 0xfd, 0x35, 0x81, 0x21, 0x8e, 0x46, 0x91, 0xf3, 0x44, 0x2b, 0xcd, 0x8a, 0x9c, 0x27, 0x56, + 0x07, 0xd6, 0xbe, 0xca, 0x99, 0xdc, 0xa6, 0x53, 0x99, 0x90, 0xf4, 0xad, 0xc8, 0xab, 0x3d, 0xf3, + 0x80, 0x4b, 0xf4, 0x31, 0x61, 0xfa, 0x7e, 0xa9, 0x7b, 0xc0, 0x79, 0x71, 0x40, 0x79, 0xc0, 0xa3, + 0x6d, 0x0f, 0xe5, 0x01, 0x8f, 0x75, 0x33, 0xb4, 0xdf, 0x8a, 0x3b, 0xf8, 0x43, 0x92, 0xb5, 0x11, + 0x5c, 0x3c, 0x8e, 0xa9, 0x1b, 0x3a, 0x79, 0x3d, 0x62, 0x7b, 0xe9, 0x73, 0xe9, 0x77, 0x52, 0x2a, + 0x95, 0x70, 0xb2, 0x40, 0xfd, 0x79, 0xfa, 0x9c, 0x62, 0x55, 0x2f, 0x94, 0x4c, 0xb3, 0x23, 0xfd, + 0x2e, 0x81, 0xb2, 0x2c, 0x45, 0xd3, 0x5c, 0xca, 0x05, 0xd2, 0xa7, 0x64, 0x5d, 0x5b, 0xab, 0x73, + 0xe3, 0x64, 0xa4, 0xa9, 0xbd, 0x28, 0xe9, 0x3f, 0x79, 0x24, 0x8c, 0xb5, 0x0b, 0x94, 0x91, 0x30, + 0xad, 0xc3, 0xa1, 0x8c, 0x84, 0xa9, 0x9d, 0x08, 0xed, 0x3e, 0x87, 0xf9, 0x9a, 0x72, 0x0b, 0xf9, + 0x61, 0x4a, 0xf3, 0xc6, 0x4b, 0x74, 0xb6, 0xef, 0x2d, 0xf4, 0xe8, 0x87, 0x04, 0xc6, 0x22, 0x9d, + 0x00, 0x7a, 0x3e, 0x13, 0x74, 0x6f, 0x4f, 0xa2, 0x72, 0xa1, 0x98, 0x30, 0xb2, 0xfb, 0x02, 0x67, + 0xb7, 0x40, 0x4f, 0xa4, 0xc1, 0x34, 0xda, 0xed, 0x9a, 0x04, 0xb5, 0x94, 0x91, 0xe7, 0x06, 0xa0, + 0x3f, 0x21, 0x30, 0x2c, 0xea, 0xfb, 0x34, 0xfb, 0x70, 0xc7, 0x1a, 0x07, 0x95, 0xa9, 0x5c, 0x39, + 0x44, 0x69, 0x72, 0x94, 0xaf, 0xa6, 0xdf, 0xf3, 0x1e, 0x97, 0x4d, 0x18, 0x3e, 0x27, 0x88, 0xc5, + 0x0d, 0x2f, 0x66, 0xa0, 0xdf, 0x23, 0x30, 0x16, 0x29, 0xfa, 0x2b, 0xcc, 0xde, 0xdb, 0x35, 0x50, + 0x98, 0x3d, 0xa5, 0x8f, 0xa0, 0x4d, 0x73, 0x42, 0x5a, 0xba, 0xd9, 0xc5, 0x5f, 0x35, 0xde, 0x61, + 0xa0, 0x6f, 0x12, 0x18, 0x16, 0x05, 0x7e, 0x85, 0x59, 0x63, 0xbd, 0x04, 0x85, 0x59, 0xe3, 0xdd, + 0x05, 0xed, 0x34, 0x47, 0x71, 0x94, 0x56, 0x52, 0x53, 0x22, 0x2e, 0xfb, 0xed, 0x12, 0xa1, 0x0f, + 0x09, 0x40, 0x48, 0x82, 0x9e, 0x2b, 0xc0, 0x54, 0x42, 0x39, 0x5f, 0x48, 0x16, 0xe1, 0x58, 0x1c, + 0x4e, 0x2b, 0xe3, 0xa5, 0x17, 0x1a, 0x45, 0xdf, 0x8a, 0x76, 0x2c, 0xb2, 0x5f, 0x1f, 0x11, 0x33, + 0x26, 0x54, 0xba, 0x79, 0xe9, 0xa1, 0xd4, 0x42, 0xa9, 0xe2, 0xf5, 0xa1, 0xaa, 0xbe, 0x2a, 0x5e, + 0x1f, 0xca, 0x7a, 0xac, 0x36, 0xc7, 0x39, 0x67, 0x64, 0x4d, 0xe2, 0x35, 0x8c, 0xd5, 0xcf, 0x9a, + 0x11, 0x60, 0xfc, 0x0d, 0x81, 0x83, 0x69, 0x95, 0x53, 0x7a, 0x49, 0x75, 0xf6, 0xb3, 0xaa, 0xba, + 0x95, 0xcb, 0x7d, 0x6a, 0x21, 0xf4, 0x59, 0x0e, 0x3d, 0xe3, 0x3d, 0x80, 0x65, 0xc8, 0x5a, 0x8c, + 0x82, 0x47, 0xdf, 0x26, 0x50, 0x96, 0x65, 0x54, 0x9a, 0x53, 0x4e, 0x0a, 0x2b, 0xb0, 0x8a, 0x5b, + 0x25, 0x59, 0x93, 0x45, 0x9f, 0x3e, 0x4e, 0x8f, 0x65, 0x1b, 0x74, 0x85, 0x31, 0xfa, 0x11, 0x81, + 0x03, 0x29, 0x65, 0x56, 0x3a, 0x97, 0x67, 0x8b, 0x94, 0xba, 0x6d, 0xe5, 0x52, 0x7f, 0x4a, 0x88, + 0x74, 0x86, 0x23, 0xcd, 0xc8, 0x57, 0xa4, 0xfd, 0x44, 0x8d, 0xb7, 0x26, 0x6a, 0xbc, 0xf4, 0xf7, + 0x04, 0x9e, 0xea, 0xa9, 0x15, 0xd2, 0x99, 0xbc, 0xf7, 0x52, 0x4f, 0xc1, 0xb7, 0x32, 0xdb, 0x8f, + 0x0a, 0xe2, 0xbd, 0xc9, 0xf1, 0xbe, 0x40, 0xaf, 0x16, 0x7d, 0x6c, 0xe9, 0x61, 0x0d, 0x33, 0x9a, + 0x16, 0xff, 0x8e, 0x00, 0xed, 0xad, 0x9a, 0xd2, 0x3e, 0x20, 0x05, 0x86, 0x9f, 0xeb, 0x4b, 0x07, + 0x79, 0x5c, 0xe1, 0x3c, 0x2e, 0xa7, 0x5f, 0xe8, 0x39, 0x3c, 0x16, 0x5e, 0xf9, 0xe3, 0xa3, 0x2a, + 0x79, 0xf8, 0xa8, 0x4a, 0xfe, 0xfe, 0xa8, 0x4a, 0xde, 0x7d, 0x5c, 0xdd, 0xf5, 0xf0, 0x71, 0x75, + 0xd7, 0x9f, 0x1f, 0x57, 0x77, 0x2d, 0x5d, 0x5b, 0xb5, 0xfc, 0xbb, 0xeb, 0xcd, 0x7a, 0xcb, 0x59, + 0x13, 0x13, 0xd7, 0x6c, 0xe6, 0x3f, 0x70, 0xdc, 0xd7, 0xf0, 0xab, 0xcd, 0xcc, 0x55, 0xe6, 0xea, + 0xaf, 0x47, 0xd6, 0xe3, 0xff, 0x03, 0x43, 0xc4, 0xa7, 0x8d, 0x99, 0xe6, 0x30, 0x6f, 0x72, 0xcd, + 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x16, 0xa5, 0x4c, 0x92, 0x00, 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3574,12 +3575,14 @@ type QueryClient interface { // // Since Revision 2 AllowedBridgeChains(ctx context.Context, in *QueryAllowedBridgeChainsRequest, opts ...grpc.CallOption) (*QueryAllowedBridgeChainsResponse, error) - // ProjectClass queries information about a project credit class relationship. + // ProjectEnrollment queries information about a project's enrollment in a + // credit class. // // Since Revision 3 - ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) - // ProjectClasses queries all credit classes associated with a project. - ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) + ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) + // ProjectEnrollments queries all credit class enrollments associated with a + // project. + ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) } type queryClient struct { @@ -3825,18 +3828,18 @@ func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedB return out, nil } -func (c *queryClient) ProjectClass(ctx context.Context, in *QueryProjectClassRequest, opts ...grpc.CallOption) (*QueryProjectClassResponse, error) { - out := new(QueryProjectClassResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectClass", in, out, opts...) +func (c *queryClient) ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) { + out := new(QueryProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectEnrollment", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *queryClient) ProjectClasses(ctx context.Context, in *QueryProjectClassesRequest, opts ...grpc.CallOption) (*QueryProjectClassesResponse, error) { - out := new(QueryProjectClassesResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectClasses", in, out, opts...) +func (c *queryClient) ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) { + out := new(QueryProjectEnrollmentsResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Query/ProjectEnrollments", in, out, opts...) if err != nil { return nil, err } @@ -3921,12 +3924,14 @@ type QueryServer interface { // // Since Revision 2 AllowedBridgeChains(context.Context, *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) - // ProjectClass queries information about a project credit class relationship. + // ProjectEnrollment queries information about a project's enrollment in a + // credit class. // // Since Revision 3 - ProjectClass(context.Context, *QueryProjectClassRequest) (*QueryProjectClassResponse, error) - // ProjectClasses queries all credit classes associated with a project. - ProjectClasses(context.Context, *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) + ProjectEnrollment(context.Context, *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) + // ProjectEnrollments queries all credit class enrollments associated with a + // project. + ProjectEnrollments(context.Context, *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -4011,11 +4016,11 @@ func (*UnimplementedQueryServer) ClassFee(ctx context.Context, req *QueryClassFe func (*UnimplementedQueryServer) AllowedBridgeChains(ctx context.Context, req *QueryAllowedBridgeChainsRequest) (*QueryAllowedBridgeChainsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllowedBridgeChains not implemented") } -func (*UnimplementedQueryServer) ProjectClass(ctx context.Context, req *QueryProjectClassRequest) (*QueryProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProjectClass not implemented") +func (*UnimplementedQueryServer) ProjectEnrollment(ctx context.Context, req *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectEnrollment not implemented") } -func (*UnimplementedQueryServer) ProjectClasses(ctx context.Context, req *QueryProjectClassesRequest) (*QueryProjectClassesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ProjectClasses not implemented") +func (*UnimplementedQueryServer) ProjectEnrollments(ctx context.Context, req *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProjectEnrollments not implemented") } func RegisterQueryServer(s grpc1.Server, srv QueryServer) { @@ -4490,38 +4495,38 @@ func _Query_AllowedBridgeChains_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } -func _Query_ProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProjectClassRequest) +func _Query_ProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectEnrollmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).ProjectClass(ctx, in) + return srv.(QueryServer).ProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Query/ProjectClass", + FullMethod: "/regen.ecocredit.v1.Query/ProjectEnrollment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProjectClass(ctx, req.(*QueryProjectClassRequest)) + return srv.(QueryServer).ProjectEnrollment(ctx, req.(*QueryProjectEnrollmentRequest)) } return interceptor(ctx, in, info, handler) } -func _Query_ProjectClasses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryProjectClassesRequest) +func _Query_ProjectEnrollments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryProjectEnrollmentsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).ProjectClasses(ctx, in) + return srv.(QueryServer).ProjectEnrollments(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Query/ProjectClasses", + FullMethod: "/regen.ecocredit.v1.Query/ProjectEnrollments", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).ProjectClasses(ctx, req.(*QueryProjectClassesRequest)) + return srv.(QueryServer).ProjectEnrollments(ctx, req.(*QueryProjectEnrollmentsRequest)) } return interceptor(ctx, in, info, handler) } @@ -4635,12 +4640,12 @@ var _Query_serviceDesc = grpc.ServiceDesc{ Handler: _Query_AllowedBridgeChains_Handler, }, { - MethodName: "ProjectClass", - Handler: _Query_ProjectClass_Handler, + MethodName: "ProjectEnrollment", + Handler: _Query_ProjectEnrollment_Handler, }, { - MethodName: "ProjectClasses", - Handler: _Query_ProjectClasses_Handler, + MethodName: "ProjectEnrollments", + Handler: _Query_ProjectEnrollments_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -6931,7 +6936,7 @@ func (m *QueryAllowedBridgeChainsResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *QueryProjectClassRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProjectEnrollmentRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6941,12 +6946,12 @@ func (m *QueryProjectClassRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProjectClassRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProjectClassRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6968,7 +6973,7 @@ func (m *QueryProjectClassRequest) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *QueryProjectClassResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6978,12 +6983,12 @@ func (m *QueryProjectClassResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7003,7 +7008,7 @@ func (m *QueryProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *QueryProjectClassesRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProjectEnrollmentsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7013,12 +7018,12 @@ func (m *QueryProjectClassesRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProjectClassesRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProjectClassesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7045,7 +7050,7 @@ func (m *QueryProjectClassesRequest) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *QueryProjectClassesResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProjectEnrollmentsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7055,12 +7060,12 @@ func (m *QueryProjectClassesResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProjectClassesResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProjectClassesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProjectEnrollmentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7077,10 +7082,10 @@ func (m *QueryProjectClassesResponse) MarshalToSizedBuffer(dAtA []byte) (int, er i-- dAtA[i] = 0x12 } - if len(m.Classes) > 0 { - for iNdEx := len(m.Classes) - 1; iNdEx >= 0; iNdEx-- { + if len(m.Enrollments) > 0 { + for iNdEx := len(m.Enrollments) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Classes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Enrollments[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -8033,7 +8038,7 @@ func (m *QueryAllowedBridgeChainsResponse) Size() (n int) { return n } -func (m *QueryProjectClassRequest) Size() (n int) { +func (m *QueryProjectEnrollmentRequest) Size() (n int) { if m == nil { return 0 } @@ -8050,7 +8055,7 @@ func (m *QueryProjectClassRequest) Size() (n int) { return n } -func (m *QueryProjectClassResponse) Size() (n int) { +func (m *QueryProjectEnrollmentResponse) Size() (n int) { if m == nil { return 0 } @@ -8063,7 +8068,7 @@ func (m *QueryProjectClassResponse) Size() (n int) { return n } -func (m *QueryProjectClassesRequest) Size() (n int) { +func (m *QueryProjectEnrollmentsRequest) Size() (n int) { if m == nil { return 0 } @@ -8080,14 +8085,14 @@ func (m *QueryProjectClassesRequest) Size() (n int) { return n } -func (m *QueryProjectClassesResponse) Size() (n int) { +func (m *QueryProjectEnrollmentsResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Classes) > 0 { - for _, e := range m.Classes { + if len(m.Enrollments) > 0 { + for _, e := range m.Enrollments { l = e.Size() n += 1 + l + sovQuery(uint64(l)) } @@ -14205,7 +14210,7 @@ func (m *QueryAllowedBridgeChainsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProjectClassRequest) Unmarshal(dAtA []byte) error { +func (m *QueryProjectEnrollmentRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14228,10 +14233,10 @@ func (m *QueryProjectClassRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProjectClassRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProjectEnrollmentRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProjectClassRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProjectEnrollmentRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14319,7 +14324,7 @@ func (m *QueryProjectClassRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProjectClassResponse) Unmarshal(dAtA []byte) error { +func (m *QueryProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14342,10 +14347,10 @@ func (m *QueryProjectClassResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProjectClassResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14378,7 +14383,7 @@ func (m *QueryProjectClassResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ProjectClass == nil { - m.ProjectClass = &ProjectClass{} + m.ProjectClass = &ProjectEnrollment{} } if err := m.ProjectClass.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -14405,7 +14410,7 @@ func (m *QueryProjectClassResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProjectClassesRequest) Unmarshal(dAtA []byte) error { +func (m *QueryProjectEnrollmentsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14428,10 +14433,10 @@ func (m *QueryProjectClassesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProjectClassesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProjectEnrollmentsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProjectClassesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProjectEnrollmentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14523,7 +14528,7 @@ func (m *QueryProjectClassesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryProjectClassesResponse) Unmarshal(dAtA []byte) error { +func (m *QueryProjectEnrollmentsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14546,15 +14551,15 @@ func (m *QueryProjectClassesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryProjectClassesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryProjectEnrollmentsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryProjectClassesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryProjectEnrollmentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Classes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Enrollments", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14581,8 +14586,8 @@ func (m *QueryProjectClassesResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Classes = append(m.Classes, &ClassInfo{}) - if err := m.Classes[len(m.Classes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Enrollments = append(m.Enrollments, &ProjectEnrollment{}) + if err := m.Enrollments[len(m.Enrollments)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/ecocredit/base/types/v1/query.pb.gw.go b/x/ecocredit/base/types/v1/query.pb.gw.go index c699f5193d..48c5781ef1 100644 --- a/x/ecocredit/base/types/v1/query.pb.gw.go +++ b/x/ecocredit/base/types/v1/query.pb.gw.go @@ -2547,12 +2547,8 @@ func local_request_Query_AllowedBridgeChains_0(ctx context.Context, marshaler ru } -var ( - filter_Query_ProjectClass_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} -) - -func request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProjectClassRequest +func request_Query_ProjectEnrollment_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentRequest var metadata runtime.ServerMetadata var ( @@ -2573,31 +2569,24 @@ func request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.Marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) } - val, ok = pathParams["project_id"] + val, ok = pathParams["class_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "class_id") } - protoReq.ProjectId, err = runtime.String(val) + protoReq.ClassId, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClass_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "class_id", err) } - msg, err := client.ProjectClass(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ProjectEnrollment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProjectClassRequest +func local_request_Query_ProjectEnrollment_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentRequest var metadata runtime.ServerMetadata var ( @@ -2618,35 +2607,28 @@ func local_request_Query_ProjectClass_0(ctx context.Context, marshaler runtime.M return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) } - val, ok = pathParams["project_id"] + val, ok = pathParams["class_id"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "project_id") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "class_id") } - protoReq.ProjectId, err = runtime.String(val) + protoReq.ClassId, err = runtime.String(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "project_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClass_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "class_id", err) } - msg, err := server.ProjectClass(ctx, &protoReq) + msg, err := server.ProjectEnrollment(ctx, &protoReq) return msg, metadata, err } var ( - filter_Query_ProjectClasses_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_Query_ProjectEnrollments_0 = &utilities.DoubleArray{Encoding: map[string]int{"project_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} ) -func request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProjectClassesRequest +func request_Query_ProjectEnrollments_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentsRequest var metadata runtime.ServerMetadata var ( @@ -2670,17 +2652,17 @@ func request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime.Marsh if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClasses_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectEnrollments_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.ProjectClasses(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.ProjectEnrollments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryProjectClassesRequest +func local_request_Query_ProjectEnrollments_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentsRequest var metadata runtime.ServerMetadata var ( @@ -2704,11 +2686,11 @@ func local_request_Query_ProjectClasses_0(ctx context.Context, marshaler runtime if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectClasses_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectEnrollments_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.ProjectClasses(ctx, &protoReq) + msg, err := server.ProjectEnrollments(ctx, &protoReq) return msg, metadata, err } @@ -3731,7 +3713,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_ProjectClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProjectEnrollment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -3742,7 +3724,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ProjectClass_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ProjectEnrollment_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3750,11 +3732,11 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ProjectClass_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProjectEnrollment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ProjectClasses_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProjectEnrollments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -3765,7 +3747,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_ProjectClasses_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_ProjectEnrollments_0(rctx, inboundMarshaler, server, req, pathParams) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { @@ -3773,7 +3755,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_ProjectClasses_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProjectEnrollments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4698,7 +4680,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_ProjectClass_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProjectEnrollment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4707,18 +4689,18 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_ProjectClass_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_ProjectEnrollment_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_ProjectClass_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProjectEnrollment_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("GET", pattern_Query_ProjectClasses_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_ProjectEnrollments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -4727,14 +4709,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_ProjectClasses_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_ProjectEnrollments_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_Query_ProjectClasses_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_ProjectEnrollments_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4830,9 +4812,9 @@ var ( pattern_Query_AllowedBridgeChains_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"regen", "ecocredit", "v1", "allowed-bridge-chains"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_ProjectClass_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 4}, []string{"regen", "ecocredit", "v1", "project", "project_id", "class"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_ProjectEnrollment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6}, []string{"regen", "ecocredit", "v1", "project", "project_id", "enrollment", "class_id"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_ProjectClasses_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"regen", "ecocredit", "v1", "project", "project_id", "class"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_ProjectEnrollments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"regen", "ecocredit", "v1", "project", "project_id", "enrollment"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -4924,7 +4906,7 @@ var ( forward_Query_AllowedBridgeChains_0 = runtime.ForwardResponseMessage - forward_Query_ProjectClass_0 = runtime.ForwardResponseMessage + forward_Query_ProjectEnrollment_0 = runtime.ForwardResponseMessage - forward_Query_ProjectClasses_0 = runtime.ForwardResponseMessage + forward_Query_ProjectEnrollments_0 = runtime.ForwardResponseMessage ) diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 848b0c5836..e7f1aeb1f9 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -27,46 +27,51 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Application represents the evaluation status that a credit class issuer // assigns to a credit class application. -type ProjectClassStatus int32 +type ProjectEnrollmentStatus int32 const ( - // PROJECT_CLASS_STATUS_UNSPECIFIED indicates that a credit class application + // PROJECT_ENROLLMENT_STATUS_UNSPECIFIED indicates that a credit class application // has been submitted but not evaluated. - ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED ProjectClassStatus = 0 - // PROJECT_CLASS_STATUS_ACCEPTED indicates that the project has been + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED ProjectEnrollmentStatus = 0 + // PROJECT_ENROLLMENT_STATUS_ACCEPTED indicates that the project has been // accepted into the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_ACCEPTED ProjectClassStatus = 1 - // PROJECT_CLASS_STATUS_CHANGES_REQUESTED indicates that an application to + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED ProjectEnrollmentStatus = 1 + // PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED indicates that an application to // a credit class has been reviewed and that changes to the application have // been requested. It can also be used to indicate that a project within a credit // class has had its status reassessed and that changes to the project are // requested in order to continue in the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_CHANGES_REQUESTED ProjectClassStatus = 2 - // PROJECT_CLASS_STATUS_REJECTED indicates that the application has been - // rejected and that the project will not be accepted into the credit class - // or that a project previously accepted has been removed from the credit class. - ProjectClassStatus_PROJECT_CLASS_STATUS_REJECTED ProjectClassStatus = 3 + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED ProjectEnrollmentStatus = 2 + // PROJECT_ENROLLMENT_STATUS_REJECTED indicates that the application has been + // rejected and that the project will not be accepted into the credit class. + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED ProjectEnrollmentStatus = 3 + // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been + // terminated from the credit class. This status is used when a project was + // in the credit class but has been removed or completed. + ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED ProjectEnrollmentStatus = 4 ) -var ProjectClassStatus_name = map[int32]string{ - 0: "PROJECT_CLASS_STATUS_UNSPECIFIED", - 1: "PROJECT_CLASS_STATUS_ACCEPTED", - 2: "PROJECT_CLASS_STATUS_CHANGES_REQUESTED", - 3: "PROJECT_CLASS_STATUS_REJECTED", +var ProjectEnrollmentStatus_name = map[int32]string{ + 0: "PROJECT_ENROLLMENT_STATUS_UNSPECIFIED", + 1: "PROJECT_ENROLLMENT_STATUS_ACCEPTED", + 2: "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED", + 3: "PROJECT_ENROLLMENT_STATUS_REJECTED", + 4: "PROJECT_ENROLLMENT_STATUS_TERMINATED", } -var ProjectClassStatus_value = map[string]int32{ - "PROJECT_CLASS_STATUS_UNSPECIFIED": 0, - "PROJECT_CLASS_STATUS_ACCEPTED": 1, - "PROJECT_CLASS_STATUS_CHANGES_REQUESTED": 2, - "PROJECT_CLASS_STATUS_REJECTED": 3, +var ProjectEnrollmentStatus_value = map[string]int32{ + "PROJECT_ENROLLMENT_STATUS_UNSPECIFIED": 0, + "PROJECT_ENROLLMENT_STATUS_ACCEPTED": 1, + "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED": 2, + "PROJECT_ENROLLMENT_STATUS_REJECTED": 3, + "PROJECT_ENROLLMENT_STATUS_TERMINATED": 4, } -func (x ProjectClassStatus) String() string { - return proto.EnumName(ProjectClassStatus_name, int32(x)) +func (x ProjectEnrollmentStatus) String() string { + return proto.EnumName(ProjectEnrollmentStatus_name, int32(x)) } -func (ProjectClassStatus) EnumDescriptor() ([]byte, []int) { +func (ProjectEnrollmentStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor_6cfdca0a4aaabb36, []int{0} } @@ -1219,16 +1224,16 @@ func (m *AllowedBridgeChain) GetChainName() string { return "" } -// ProjectClass stores the data a project - credit class relation. -type ProjectClass struct { +// ProjectEnrollment stores the data a project's enrollment in a credit class. +type ProjectEnrollment struct { // project_key is the table row identifier of the project used internally for // efficient lookups. ProjectKey uint64 `protobuf:"varint,1,opt,name=project_key,json=projectKey,proto3" json:"project_key,omitempty"` // class_key is the table row identifier of the credit class used internally // for efficient lookups. ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` - // status is the status of the relation. - Status ProjectClassStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"status,omitempty"` + // status is the status of the enrollment. + Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` // project_metadata is any arbitrary metadata set by the project // admin. This should primarily be used to store metadata regarding the project's // application to the credit class. @@ -1239,18 +1244,18 @@ type ProjectClass struct { ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` } -func (m *ProjectClass) Reset() { *m = ProjectClass{} } -func (m *ProjectClass) String() string { return proto.CompactTextString(m) } -func (*ProjectClass) ProtoMessage() {} -func (*ProjectClass) Descriptor() ([]byte, []int) { +func (m *ProjectEnrollment) Reset() { *m = ProjectEnrollment{} } +func (m *ProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*ProjectEnrollment) ProtoMessage() {} +func (*ProjectEnrollment) Descriptor() ([]byte, []int) { return fileDescriptor_6cfdca0a4aaabb36, []int{16} } -func (m *ProjectClass) XXX_Unmarshal(b []byte) error { +func (m *ProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *ProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *ProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_ProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_ProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1260,47 +1265,47 @@ func (m *ProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (m *ProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProjectClass.Merge(m, src) +func (m *ProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectEnrollment.Merge(m, src) } -func (m *ProjectClass) XXX_Size() int { +func (m *ProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *ProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_ProjectClass.DiscardUnknown(m) +func (m *ProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_ProjectClass proto.InternalMessageInfo +var xxx_messageInfo_ProjectEnrollment proto.InternalMessageInfo -func (m *ProjectClass) GetProjectKey() uint64 { +func (m *ProjectEnrollment) GetProjectKey() uint64 { if m != nil { return m.ProjectKey } return 0 } -func (m *ProjectClass) GetClassKey() uint64 { +func (m *ProjectEnrollment) GetClassKey() uint64 { if m != nil { return m.ClassKey } return 0 } -func (m *ProjectClass) GetStatus() ProjectClassStatus { +func (m *ProjectEnrollment) GetStatus() ProjectEnrollmentStatus { if m != nil { return m.Status } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *ProjectClass) GetProjectMetadata() string { +func (m *ProjectEnrollment) GetProjectMetadata() string { if m != nil { return m.ProjectMetadata } return "" } -func (m *ProjectClass) GetClassMetadata() string { +func (m *ProjectEnrollment) GetClassMetadata() string { if m != nil { return m.ClassMetadata } @@ -1308,7 +1313,7 @@ func (m *ProjectClass) GetClassMetadata() string { } func init() { - proto.RegisterEnum("regen.ecocredit.v1.ProjectClassStatus", ProjectClassStatus_name, ProjectClassStatus_value) + proto.RegisterEnum("regen.ecocredit.v1.ProjectEnrollmentStatus", ProjectEnrollmentStatus_name, ProjectEnrollmentStatus_value) proto.RegisterType((*CreditType)(nil), "regen.ecocredit.v1.CreditType") proto.RegisterType((*Class)(nil), "regen.ecocredit.v1.Class") proto.RegisterType((*ClassIssuer)(nil), "regen.ecocredit.v1.ClassIssuer") @@ -1325,100 +1330,101 @@ func init() { proto.RegisterType((*AllowedClassCreator)(nil), "regen.ecocredit.v1.AllowedClassCreator") proto.RegisterType((*ClassFee)(nil), "regen.ecocredit.v1.ClassFee") proto.RegisterType((*AllowedBridgeChain)(nil), "regen.ecocredit.v1.AllowedBridgeChain") - proto.RegisterType((*ProjectClass)(nil), "regen.ecocredit.v1.ProjectClass") + proto.RegisterType((*ProjectEnrollment)(nil), "regen.ecocredit.v1.ProjectEnrollment") } func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1379 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0xd4, - 0x16, 0x8f, 0x64, 0x3b, 0xb1, 0x8f, 0xff, 0x29, 0x37, 0x4d, 0xaa, 0xe6, 0xb5, 0x4e, 0xaa, 0xd7, - 0xff, 0x2f, 0x4f, 0x7e, 0xe9, 0x83, 0x19, 0x30, 0x33, 0xed, 0x38, 0x8e, 0x0b, 0xa1, 0xd0, 0x06, - 0xd9, 0x5d, 0xd0, 0x8d, 0xb9, 0x96, 0x6e, 0x13, 0xb5, 0xb6, 0x64, 0xa4, 0xeb, 0x34, 0xd9, 0xf2, - 0x01, 0x98, 0xae, 0x58, 0x31, 0x7c, 0x02, 0x66, 0xf8, 0x02, 0x2c, 0x59, 0xc0, 0xae, 0x33, 0x6c, - 0x58, 0x32, 0xed, 0x37, 0x60, 0x58, 0xb1, 0x62, 0xee, 0xd1, 0x95, 0x2d, 0xb9, 0x6e, 0xda, 0x61, - 0xa7, 0x73, 0xee, 0xf9, 0xf3, 0x3b, 0xbf, 0x73, 0x8e, 0x74, 0x05, 0xb5, 0x80, 0x1d, 0x30, 0xaf, - 0xce, 0x6c, 0xdf, 0x0e, 0x98, 0xe3, 0xf2, 0xfa, 0xd1, 0x76, 0x3d, 0xe4, 0x94, 0x33, 0x73, 0x14, - 0xf8, 0xdc, 0x27, 0x04, 0xcf, 0xcd, 0xc9, 0xb9, 0x79, 0xb4, 0xbd, 0x5e, 0xb3, 0xfd, 0x70, 0xe8, - 0x87, 0xf5, 0x3e, 0x0d, 0x59, 0xfd, 0x68, 0xbb, 0xcf, 0x38, 0xdd, 0xae, 0xdb, 0xbe, 0xeb, 0x45, - 0x3e, 0xeb, 0x67, 0xe5, 0xb9, 0x1f, 0x0c, 0x45, 0x38, 0x3f, 0x18, 0xca, 0x83, 0x8d, 0x03, 0xdf, - 0x3f, 0x18, 0xb0, 0x3a, 0x4a, 0xfd, 0xf1, 0xa3, 0x3a, 0x77, 0x87, 0x2c, 0xe4, 0x74, 0x38, 0x8a, - 0x0c, 0x8c, 0x6f, 0x15, 0x80, 0x16, 0xe6, 0xe9, 0x9e, 0x8c, 0x18, 0x31, 0xa0, 0x44, 0xfb, 0xfd, - 0x80, 0x1d, 0xb9, 0x94, 0xbb, 0xbe, 0xa7, 0x2b, 0x9b, 0xca, 0xb5, 0x82, 0x95, 0xd2, 0x11, 0x02, - 0x59, 0x8f, 0x0e, 0x99, 0xae, 0xe2, 0x19, 0x3e, 0x0b, 0xdd, 0xd8, 0x73, 0xb9, 0x9e, 0x89, 0x74, - 0xe2, 0x99, 0x9c, 0x87, 0xc2, 0x28, 0x60, 0xb6, 0x1b, 0x8a, 0x40, 0xd9, 0x4d, 0xe5, 0x5a, 0xd9, - 0x9a, 0x2a, 0x1a, 0x97, 0xfe, 0xf8, 0xee, 0xd7, 0xaf, 0x33, 0x35, 0xa8, 0xa4, 0x33, 0x12, 0x88, - 0xa2, 0x6b, 0x8a, 0xae, 0xe8, 0x8a, 0xf1, 0x8b, 0x02, 0xb9, 0xd6, 0x80, 0x86, 0x21, 0xd1, 0x20, - 0xf3, 0x84, 0x9d, 0x20, 0xa0, 0xac, 0x25, 0x1e, 0x49, 0x05, 0x54, 0xd7, 0x91, 0x28, 0x54, 0xd7, - 0x21, 0x67, 0x20, 0x47, 0x9d, 0xa1, 0xeb, 0x21, 0x88, 0x92, 0x15, 0x09, 0x64, 0x1d, 0xf2, 0x43, - 0xc6, 0xa9, 0x43, 0x39, 0x45, 0x10, 0x05, 0x6b, 0x22, 0x93, 0x2d, 0x20, 0x11, 0xc7, 0x3d, 0x7e, - 0x32, 0x62, 0xbd, 0x08, 0x87, 0x9e, 0x43, 0x2b, 0xcd, 0x9e, 0xb0, 0xd2, 0x44, 0x7d, 0xe3, 0x16, - 0x22, 0x7e, 0x0f, 0x96, 0x10, 0x89, 0xa6, 0x90, 0xbc, 0x00, 0x20, 0x80, 0x92, 0x82, 0x4c, 0xad, - 0xa9, 0x64, 0x6d, 0x5e, 0x4c, 0x2d, 0xa3, 0xab, 0xc6, 0x17, 0x50, 0xc4, 0x52, 0xf6, 0xc2, 0x70, - 0xcc, 0x02, 0xf2, 0x2f, 0x28, 0xd8, 0x42, 0xec, 0x4d, 0xcb, 0xca, 0xa3, 0xe2, 0x2e, 0x3b, 0x21, - 0x6b, 0xb0, 0xe8, 0xa2, 0x19, 0xd6, 0x57, 0xb2, 0xa4, 0xd4, 0x38, 0x8f, 0x18, 0xd6, 0x80, 0x80, - 0x36, 0x71, 0xde, 0x92, 0x96, 0x19, 0xe3, 0x07, 0x15, 0x96, 0xf6, 0x03, 0xff, 0x31, 0xb3, 0xf9, - 0x3f, 0xe6, 0x6b, 0x23, 0x09, 0x4b, 0x10, 0x96, 0xdd, 0x51, 0x75, 0x25, 0x01, 0xcd, 0x80, 0xd2, - 0xe3, 0x71, 0xe0, 0x86, 0x8e, 0x6b, 0xe3, 0x88, 0x44, 0x74, 0xa5, 0x74, 0x29, 0xd2, 0x17, 0x67, - 0x48, 0xbf, 0x08, 0xa5, 0x80, 0x3d, 0x62, 0x01, 0xf3, 0x6c, 0xd6, 0x73, 0x1d, 0x7d, 0x09, 0xcf, - 0x8b, 0x13, 0xdd, 0x9e, 0xd3, 0x38, 0xc4, 0x2a, 0xfb, 0xf3, 0x98, 0x26, 0x50, 0x4a, 0x14, 0xee, - 0x68, 0x6a, 0x92, 0xfd, 0x0c, 0xd1, 0xd2, 0xc1, 0xb5, 0x2c, 0x59, 0x87, 0xb5, 0xa9, 0x43, 0xea, - 0x2c, 0xa7, 0x67, 0x8d, 0x9f, 0x32, 0x90, 0xdb, 0xa1, 0xdc, 0x3e, 0x9c, 0xc3, 0xd7, 0x6b, 0x7a, - 0x40, 0x36, 0xa0, 0x38, 0x8a, 0x48, 0x46, 0x8e, 0x32, 0xe8, 0x01, 0x52, 0x25, 0x18, 0x3a, 0x03, - 0x39, 0x87, 0x79, 0xfe, 0x50, 0xce, 0x5b, 0x24, 0xa4, 0x38, 0xc9, 0xcd, 0x70, 0xf2, 0x3e, 0x40, - 0xc8, 0x69, 0xc0, 0x7b, 0x0e, 0xe5, 0x0c, 0x19, 0x2b, 0xde, 0x5c, 0x37, 0xa3, 0xdd, 0x35, 0xe3, - 0xdd, 0x35, 0xbb, 0xf1, 0xee, 0x5a, 0x05, 0xb4, 0xde, 0xa5, 0x9c, 0x91, 0x77, 0x21, 0xcf, 0x3c, - 0x27, 0x72, 0x5c, 0x7a, 0xa3, 0xe3, 0x12, 0xf3, 0x1c, 0x74, 0xbb, 0x0d, 0x65, 0x51, 0x0e, 0x15, - 0x5c, 0xa0, 0x6f, 0xfe, 0x8d, 0xbe, 0xa5, 0xd8, 0x01, 0x03, 0x10, 0xc8, 0xfa, 0x23, 0xe6, 0xe9, - 0x85, 0x4d, 0xe5, 0x5a, 0xde, 0xc2, 0xe7, 0xf4, 0x48, 0x43, 0x7a, 0xa4, 0x1b, 0x0f, 0xb1, 0xa9, - 0xdd, 0x69, 0x53, 0x8b, 0x92, 0x26, 0xec, 0x6b, 0x35, 0x45, 0xaa, 0xa6, 0x92, 0x4a, 0x92, 0x12, - 0x2d, 0x43, 0x20, 0xee, 0x86, 0x96, 0x25, 0xe5, 0x44, 0x1e, 0x2d, 0xa7, 0xe7, 0x8c, 0xaf, 0x14, - 0x28, 0xe3, 0x6e, 0x75, 0xd8, 0x97, 0x63, 0xd1, 0xdf, 0xd7, 0xac, 0xb6, 0x32, 0x7f, 0xb5, 0xc9, - 0xbf, 0xa1, 0xec, 0xb1, 0x63, 0xde, 0x0b, 0xa5, 0x3b, 0x76, 0x3c, 0x6b, 0x95, 0x84, 0x32, 0x0e, - 0xd9, 0xa8, 0x61, 0x01, 0x3a, 0x9c, 0x99, 0x1b, 0x7a, 0xd1, 0x78, 0x0c, 0x55, 0xb9, 0x7c, 0x13, - 0x14, 0xa7, 0xee, 0xf8, 0x5b, 0x25, 0x5d, 0xc5, 0xa4, 0x55, 0x28, 0x26, 0x23, 0x2d, 0x19, 0x1e, - 0x94, 0x71, 0x6c, 0x27, 0x99, 0x66, 0x86, 0x52, 0x79, 0x65, 0x28, 0xdf, 0x2a, 0xdb, 0x59, 0xcc, - 0xb6, 0x0c, 0xe5, 0x74, 0xb4, 0xbc, 0xf1, 0xa7, 0x02, 0x25, 0x4c, 0xb8, 0x43, 0x07, 0x54, 0x56, - 0xd6, 0x17, 0x72, 0xb2, 0x32, 0x54, 0x88, 0x5c, 0x3a, 0x2c, 0x51, 0xc7, 0x09, 0x58, 0x18, 0xca, - 0xd5, 0x89, 0x45, 0x72, 0x15, 0xaa, 0x3c, 0xa0, 0x0e, 0xed, 0x0f, 0x58, 0x8f, 0x0e, 0xfd, 0xb1, - 0x17, 0x7f, 0x32, 0x2a, 0xb1, 0xba, 0x89, 0x5a, 0x72, 0x19, 0x2a, 0x01, 0xe3, 0x6e, 0xc0, 0x9c, - 0xd8, 0x2e, 0x5a, 0xa6, 0xb2, 0xd4, 0x4a, 0xb3, 0xab, 0x50, 0x65, 0xa1, 0x1d, 0xf8, 0x4f, 0xa7, - 0x76, 0xd1, 0x6e, 0x55, 0x62, 0x75, 0x64, 0xd8, 0x78, 0x07, 0x2b, 0x33, 0x61, 0x05, 0x96, 0x25, - 0x96, 0xad, 0x09, 0x7e, 0xb2, 0x0a, 0xcb, 0x13, 0x61, 0x4b, 0x1e, 0x6b, 0x8a, 0x5e, 0x30, 0x7e, - 0x54, 0xa0, 0x18, 0xf1, 0x3c, 0x1e, 0x8d, 0x06, 0x27, 0xa7, 0x57, 0x3d, 0xa7, 0x36, 0xf5, 0x2d, - 0x6b, 0xcb, 0xcc, 0xab, 0xed, 0x3a, 0x68, 0xb6, 0xe0, 0x7a, 0x30, 0x98, 0x25, 0xa1, 0x3a, 0xd1, - 0xcb, 0xea, 0x12, 0x53, 0x32, 0xc5, 0x07, 0xc6, 0x18, 0xca, 0xf7, 0x03, 0xf7, 0xc0, 0xf5, 0xba, - 0xc7, 0x7b, 0x9e, 0xc3, 0x8e, 0x4f, 0x9f, 0xc7, 0xd9, 0xef, 0xc3, 0x1a, 0x2c, 0x86, 0xfe, 0x38, - 0xb0, 0x99, 0x84, 0x27, 0xa5, 0xc6, 0x06, 0x26, 0x3b, 0x07, 0xab, 0xb0, 0x92, 0x7c, 0x15, 0x6f, - 0x49, 0xe3, 0xa2, 0xf1, 0x8d, 0x22, 0xa7, 0xb3, 0xe5, 0x7b, 0x3c, 0xa0, 0x36, 0x3f, 0x9d, 0xb7, - 0x14, 0x28, 0x75, 0x06, 0xd4, 0x3a, 0xe4, 0x6d, 0x19, 0x45, 0xc2, 0x98, 0xc8, 0x8d, 0x3a, 0x02, - 0xb9, 0x9e, 0xaa, 0x9a, 0xe8, 0x40, 0xa6, 0xa8, 0x62, 0x53, 0xbc, 0x4d, 0x94, 0x8c, 0x0f, 0x60, - 0x15, 0xdf, 0x12, 0xad, 0x80, 0x51, 0xee, 0x07, 0xcd, 0xc1, 0xc0, 0x7f, 0x3a, 0x70, 0x43, 0x2e, - 0x06, 0x96, 0x79, 0xa2, 0x43, 0x0e, 0xa2, 0xcb, 0x5b, 0xb1, 0xd8, 0xc8, 0xff, 0x25, 0x72, 0xa8, - 0xf9, 0xb2, 0xb1, 0x0b, 0x2b, 0xe8, 0xc0, 0x9c, 0x64, 0x8c, 0xe4, 0xac, 0x2b, 0xa9, 0x59, 0x6f, - 0xac, 0x20, 0xbc, 0x32, 0x14, 0xa6, 0x16, 0x15, 0xa3, 0x09, 0x79, 0x74, 0xbf, 0xc3, 0x18, 0xf9, - 0x0f, 0x64, 0x1e, 0x31, 0x86, 0x6e, 0xc5, 0x9b, 0xe7, 0xcc, 0xe8, 0x0e, 0x67, 0x8a, 0x3b, 0x9e, - 0x29, 0xef, 0x78, 0x66, 0xcb, 0x77, 0x3d, 0x4b, 0x58, 0x4d, 0x80, 0x54, 0x8d, 0xbb, 0x40, 0x24, - 0x90, 0x9d, 0xc0, 0x75, 0x0e, 0x58, 0xeb, 0x90, 0xba, 0x1e, 0xb9, 0x00, 0x60, 0x8b, 0x87, 0x1e, - 0xde, 0xcd, 0xa2, 0x17, 0x5d, 0x01, 0x35, 0xf7, 0xe8, 0x90, 0x35, 0xd6, 0x10, 0x8c, 0x06, 0xa5, - 0x94, 0x99, 0x66, 0x3c, 0x53, 0xa1, 0x24, 0xdf, 0x5a, 0xd1, 0x3d, 0xeb, 0x8d, 0x2f, 0x92, 0x54, - 0xbb, 0x32, 0x33, 0xed, 0xba, 0x05, 0x8b, 0xe2, 0x2e, 0x3b, 0x0e, 0x71, 0x52, 0x2b, 0x37, 0xaf, - 0x98, 0xaf, 0xde, 0x66, 0xcd, 0x64, 0xbe, 0x0e, 0x5a, 0x5b, 0xd2, 0x4b, 0xcc, 0x7c, 0x9c, 0x7d, - 0xe6, 0x63, 0x59, 0x95, 0xfa, 0x4f, 0xe3, 0x6f, 0xe6, 0x65, 0xa8, 0x44, 0x38, 0x66, 0x6e, 0x1a, - 0x65, 0xd4, 0xc6, 0x66, 0x8d, 0xff, 0x61, 0xe1, 0x37, 0xe0, 0x2c, 0xac, 0x26, 0xea, 0xda, 0x9a, - 0x94, 0x90, 0xfe, 0x98, 0x28, 0xfa, 0xf2, 0x8d, 0xef, 0x15, 0x20, 0xaf, 0x42, 0x24, 0x97, 0x60, - 0x73, 0xdf, 0xba, 0xff, 0x71, 0xbb, 0xd5, 0xed, 0xb5, 0x3e, 0x69, 0x76, 0x3a, 0xbd, 0x4e, 0xb7, - 0xd9, 0x7d, 0xd0, 0xe9, 0x3d, 0xb8, 0xd7, 0xd9, 0x6f, 0xb7, 0xf6, 0xee, 0xec, 0xb5, 0x77, 0xb5, - 0x05, 0x72, 0x11, 0x2e, 0xcc, 0xb5, 0x6a, 0xb6, 0x5a, 0xed, 0xfd, 0x6e, 0x7b, 0x57, 0x53, 0xc8, - 0x0d, 0xb8, 0x32, 0xd7, 0xa4, 0xf5, 0x51, 0xf3, 0xde, 0x87, 0xed, 0x4e, 0xcf, 0x6a, 0x7f, 0xf6, - 0xa0, 0xdd, 0x11, 0xb6, 0xea, 0x6b, 0xc3, 0x59, 0x6d, 0xa1, 0x6b, 0xef, 0x6a, 0x99, 0x9d, 0xcf, - 0x7f, 0x7e, 0x51, 0x53, 0x9e, 0xbf, 0xa8, 0x29, 0xbf, 0xbf, 0xa8, 0x29, 0xcf, 0x5e, 0xd6, 0x16, - 0x9e, 0xbf, 0xac, 0x2d, 0xfc, 0xf6, 0xb2, 0xb6, 0xf0, 0xf0, 0xf6, 0x81, 0xcb, 0x0f, 0xc7, 0x7d, - 0xd3, 0xf6, 0x87, 0x75, 0x6c, 0xc3, 0x7f, 0x3d, 0xc6, 0x9f, 0xfa, 0xc1, 0x13, 0x29, 0x0d, 0x98, - 0x73, 0xc0, 0x82, 0xfa, 0x71, 0xe2, 0x5f, 0x04, 0x7f, 0x30, 0xc4, 0x67, 0x2d, 0x14, 0xbf, 0x19, - 0x8b, 0x78, 0x0b, 0xf8, 0xff, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x3e, 0x28, 0x21, 0xb3, - 0x0c, 0x00, 0x00, + // 1402 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x54, + 0x10, 0x8f, 0x64, 0x3b, 0xb1, 0xd7, 0xff, 0x94, 0x97, 0x26, 0x51, 0x43, 0x71, 0x8a, 0x68, 0x69, + 0xda, 0x06, 0x99, 0x14, 0x98, 0x01, 0x33, 0x43, 0xc7, 0x71, 0x54, 0x08, 0x6d, 0xd3, 0xa0, 0xb8, + 0x07, 0x7a, 0x31, 0xb2, 0xf4, 0xea, 0xa8, 0xb5, 0x25, 0x23, 0x3d, 0xa7, 0xc9, 0x95, 0x0f, 0xc0, + 0x70, 0xe2, 0xc0, 0x30, 0x7c, 0x05, 0xbe, 0x00, 0x47, 0x0e, 0x70, 0xeb, 0x0c, 0x17, 0x8e, 0x4c, + 0xfb, 0x01, 0x98, 0x61, 0x38, 0x71, 0x62, 0xde, 0xea, 0xc9, 0x96, 0x5c, 0x27, 0xed, 0x70, 0xd3, + 0xee, 0xdb, 0x3f, 0xbf, 0xfd, 0xed, 0xae, 0xf4, 0x04, 0xb5, 0x80, 0xf6, 0xa8, 0x57, 0xa7, 0xb6, + 0x6f, 0x07, 0xd4, 0x71, 0x59, 0xfd, 0x68, 0xab, 0x1e, 0x32, 0x8b, 0x51, 0x7d, 0x18, 0xf8, 0xcc, + 0x27, 0x04, 0xcf, 0xf5, 0xf1, 0xb9, 0x7e, 0xb4, 0xb5, 0x56, 0xb3, 0xfd, 0x70, 0xe0, 0x87, 0xf5, + 0xae, 0x15, 0xd2, 0xfa, 0xd1, 0x56, 0x97, 0x32, 0x6b, 0xab, 0x6e, 0xfb, 0xae, 0x17, 0xf9, 0xac, + 0xad, 0x8a, 0x73, 0x3f, 0x18, 0xf0, 0x70, 0x7e, 0x30, 0x10, 0x07, 0xeb, 0x3d, 0xdf, 0xef, 0xf5, + 0x69, 0x1d, 0xa5, 0xee, 0xe8, 0x61, 0x9d, 0xb9, 0x03, 0x1a, 0x32, 0x6b, 0x30, 0x8c, 0x0c, 0xb4, + 0x1f, 0x24, 0x80, 0x16, 0xe6, 0x69, 0x9f, 0x0c, 0x29, 0xd1, 0xa0, 0x64, 0x75, 0xbb, 0x01, 0x3d, + 0x72, 0x2d, 0xe6, 0xfa, 0x9e, 0x2a, 0x5d, 0x94, 0x36, 0x0a, 0x66, 0x4a, 0x47, 0x08, 0x64, 0x3d, + 0x6b, 0x40, 0x55, 0x19, 0xcf, 0xf0, 0x99, 0xeb, 0x46, 0x9e, 0xcb, 0xd4, 0x4c, 0xa4, 0xe3, 0xcf, + 0xe4, 0x02, 0x14, 0x86, 0x01, 0xb5, 0xdd, 0x90, 0x07, 0xca, 0x5e, 0x94, 0x36, 0xca, 0xe6, 0x44, + 0xd1, 0xb8, 0xf4, 0xf7, 0x8f, 0xbf, 0x7f, 0x93, 0xa9, 0x41, 0x25, 0x9d, 0x91, 0x40, 0x14, 0x5d, + 0x91, 0x54, 0x49, 0x95, 0xb4, 0xdf, 0x24, 0xc8, 0xb5, 0xfa, 0x56, 0x18, 0x12, 0x05, 0x32, 0x8f, + 0xe9, 0x09, 0x02, 0xca, 0x9a, 0xfc, 0x91, 0x54, 0x40, 0x76, 0x1d, 0x81, 0x42, 0x76, 0x1d, 0x72, + 0x0e, 0x72, 0x96, 0x33, 0x70, 0x3d, 0x04, 0x51, 0x32, 0x23, 0x81, 0xac, 0x41, 0x7e, 0x40, 0x99, + 0xe5, 0x58, 0xcc, 0x42, 0x10, 0x05, 0x73, 0x2c, 0x93, 0x4d, 0x20, 0x11, 0xc7, 0x1d, 0x76, 0x32, + 0xa4, 0x9d, 0x08, 0x87, 0x9a, 0x43, 0x2b, 0xc5, 0x1e, 0xb3, 0xd2, 0x44, 0x7d, 0xe3, 0x63, 0x44, + 0xfc, 0x01, 0x2c, 0x20, 0x12, 0x45, 0x22, 0x79, 0x0e, 0x80, 0x03, 0x25, 0x05, 0x91, 0x5a, 0x91, + 0xc9, 0xca, 0xac, 0x98, 0x4a, 0x46, 0x95, 0xb5, 0x2f, 0xa1, 0x88, 0xa5, 0xec, 0x86, 0xe1, 0x88, + 0x06, 0xe4, 0x35, 0x28, 0xd8, 0x5c, 0xec, 0x4c, 0xca, 0xca, 0xa3, 0xe2, 0x36, 0x3d, 0x21, 0x2b, + 0x30, 0xef, 0xa2, 0x19, 0xd6, 0x57, 0x32, 0x85, 0xd4, 0xb8, 0x80, 0x18, 0x56, 0x80, 0x80, 0x32, + 0x76, 0xde, 0x14, 0x96, 0x19, 0xed, 0x27, 0x19, 0x16, 0xf6, 0x03, 0xff, 0x11, 0xb5, 0xd9, 0xff, + 0xe6, 0x6b, 0x3d, 0x09, 0x8b, 0x13, 0x96, 0xdd, 0x96, 0x55, 0x29, 0x01, 0x4d, 0x83, 0xd2, 0xa3, + 0x51, 0xe0, 0x86, 0x8e, 0x6b, 0xe3, 0x88, 0x44, 0x74, 0xa5, 0x74, 0x29, 0xd2, 0xe7, 0xa7, 0x48, + 0x7f, 0x03, 0x4a, 0x01, 0x7d, 0x48, 0x03, 0xea, 0xd9, 0xb4, 0xe3, 0x3a, 0xea, 0x02, 0x9e, 0x17, + 0xc7, 0xba, 0x5d, 0xa7, 0x71, 0x88, 0x55, 0x76, 0x67, 0x31, 0x4d, 0xa0, 0x94, 0x28, 0xdc, 0x51, + 0xe4, 0x24, 0xfb, 0x19, 0xa2, 0xa4, 0x83, 0x2b, 0x59, 0xb2, 0x06, 0x2b, 0x13, 0x87, 0xd4, 0x59, + 0x4e, 0xcd, 0x6a, 0xbf, 0x64, 0x20, 0xb7, 0x6d, 0x31, 0xfb, 0x70, 0x06, 0x5f, 0xa7, 0xf4, 0x80, + 0xac, 0x43, 0x71, 0x18, 0x91, 0x8c, 0x1c, 0x65, 0xd0, 0x03, 0x84, 0x8a, 0x33, 0x74, 0x0e, 0x72, + 0x0e, 0xf5, 0xfc, 0x81, 0x98, 0xb7, 0x48, 0x48, 0x71, 0x92, 0x9b, 0xe2, 0xe4, 0x43, 0x80, 0x90, + 0x59, 0x01, 0xeb, 0x38, 0x16, 0xa3, 0xc8, 0x58, 0xf1, 0xc6, 0x9a, 0x1e, 0xed, 0xae, 0x1e, 0xef, + 0xae, 0xde, 0x8e, 0x77, 0xd7, 0x2c, 0xa0, 0xf5, 0x8e, 0xc5, 0x28, 0x79, 0x1f, 0xf2, 0xd4, 0x73, + 0x22, 0xc7, 0x85, 0x97, 0x3a, 0x2e, 0x50, 0xcf, 0x41, 0xb7, 0x9b, 0x50, 0xe6, 0xe5, 0x58, 0x9c, + 0x0b, 0xf4, 0xcd, 0xbf, 0xd4, 0xb7, 0x14, 0x3b, 0x60, 0x00, 0x02, 0x59, 0x7f, 0x48, 0x3d, 0xb5, + 0x70, 0x51, 0xda, 0xc8, 0x9b, 0xf8, 0x9c, 0x1e, 0x69, 0x48, 0x8f, 0x74, 0xe3, 0x01, 0x36, 0xb5, + 0x3d, 0x69, 0x6a, 0x51, 0xd0, 0x84, 0x7d, 0xad, 0xa6, 0x48, 0x55, 0x64, 0x52, 0x49, 0x52, 0xa2, + 0x64, 0x08, 0xc4, 0xdd, 0x50, 0xb2, 0xa4, 0x9c, 0xc8, 0xa3, 0xe4, 0xd4, 0x9c, 0xf6, 0xb5, 0x04, + 0x65, 0xdc, 0xad, 0x03, 0xfa, 0xd5, 0x88, 0xf7, 0xf7, 0x94, 0xd5, 0x96, 0x66, 0xaf, 0x36, 0x79, + 0x13, 0xca, 0x1e, 0x3d, 0x66, 0x9d, 0x50, 0xb8, 0x63, 0xc7, 0xb3, 0x66, 0x89, 0x2b, 0xe3, 0x90, + 0x8d, 0x1a, 0x16, 0xa0, 0xc2, 0xb9, 0x99, 0xa1, 0xe7, 0xb5, 0x47, 0x50, 0x15, 0xcb, 0x37, 0x46, + 0x71, 0xe6, 0x8e, 0xbf, 0x52, 0xd2, 0x65, 0x4c, 0x5a, 0x85, 0x62, 0x32, 0xd2, 0x82, 0xe6, 0x41, + 0x19, 0xc7, 0x76, 0x9c, 0x69, 0x6a, 0x28, 0xa5, 0x17, 0x86, 0xf2, 0x95, 0xb2, 0xad, 0x62, 0xb6, + 0x45, 0x28, 0xa7, 0xa3, 0xe5, 0xb5, 0x7f, 0x24, 0x28, 0x61, 0xc2, 0x6d, 0xab, 0x6f, 0x89, 0xca, + 0xba, 0x5c, 0x4e, 0x56, 0x86, 0x0a, 0x9e, 0x4b, 0x85, 0x05, 0xcb, 0x71, 0x02, 0x1a, 0x86, 0x62, + 0x75, 0x62, 0x91, 0x5c, 0x81, 0x2a, 0x0b, 0x2c, 0xc7, 0xea, 0xf6, 0x69, 0xc7, 0x1a, 0xf8, 0x23, + 0x2f, 0xfe, 0x64, 0x54, 0x62, 0x75, 0x13, 0xb5, 0xe4, 0x32, 0x54, 0x02, 0xca, 0xdc, 0x80, 0x3a, + 0xb1, 0x5d, 0xb4, 0x4c, 0x65, 0xa1, 0x15, 0x66, 0x57, 0xa0, 0x4a, 0x43, 0x3b, 0xf0, 0x9f, 0x4c, + 0xec, 0xa2, 0xdd, 0xaa, 0xc4, 0xea, 0xc8, 0xb0, 0xf1, 0x1e, 0x56, 0xa6, 0xc3, 0x12, 0x2c, 0x0a, + 0x2c, 0x9b, 0x63, 0xfc, 0x64, 0x19, 0x16, 0xc7, 0xc2, 0xa6, 0x38, 0x56, 0x24, 0xb5, 0xa0, 0xfd, + 0x2c, 0x41, 0x31, 0xe2, 0x79, 0x34, 0x1c, 0xf6, 0x4f, 0xce, 0xae, 0x7a, 0x46, 0x6d, 0xf2, 0x2b, + 0xd6, 0x96, 0x99, 0x55, 0xdb, 0x55, 0x50, 0x6c, 0xce, 0x75, 0xbf, 0x3f, 0x4d, 0x42, 0x75, 0xac, + 0x17, 0xd5, 0x25, 0xa6, 0x64, 0x82, 0x0f, 0xb4, 0x11, 0x94, 0xef, 0x05, 0x6e, 0xcf, 0xf5, 0xda, + 0xc7, 0xbb, 0x9e, 0x43, 0x8f, 0xcf, 0x9e, 0xc7, 0xe9, 0xef, 0xc3, 0x0a, 0xcc, 0x87, 0xfe, 0x28, + 0xb0, 0xa9, 0x80, 0x27, 0xa4, 0xc6, 0x3a, 0x26, 0x3b, 0x0f, 0xcb, 0xb0, 0x94, 0x7c, 0x15, 0x6f, + 0x0a, 0xe3, 0xa2, 0xf6, 0x9d, 0x24, 0xa6, 0xb3, 0xe5, 0x7b, 0x2c, 0xb0, 0x6c, 0x76, 0x36, 0x6f, + 0x29, 0x50, 0xf2, 0x14, 0xa8, 0x35, 0xc8, 0xdb, 0x22, 0x8a, 0x80, 0x31, 0x96, 0x1b, 0x75, 0x04, + 0x72, 0x35, 0x55, 0x35, 0x51, 0x81, 0x4c, 0x50, 0xc5, 0xa6, 0x78, 0x9b, 0x28, 0x69, 0x1f, 0xc1, + 0x32, 0xbe, 0x25, 0x5a, 0x01, 0xb5, 0x98, 0x1f, 0x34, 0xfb, 0x7d, 0xff, 0x49, 0xdf, 0x0d, 0x19, + 0x1f, 0x58, 0xea, 0xf1, 0x0e, 0x39, 0x88, 0x2e, 0x6f, 0xc6, 0x62, 0x23, 0xff, 0x2f, 0xcf, 0x21, + 0xe7, 0xcb, 0xda, 0x0e, 0x2c, 0xa1, 0x03, 0x75, 0x92, 0x31, 0x92, 0xb3, 0x2e, 0xa5, 0x66, 0xbd, + 0xb1, 0x84, 0xf0, 0xca, 0x50, 0x98, 0x58, 0x54, 0xb4, 0x26, 0xe4, 0xd1, 0xfd, 0x16, 0xa5, 0xe4, + 0x3a, 0x64, 0x1e, 0x52, 0x8a, 0x6e, 0xc5, 0x1b, 0xe7, 0xf5, 0xe8, 0x0e, 0xa7, 0xf3, 0x3b, 0x9e, + 0x2e, 0xee, 0x78, 0x7a, 0xcb, 0x77, 0x3d, 0x93, 0x5b, 0x8d, 0x81, 0x54, 0xb5, 0xdb, 0x40, 0x04, + 0x90, 0xed, 0xc0, 0x75, 0x7a, 0xb4, 0x75, 0x68, 0xb9, 0x1e, 0x79, 0x1d, 0xc0, 0xe6, 0x0f, 0x1d, + 0xbc, 0x9b, 0x45, 0x2f, 0xba, 0x02, 0x6a, 0xf6, 0xac, 0x01, 0x6d, 0xac, 0x20, 0x18, 0x05, 0x4a, + 0x29, 0x33, 0x45, 0xfb, 0x5e, 0x86, 0x45, 0xf1, 0xd6, 0x32, 0xbc, 0xc0, 0xef, 0xf7, 0x07, 0xd4, + 0x63, 0x2f, 0x7f, 0x9b, 0xa4, 0x7a, 0x96, 0x99, 0xea, 0x59, 0x0b, 0xe6, 0xf9, 0x85, 0x76, 0x14, + 0xe2, 0xb8, 0x56, 0x6e, 0x5c, 0xd7, 0x5f, 0xbc, 0xd2, 0xea, 0x2f, 0x24, 0x3d, 0x40, 0x17, 0x53, + 0xb8, 0xf2, 0xe9, 0x8f, 0x21, 0x4c, 0x7d, 0x36, 0xab, 0x42, 0x7f, 0x37, 0xfe, 0x7a, 0x5e, 0x86, + 0x4a, 0x04, 0x66, 0xea, 0xce, 0x51, 0x46, 0x6d, 0x6c, 0xd6, 0x78, 0x07, 0x29, 0xb8, 0x06, 0xab, + 0xb0, 0x9c, 0x28, 0x6e, 0x73, 0x5c, 0x47, 0xfa, 0xb3, 0x22, 0xa9, 0x8b, 0xd7, 0xfe, 0x92, 0x60, + 0xf5, 0x14, 0x9c, 0xe4, 0x2a, 0x5c, 0xde, 0x37, 0xef, 0x7d, 0x66, 0xb4, 0xda, 0x1d, 0x63, 0xcf, + 0xbc, 0x77, 0xe7, 0xce, 0x5d, 0x63, 0xaf, 0xdd, 0x39, 0x68, 0x37, 0xdb, 0xf7, 0x0f, 0x3a, 0xf7, + 0xf7, 0x0e, 0xf6, 0x8d, 0xd6, 0xee, 0xad, 0x5d, 0x63, 0x47, 0x99, 0x23, 0x6f, 0x81, 0x76, 0xba, + 0x69, 0xb3, 0xd5, 0x32, 0xf6, 0xdb, 0xc6, 0x8e, 0x22, 0x91, 0x3a, 0x5c, 0x3f, 0xdd, 0xae, 0xf5, + 0x69, 0x73, 0xef, 0x13, 0xe3, 0xa0, 0x63, 0x1a, 0x9f, 0xdf, 0x37, 0x0e, 0xb8, 0x83, 0x7c, 0x76, + 0x60, 0xd3, 0xe0, 0x07, 0xc6, 0x8e, 0x92, 0x21, 0x1b, 0x70, 0xe9, 0x74, 0xbb, 0xb6, 0x61, 0xde, + 0xdd, 0xdd, 0x6b, 0x72, 0xcb, 0xec, 0xf6, 0x17, 0xbf, 0x3e, 0xab, 0x49, 0x4f, 0x9f, 0xd5, 0xa4, + 0x3f, 0x9f, 0xd5, 0xa4, 0x6f, 0x9f, 0xd7, 0xe6, 0x9e, 0x3e, 0xaf, 0xcd, 0xfd, 0xf1, 0xbc, 0x36, + 0xf7, 0xe0, 0x66, 0xcf, 0x65, 0x87, 0xa3, 0xae, 0x6e, 0xfb, 0x83, 0x3a, 0xb6, 0xf3, 0x6d, 0x8f, + 0xb2, 0x27, 0x7e, 0xf0, 0x58, 0x48, 0x7d, 0xea, 0xf4, 0x68, 0x50, 0x3f, 0x4e, 0xfc, 0xd8, 0xe0, + 0xdf, 0x0a, 0xff, 0x46, 0x86, 0xfc, 0x9f, 0x65, 0x1e, 0xaf, 0x14, 0xef, 0xfe, 0x17, 0x00, 0x00, + 0xff, 0xff, 0x24, 0x45, 0x44, 0xa3, 0x00, 0x0d, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -2150,7 +2156,7 @@ func (m *AllowedBridgeChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ProjectClass) Marshal() (dAtA []byte, err error) { +func (m *ProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2160,12 +2166,12 @@ func (m *ProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *ProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2549,7 +2555,7 @@ func (m *AllowedBridgeChain) Size() (n int) { return n } -func (m *ProjectClass) Size() (n int) { +func (m *ProjectEnrollment) Size() (n int) { if m == nil { return 0 } @@ -4847,7 +4853,7 @@ func (m *AllowedBridgeChain) Unmarshal(dAtA []byte) error { } return nil } -func (m *ProjectClass) Unmarshal(dAtA []byte) error { +func (m *ProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4870,10 +4876,10 @@ func (m *ProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: ProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4928,7 +4934,7 @@ func (m *ProjectClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Status |= ProjectClassStatus(b&0x7F) << shift + m.Status |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index cdd3ad2381..f3fea4d01d 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -536,8 +536,8 @@ func (m *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgUpdateProjectClass is the Msg/UpdateProjectClass request type. -type MsgUpdateProjectClass struct { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +type MsgUpdateProjectEnrollment struct { // project_admin is the address of the account that is the admin of the // project which is applying to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` @@ -553,18 +553,18 @@ type MsgUpdateProjectClass struct { Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgUpdateProjectClass) Reset() { *m = MsgUpdateProjectClass{} } -func (m *MsgUpdateProjectClass) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectClass) ProtoMessage() {} -func (*MsgUpdateProjectClass) Descriptor() ([]byte, []int) { +func (m *MsgUpdateProjectEnrollment) Reset() { *m = MsgUpdateProjectEnrollment{} } +func (m *MsgUpdateProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectEnrollment) ProtoMessage() {} +func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{8} } -func (m *MsgUpdateProjectClass) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -574,62 +574,62 @@ func (m *MsgUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *MsgUpdateProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectClass.Merge(m, src) +func (m *MsgUpdateProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectEnrollment.Merge(m, src) } -func (m *MsgUpdateProjectClass) XXX_Size() int { +func (m *MsgUpdateProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectClass.DiscardUnknown(m) +func (m *MsgUpdateProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectClass proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectEnrollment proto.InternalMessageInfo -func (m *MsgUpdateProjectClass) GetProjectAdmin() string { +func (m *MsgUpdateProjectEnrollment) GetProjectAdmin() string { if m != nil { return m.ProjectAdmin } return "" } -func (m *MsgUpdateProjectClass) GetProjectId() string { +func (m *MsgUpdateProjectEnrollment) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *MsgUpdateProjectClass) GetClassId() string { +func (m *MsgUpdateProjectEnrollment) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *MsgUpdateProjectClass) GetMetadata() string { +func (m *MsgUpdateProjectEnrollment) GetMetadata() string { if m != nil { return m.Metadata } return "" } -// MsgUpdateProjectClassResponse is the Msg/UpdateProjectClass response type. -type MsgUpdateProjectClassResponse struct { +// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. +type MsgUpdateProjectEnrollmentResponse struct { } -func (m *MsgUpdateProjectClassResponse) Reset() { *m = MsgUpdateProjectClassResponse{} } -func (m *MsgUpdateProjectClassResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectClassResponse) ProtoMessage() {} -func (*MsgUpdateProjectClassResponse) Descriptor() ([]byte, []int) { +func (m *MsgUpdateProjectEnrollmentResponse) Reset() { *m = MsgUpdateProjectEnrollmentResponse{} } +func (m *MsgUpdateProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{9} } -func (m *MsgUpdateProjectClassResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectClassResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -639,20 +639,20 @@ func (m *MsgUpdateProjectClassResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgUpdateProjectClassResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectClassResponse.Merge(m, src) +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Merge(m, src) } -func (m *MsgUpdateProjectClassResponse) XXX_Size() int { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectClassResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectClassResponse.DiscardUnknown(m) +func (m *MsgUpdateProjectEnrollmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectClassResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectEnrollmentResponse proto.InternalMessageInfo -// MsgWithdrawProjectClass is the Msg/WithdrawProjectClass request type. -type MsgWithdrawProjectClass struct { +// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. +type MsgWithdrawProjectEnrollment struct { // project_admin is the address of the account that is the admin of the // project which is withdrawing its application to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` @@ -664,18 +664,18 @@ type MsgWithdrawProjectClass struct { Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgWithdrawProjectClass) Reset() { *m = MsgWithdrawProjectClass{} } -func (m *MsgWithdrawProjectClass) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawProjectClass) ProtoMessage() {} -func (*MsgWithdrawProjectClass) Descriptor() ([]byte, []int) { +func (m *MsgWithdrawProjectEnrollment) Reset() { *m = MsgWithdrawProjectEnrollment{} } +func (m *MsgWithdrawProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawProjectEnrollment) ProtoMessage() {} +func (*MsgWithdrawProjectEnrollment) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{10} } -func (m *MsgWithdrawProjectClass) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgWithdrawProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgWithdrawProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -685,55 +685,55 @@ func (m *MsgWithdrawProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *MsgWithdrawProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawProjectClass.Merge(m, src) +func (m *MsgWithdrawProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawProjectEnrollment.Merge(m, src) } -func (m *MsgWithdrawProjectClass) XXX_Size() int { +func (m *MsgWithdrawProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *MsgWithdrawProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawProjectClass.DiscardUnknown(m) +func (m *MsgWithdrawProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_MsgWithdrawProjectClass proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawProjectEnrollment proto.InternalMessageInfo -func (m *MsgWithdrawProjectClass) GetProjectAdmin() string { +func (m *MsgWithdrawProjectEnrollment) GetProjectAdmin() string { if m != nil { return m.ProjectAdmin } return "" } -func (m *MsgWithdrawProjectClass) GetApplicationId() uint64 { +func (m *MsgWithdrawProjectEnrollment) GetApplicationId() uint64 { if m != nil { return m.ApplicationId } return 0 } -func (m *MsgWithdrawProjectClass) GetMetadata() string { +func (m *MsgWithdrawProjectEnrollment) GetMetadata() string { if m != nil { return m.Metadata } return "" } -// MsgWithdrawProjectClassResponse is the Msg/WithdrawProjectClass response type. -type MsgWithdrawProjectClassResponse struct { +// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. +type MsgWithdrawProjectEnrollmentResponse struct { } -func (m *MsgWithdrawProjectClassResponse) Reset() { *m = MsgWithdrawProjectClassResponse{} } -func (m *MsgWithdrawProjectClassResponse) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawProjectClassResponse) ProtoMessage() {} -func (*MsgWithdrawProjectClassResponse) Descriptor() ([]byte, []int) { +func (m *MsgWithdrawProjectEnrollmentResponse) Reset() { *m = MsgWithdrawProjectEnrollmentResponse{} } +func (m *MsgWithdrawProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgWithdrawProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgWithdrawProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{11} } -func (m *MsgWithdrawProjectClassResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgWithdrawProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgWithdrawProjectClassResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -743,45 +743,45 @@ func (m *MsgWithdrawProjectClassResponse) XXX_Marshal(b []byte, deterministic bo return b[:n], nil } } -func (m *MsgWithdrawProjectClassResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawProjectClassResponse.Merge(m, src) +func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.Merge(m, src) } -func (m *MsgWithdrawProjectClassResponse) XXX_Size() int { +func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Size() int { return m.Size() } -func (m *MsgWithdrawProjectClassResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawProjectClassResponse.DiscardUnknown(m) +func (m *MsgWithdrawProjectEnrollmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgWithdrawProjectClassResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse proto.InternalMessageInfo -// MsgEvaluateProjectClass is the Msg/EvaluateProjectClass request type. -type MsgEvaluateProjectClass struct { +// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. +type MsgEvaluateProjectEnrollment struct { // issuer is the address of the account that is the issuer of the credit class // which is evaluating the application. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // application_id is the identifier of the application to evaluate. ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` // evaluation is the evaluation of the application. - Evaluation ProjectClassStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectClassStatus" json:"evaluation,omitempty"` + Evaluation ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"evaluation,omitempty"` // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes // to, or rejecting the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgEvaluateProjectClass) Reset() { *m = MsgEvaluateProjectClass{} } -func (m *MsgEvaluateProjectClass) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateProjectClass) ProtoMessage() {} -func (*MsgEvaluateProjectClass) Descriptor() ([]byte, []int) { +func (m *MsgEvaluateProjectEnrollment) Reset() { *m = MsgEvaluateProjectEnrollment{} } +func (m *MsgEvaluateProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateProjectEnrollment) ProtoMessage() {} +func (*MsgEvaluateProjectEnrollment) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{12} } -func (m *MsgEvaluateProjectClass) XXX_Unmarshal(b []byte) error { +func (m *MsgEvaluateProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgEvaluateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgEvaluateProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -791,62 +791,62 @@ func (m *MsgEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *MsgEvaluateProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateProjectClass.Merge(m, src) +func (m *MsgEvaluateProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateProjectEnrollment.Merge(m, src) } -func (m *MsgEvaluateProjectClass) XXX_Size() int { +func (m *MsgEvaluateProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateProjectClass.DiscardUnknown(m) +func (m *MsgEvaluateProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateProjectClass proto.InternalMessageInfo +var xxx_messageInfo_MsgEvaluateProjectEnrollment proto.InternalMessageInfo -func (m *MsgEvaluateProjectClass) GetIssuer() string { +func (m *MsgEvaluateProjectEnrollment) GetIssuer() string { if m != nil { return m.Issuer } return "" } -func (m *MsgEvaluateProjectClass) GetApplicationId() uint64 { +func (m *MsgEvaluateProjectEnrollment) GetApplicationId() uint64 { if m != nil { return m.ApplicationId } return 0 } -func (m *MsgEvaluateProjectClass) GetEvaluation() ProjectClassStatus { +func (m *MsgEvaluateProjectEnrollment) GetEvaluation() ProjectEnrollmentStatus { if m != nil { return m.Evaluation } - return ProjectClassStatus_PROJECT_CLASS_STATUS_UNSPECIFIED + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *MsgEvaluateProjectClass) GetMetadata() string { +func (m *MsgEvaluateProjectEnrollment) GetMetadata() string { if m != nil { return m.Metadata } return "" } -// MsgEvaluateProjectClassResponse is the Msg/EvaluateProjectClass response type. -type MsgEvaluateProjectClassResponse struct { +// MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. +type MsgEvaluateProjectEnrollmentResponse struct { } -func (m *MsgEvaluateProjectClassResponse) Reset() { *m = MsgEvaluateProjectClassResponse{} } -func (m *MsgEvaluateProjectClassResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateProjectClassResponse) ProtoMessage() {} -func (*MsgEvaluateProjectClassResponse) Descriptor() ([]byte, []int) { +func (m *MsgEvaluateProjectEnrollmentResponse) Reset() { *m = MsgEvaluateProjectEnrollmentResponse{} } +func (m *MsgEvaluateProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgEvaluateProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgEvaluateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{13} } -func (m *MsgEvaluateProjectClassResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateProjectClassResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateProjectClassResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -856,17 +856,17 @@ func (m *MsgEvaluateProjectClassResponse) XXX_Marshal(b []byte, deterministic bo return b[:n], nil } } -func (m *MsgEvaluateProjectClassResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateProjectClassResponse.Merge(m, src) +func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.Merge(m, src) } -func (m *MsgEvaluateProjectClassResponse) XXX_Size() int { +func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateProjectClassResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateProjectClassResponse.DiscardUnknown(m) +func (m *MsgEvaluateProjectEnrollmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateProjectClassResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse proto.InternalMessageInfo // MsgCreateBatch is the Msg/CreateBatch request type. type MsgCreateBatch struct { @@ -3397,12 +3397,12 @@ func init() { proto.RegisterType((*MsgCreateProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateProjectResponse") proto.RegisterType((*MsgCreateUnregisteredProject)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProject") proto.RegisterType((*MsgCreateUnregisteredProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse") - proto.RegisterType((*MsgUpdateProjectClass)(nil), "regen.ecocredit.v1.MsgUpdateProjectClass") - proto.RegisterType((*MsgUpdateProjectClassResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectClassResponse") - proto.RegisterType((*MsgWithdrawProjectClass)(nil), "regen.ecocredit.v1.MsgWithdrawProjectClass") - proto.RegisterType((*MsgWithdrawProjectClassResponse)(nil), "regen.ecocredit.v1.MsgWithdrawProjectClassResponse") - proto.RegisterType((*MsgEvaluateProjectClass)(nil), "regen.ecocredit.v1.MsgEvaluateProjectClass") - proto.RegisterType((*MsgEvaluateProjectClassResponse)(nil), "regen.ecocredit.v1.MsgEvaluateProjectClassResponse") + proto.RegisterType((*MsgUpdateProjectEnrollment)(nil), "regen.ecocredit.v1.MsgUpdateProjectEnrollment") + proto.RegisterType((*MsgUpdateProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse") + proto.RegisterType((*MsgWithdrawProjectEnrollment)(nil), "regen.ecocredit.v1.MsgWithdrawProjectEnrollment") + proto.RegisterType((*MsgWithdrawProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse") + proto.RegisterType((*MsgEvaluateProjectEnrollment)(nil), "regen.ecocredit.v1.MsgEvaluateProjectEnrollment") + proto.RegisterType((*MsgEvaluateProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse") proto.RegisterType((*MsgCreateBatch)(nil), "regen.ecocredit.v1.MsgCreateBatch") proto.RegisterType((*MsgCreateBatchResponse)(nil), "regen.ecocredit.v1.MsgCreateBatchResponse") proto.RegisterType((*MsgMintBatchCredits)(nil), "regen.ecocredit.v1.MsgMintBatchCredits") @@ -3453,143 +3453,144 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2172 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x4f, 0xcf, 0x8c, 0x3f, 0xe6, 0x8d, 0xed, 0x24, 0x9d, 0xac, 0x33, 0x69, 0xc7, 0x63, 0x67, - 0x92, 0x6c, 0x9c, 0x8f, 0x9d, 0xc1, 0x0e, 0x28, 0x24, 0x08, 0x05, 0xdb, 0xbb, 0x11, 0x46, 0x9a, - 0x05, 0x75, 0xb2, 0x5a, 0xb1, 0x02, 0x8d, 0x7a, 0xba, 0x2b, 0xed, 0x0e, 0x33, 0xdd, 0xa3, 0xee, - 0x1a, 0xdb, 0x11, 0x08, 0x69, 0x11, 0x12, 0xd7, 0xbd, 0x70, 0x41, 0x1c, 0x90, 0x90, 0x38, 0x23, - 0xfe, 0x05, 0x2e, 0x70, 0x5b, 0x0e, 0x08, 0x6e, 0x8b, 0x12, 0x24, 0xfe, 0x03, 0x4e, 0x1c, 0x50, - 0x57, 0x55, 0x57, 0x57, 0xcd, 0x74, 0x75, 0xf7, 0xec, 0xc7, 0xc5, 0xea, 0xaa, 0x7a, 0xf5, 0xde, - 0xef, 0xbd, 0x7a, 0xf5, 0x3e, 0xca, 0x03, 0x1b, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, - 0xc8, 0xf1, 0x70, 0xf7, 0x64, 0xb7, 0x8b, 0xcf, 0x3a, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xc5, - 0x0e, 0x5f, 0xec, 0x9c, 0xec, 0x1a, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, - 0x9e, 0xec, 0x0e, 0x10, 0xb6, 0x76, 0xbb, 0x76, 0xe0, 0xf9, 0x74, 0x8f, 0x71, 0x85, 0xad, 0x8f, - 0x22, 0x37, 0xe6, 0x35, 0x8a, 0x5c, 0xb6, 0x70, 0xd9, 0x0d, 0xdc, 0x80, 0x7c, 0x76, 0xe3, 0x2f, - 0x36, 0xbb, 0xe5, 0x06, 0x81, 0x3b, 0x44, 0x5d, 0x32, 0x1a, 0x4c, 0x5e, 0x74, 0xb1, 0x37, 0x42, - 0x11, 0xb6, 0x46, 0x63, 0x46, 0xd0, 0xca, 0x00, 0x18, 0x61, 0x0b, 0xa3, 0x9c, 0x75, 0xfc, 0x6a, - 0x8c, 0x22, 0xba, 0xde, 0xfe, 0x58, 0x83, 0x0b, 0xbd, 0xc8, 0xdd, 0x77, 0x9c, 0x43, 0xb2, 0xfe, - 0xfc, 0xd5, 0x18, 0xe9, 0xd7, 0xa0, 0x6e, 0x4d, 0xf0, 0x71, 0x10, 0x7a, 0xf8, 0x55, 0x53, 0xdb, - 0xd6, 0x76, 0xea, 0x66, 0x3a, 0xa1, 0x3f, 0x81, 0x06, 0xe5, 0xd5, 0x8f, 0x19, 0x35, 0x2b, 0xdb, - 0xda, 0x4e, 0x63, 0xaf, 0xd5, 0x99, 0x35, 0x46, 0x27, 0x65, 0x69, 0x82, 0xcd, 0xbf, 0x1f, 0xaf, - 0xfd, 0xe2, 0x3f, 0x7f, 0xbc, 0x9b, 0x32, 0x6c, 0x1b, 0xd0, 0x9c, 0x86, 0x60, 0xa2, 0x68, 0x1c, - 0xf8, 0x11, 0x6a, 0xff, 0x59, 0x83, 0xb5, 0x5e, 0xe4, 0x1e, 0x86, 0xc8, 0xc2, 0xe8, 0x70, 0x68, - 0x45, 0x91, 0x7e, 0x19, 0x16, 0x2c, 0x67, 0xe4, 0xf9, 0x0c, 0x19, 0x1d, 0xe8, 0x4d, 0x58, 0xf2, - 0xa2, 0x68, 0x82, 0xc2, 0xa8, 0x59, 0xd9, 0xae, 0xee, 0xd4, 0xcd, 0x64, 0xa8, 0x1b, 0xb0, 0x3c, - 0x42, 0xd8, 0x72, 0x2c, 0x6c, 0x35, 0xab, 0x64, 0x0b, 0x1f, 0xeb, 0xf7, 0x41, 0x17, 0x74, 0xe9, - 0x5b, 0x83, 0x41, 0x88, 0x4e, 0x9a, 0x35, 0x42, 0x75, 0x21, 0x85, 0xbc, 0x4f, 0xe6, 0xf5, 0x7b, - 0x50, 0x7d, 0x81, 0x50, 0x73, 0x81, 0x68, 0x7c, 0xb5, 0x43, 0x8f, 0xb2, 0x13, 0x1f, 0x75, 0x87, - 0x1d, 0x75, 0xe7, 0x30, 0xf0, 0x7c, 0x33, 0xa6, 0x7a, 0x0c, 0xb1, 0x96, 0x14, 0x5c, 0xfb, 0x01, - 0xac, 0xcb, 0x4a, 0x24, 0xfa, 0xe9, 0x57, 0x61, 0xd9, 0x8e, 0x27, 0xfa, 0x9e, 0xc3, 0xf4, 0x59, - 0x22, 0xe3, 0x23, 0xa7, 0xfd, 0x27, 0x7a, 0x34, 0x74, 0xd7, 0x0f, 0xc2, 0xe0, 0x25, 0xb2, 0xb1, - 0x42, 0x79, 0x91, 0x4b, 0x45, 0xe2, 0x92, 0xab, 0x7d, 0x1b, 0x56, 0x5e, 0x4e, 0x42, 0x2f, 0x72, - 0x3c, 0x1b, 0x7b, 0x81, 0xcf, 0xf4, 0x96, 0xe6, 0xf4, 0xeb, 0xb0, 0x12, 0xa2, 0x17, 0x28, 0x44, - 0xbe, 0x8d, 0x62, 0xf6, 0x0b, 0x84, 0xa6, 0xc1, 0xe7, 0x8e, 0x1c, 0x49, 0xd3, 0x47, 0xe4, 0x2c, - 0x25, 0xcc, 0x5c, 0xd7, 0x4d, 0x80, 0x31, 0x9d, 0x4a, 0xb5, 0xad, 0xb3, 0x99, 0x23, 0xa7, 0xfd, - 0x7b, 0x0d, 0xae, 0xf1, 0xbd, 0x1f, 0xf8, 0x21, 0x72, 0xbd, 0x08, 0xa3, 0x10, 0x39, 0xf9, 0xba, - 0x8b, 0x0a, 0x56, 0x0a, 0x14, 0xac, 0x96, 0x50, 0xb0, 0x96, 0xaf, 0xe0, 0x7b, 0x70, 0x33, 0x0f, - 0x64, 0x59, 0x65, 0xff, 0xa0, 0xc1, 0x5b, 0xbd, 0xc8, 0xfd, 0x60, 0xec, 0xa4, 0x86, 0xa2, 0xee, - 0x7d, 0x03, 0x56, 0x93, 0x8d, 0xa2, 0xb6, 0x2b, 0x6c, 0x72, 0x9f, 0x28, 0x2d, 0x73, 0xaf, 0x4c, - 0x71, 0x97, 0xfc, 0xa1, 0xaa, 0xf6, 0x87, 0x9a, 0x6c, 0xae, 0xc7, 0x7a, 0xac, 0xa7, 0x2c, 0xbd, - 0xbd, 0x05, 0x9b, 0x99, 0x38, 0xf9, 0x0d, 0xfd, 0xb5, 0x06, 0x57, 0x7a, 0x91, 0xfb, 0xa1, 0x87, - 0x8f, 0x9d, 0xd0, 0x3a, 0x9d, 0x5f, 0x97, 0x5b, 0xb0, 0x66, 0x8d, 0xc7, 0x43, 0xcf, 0xb6, 0xe2, - 0xf3, 0x48, 0xf4, 0xa9, 0x99, 0xab, 0xc2, 0x6c, 0xbe, 0x23, 0x67, 0x02, 0xbf, 0x0e, 0x5b, 0x0a, - 0x58, 0x1c, 0xfa, 0x5f, 0x29, 0xf4, 0xf7, 0x4e, 0xac, 0xe1, 0x64, 0xfa, 0x18, 0xd6, 0x61, 0x91, - 0x06, 0x10, 0x86, 0x99, 0x8d, 0xca, 0xa2, 0x7d, 0x0a, 0x80, 0x28, 0xdb, 0xc4, 0xef, 0xd6, 0xf6, - 0xde, 0xce, 0x8a, 0x91, 0xa2, 0xd0, 0x67, 0xd8, 0xc2, 0x93, 0xc8, 0x14, 0x76, 0xe6, 0x1e, 0x57, - 0x23, 0xd6, 0x9a, 0xe1, 0x62, 0xea, 0x66, 0xa9, 0xc2, 0xd5, 0xfd, 0x5f, 0x45, 0x88, 0xa5, 0x07, - 0x16, 0xb6, 0x8f, 0x95, 0x5a, 0x16, 0xf8, 0xd7, 0xb7, 0x61, 0x39, 0x26, 0xb4, 0x7c, 0x1b, 0x35, - 0xab, 0xdb, 0xd5, 0x9d, 0xc6, 0xde, 0xf5, 0x2c, 0xdd, 0x88, 0x8c, 0x23, 0x46, 0x68, 0xf2, 0x2d, - 0x79, 0x4a, 0xe9, 0x4f, 0x00, 0x22, 0x6c, 0x85, 0xb8, 0x1f, 0x3b, 0x1c, 0x0b, 0xb5, 0x46, 0x87, - 0xa6, 0xc1, 0x4e, 0x92, 0x06, 0x3b, 0xcf, 0x93, 0x34, 0x78, 0x50, 0xfb, 0xe4, 0xb3, 0x2d, 0xcd, - 0xac, 0x93, 0x3d, 0xef, 0x5a, 0x18, 0xe9, 0xdf, 0x82, 0x65, 0xe4, 0x3b, 0x74, 0xfb, 0x62, 0xc9, - 0xed, 0x4b, 0xc8, 0x77, 0xc8, 0x66, 0x1d, 0x6a, 0xc1, 0x18, 0xf9, 0xcd, 0xa5, 0x6d, 0x6d, 0x67, - 0xd9, 0x24, 0xdf, 0xfa, 0x23, 0xa8, 0x07, 0xa1, 0xe7, 0x7a, 0x7e, 0x1f, 0x9f, 0x35, 0x97, 0x09, - 0xc7, 0x6b, 0x59, 0xda, 0x7e, 0x9f, 0x10, 0x3d, 0x3f, 0x33, 0x97, 0x03, 0xf6, 0x25, 0x9f, 0xd0, - 0x23, 0x21, 0x09, 0x10, 0xcb, 0xf0, 0x58, 0xb1, 0x05, 0x8d, 0x41, 0x3c, 0xd1, 0x77, 0x90, 0x1f, - 0x8c, 0xd8, 0x51, 0x00, 0x99, 0x7a, 0x37, 0x9e, 0x69, 0xff, 0x5d, 0x83, 0x4b, 0xbd, 0xc8, 0xed, - 0x79, 0x3e, 0x26, 0x3b, 0x69, 0xa2, 0x54, 0x3b, 0xe9, 0x14, 0xc3, 0xca, 0x34, 0xc3, 0x2f, 0x7a, - 0x80, 0x92, 0x49, 0x6a, 0x9f, 0xdf, 0x24, 0x9b, 0xb0, 0x91, 0xa1, 0x16, 0x77, 0xd8, 0xe7, 0xb0, - 0xd2, 0x8b, 0xdc, 0x67, 0xc8, 0x1a, 0xe6, 0x7b, 0x6b, 0x91, 0xba, 0xb2, 0xd0, 0x75, 0xb8, 0x2c, - 0x72, 0xe5, 0xd2, 0xfe, 0x5b, 0x81, 0x25, 0xb2, 0xe0, 0x3b, 0xb1, 0xa4, 0x08, 0xf9, 0x4e, 0x2a, - 0x89, 0x8e, 0xe2, 0xca, 0x28, 0x44, 0xb6, 0x37, 0xf6, 0x90, 0x8f, 0x93, 0x6b, 0xc1, 0x27, 0xf4, - 0x7d, 0x58, 0xa2, 0xba, 0x47, 0xcc, 0xa8, 0xb7, 0xb3, 0x8c, 0xc2, 0x64, 0x74, 0xe2, 0x3f, 0x89, - 0xc6, 0xc9, 0x3e, 0xe3, 0xdf, 0x1a, 0x34, 0x84, 0x85, 0x42, 0xd7, 0xd0, 0x6f, 0xc3, 0x79, 0x1c, - 0x5a, 0x8e, 0x35, 0x18, 0xa2, 0xbe, 0x35, 0x0a, 0x26, 0x1c, 0xd7, 0x5a, 0x32, 0xbd, 0x4f, 0x66, - 0xe3, 0xc0, 0x15, 0x22, 0xec, 0x85, 0xc8, 0x49, 0xe8, 0x68, 0x14, 0x5d, 0x65, 0xb3, 0x8c, 0xec, - 0x21, 0x5c, 0xa1, 0x13, 0x23, 0xe4, 0xe3, 0x7e, 0x46, 0x79, 0xb0, 0x9e, 0x2e, 0x7f, 0x4f, 0xcc, - 0xa3, 0xf7, 0xe0, 0xa2, 0xb0, 0x31, 0x44, 0x56, 0x14, 0xf8, 0xac, 0x5a, 0xb8, 0x90, 0x2e, 0x98, - 0x64, 0x9e, 0x1d, 0x08, 0x35, 0x6a, 0xfb, 0x22, 0x9c, 0x67, 0x36, 0xe1, 0x67, 0xf1, 0x3b, 0x0d, - 0xea, 0xbd, 0xc8, 0x35, 0xc9, 0xbe, 0x38, 0xf1, 0x07, 0xa7, 0x3e, 0x3f, 0x0c, 0x3a, 0xd0, 0xbf, - 0x91, 0x5a, 0xbb, 0x42, 0xac, 0xbd, 0xa1, 0xae, 0x41, 0x53, 0x0b, 0x97, 0xaa, 0x09, 0xd6, 0x61, - 0x91, 0x29, 0x40, 0x75, 0x66, 0x23, 0x56, 0x08, 0x10, 0xf1, 0xed, 0x4b, 0x70, 0x91, 0x23, 0xe4, - 0xb8, 0x7f, 0x46, 0x60, 0x1f, 0xc6, 0x97, 0x64, 0xf8, 0xe5, 0xc2, 0x4e, 0x21, 0x55, 0x0b, 0x20, - 0x51, 0xe9, 0x1c, 0x52, 0x40, 0x42, 0x07, 0x4d, 0xe0, 0x24, 0x1f, 0xd0, 0xac, 0x3b, 0x77, 0x21, - 0xb9, 0x01, 0x75, 0x1f, 0x9d, 0xb2, 0x3c, 0xce, 0x12, 0xb0, 0x8f, 0x4e, 0x09, 0x37, 0xa9, 0x42, - 0xa2, 0x97, 0x7a, 0x5a, 0x20, 0xc7, 0xf3, 0x5b, 0xb1, 0xf2, 0x21, 0xeb, 0x47, 0xac, 0x50, 0x9f, - 0x1b, 0xd2, 0x16, 0x34, 0x2c, 0xc7, 0xe9, 0x27, 0x75, 0x7f, 0x95, 0xd4, 0xfd, 0x60, 0x39, 0x4e, - 0xc2, 0x91, 0xf8, 0xfc, 0x28, 0x38, 0x41, 0x9c, 0xa6, 0x46, 0x68, 0x56, 0xe9, 0x2c, 0x23, 0x93, - 0xd0, 0x8b, 0xf5, 0x8e, 0x88, 0x8e, 0xe3, 0x3f, 0x23, 0x61, 0x5c, 0x20, 0xe8, 0x25, 0xa9, 0x6b, - 0x6e, 0xfc, 0xd7, 0x61, 0x25, 0x36, 0xe9, 0x54, 0x59, 0xd3, 0xf0, 0xd1, 0x69, 0xc2, 0x53, 0x82, - 0xb6, 0x0d, 0xad, 0x6c, 0xc9, 0x1c, 0xdb, 0x64, 0xb6, 0xa8, 0xcc, 0x3b, 0xed, 0x82, 0x2c, 0x5f, - 0xfa, 0xc4, 0x33, 0x6a, 0x44, 0xf9, 0xcc, 0x7f, 0x4e, 0xba, 0x02, 0x89, 0xa0, 0xc0, 0x6a, 0x05, - 0xd0, 0xe6, 0xb4, 0x5c, 0x1b, 0xb6, 0x55, 0xf2, 0x39, 0xc6, 0xdf, 0xd0, 0x90, 0x73, 0x10, 0x7a, - 0x8e, 0xab, 0x0a, 0x39, 0xeb, 0xb0, 0x88, 0xad, 0xd0, 0x45, 0x49, 0x8c, 0x65, 0x23, 0x39, 0x2d, - 0x54, 0xa7, 0xd3, 0x82, 0x70, 0xe3, 0x6b, 0xe5, 0x6f, 0xbc, 0x74, 0xb3, 0x3f, 0xd6, 0x04, 0xaf, - 0x23, 0x69, 0x8b, 0xdb, 0xef, 0x73, 0xd7, 0x00, 0x25, 0x6c, 0x28, 0xe5, 0x4d, 0xd1, 0xfd, 0x24, - 0x08, 0xdc, 0x84, 0x34, 0xfe, 0x50, 0x0b, 0xf2, 0xc9, 0xcf, 0x6a, 0xa4, 0x8d, 0x4d, 0x66, 0x6d, - 0xe4, 0x9d, 0x20, 0x25, 0xe8, 0x9c, 0xcb, 0xf2, 0x14, 0x96, 0xd8, 0xf9, 0x13, 0xa4, 0x8d, 0xbd, - 0xfb, 0x8a, 0xe4, 0x2a, 0x49, 0x4a, 0xea, 0x6b, 0x33, 0xd9, 0xac, 0x7f, 0x07, 0x16, 0x88, 0x11, - 0x58, 0xdd, 0x72, 0xb7, 0x14, 0x17, 0x5a, 0x29, 0xd0, 0x8d, 0x72, 0xf5, 0xb3, 0x30, 0x4f, 0xf5, - 0x63, 0xfc, 0x43, 0x83, 0x05, 0x5a, 0xcb, 0x48, 0x2e, 0xa3, 0x4d, 0xbb, 0xcc, 0x3a, 0x2c, 0x4a, - 0xc9, 0x9c, 0x8d, 0xa6, 0xaa, 0xe3, 0xea, 0x17, 0xab, 0x8e, 0x6b, 0xf3, 0x56, 0xc7, 0x62, 0xdd, - 0xbe, 0x20, 0xd7, 0xed, 0xc6, 0x10, 0x96, 0x92, 0x3e, 0x7d, 0xba, 0xa3, 0xd6, 0x66, 0x3a, 0xea, - 0x99, 0x24, 0x5c, 0xc9, 0x48, 0xc2, 0x79, 0x0d, 0x9f, 0xe4, 0x98, 0x1f, 0x91, 0xe8, 0x22, 0x1d, - 0x58, 0xe9, 0xd2, 0xba, 0x20, 0xd0, 0xb4, 0x7f, 0x04, 0x3a, 0x7b, 0x9b, 0x8a, 0xdd, 0x90, 0x14, - 0xef, 0x41, 0x58, 0xf0, 0x40, 0xd6, 0x24, 0xf7, 0x3d, 0x26, 0xe4, 0x3e, 0x4c, 0x87, 0x33, 0x2f, - 0x5f, 0xd7, 0xc0, 0x98, 0xe5, 0xce, 0x6f, 0x0e, 0x22, 0x89, 0xf4, 0x19, 0xc2, 0xe2, 0xea, 0xfe, - 0x70, 0x18, 0x9c, 0x0e, 0xbd, 0x08, 0x17, 0x83, 0x40, 0x7e, 0x5c, 0xfe, 0x51, 0xa5, 0x96, 0xcd, - 0x64, 0x38, 0x03, 0xe2, 0x16, 0xdc, 0xc8, 0x11, 0xc3, 0xd1, 0xf4, 0x49, 0x6e, 0x31, 0x49, 0xe2, - 0xfc, 0x4a, 0x8c, 0x41, 0xb3, 0xc8, 0xac, 0x00, 0x8e, 0xc0, 0x27, 0xe1, 0x45, 0xc8, 0x7f, 0x4f, - 0x51, 0xd1, 0x5b, 0x25, 0x7b, 0xb1, 0xab, 0x94, 0x7a, 0xb1, 0x9b, 0x06, 0xb4, 0x01, 0x57, 0x67, - 0xe4, 0x71, 0x30, 0x6e, 0xf2, 0x68, 0x49, 0x2c, 0x85, 0x1c, 0xea, 0x7e, 0x87, 0xc7, 0x96, 0xe7, - 0x17, 0x60, 0xda, 0x04, 0xb0, 0x63, 0xb2, 0xbe, 0x6f, 0x8d, 0x50, 0xe2, 0x71, 0x64, 0xe6, 0x7d, - 0x6b, 0x34, 0x8b, 0x82, 0xe6, 0xae, 0x4c, 0x41, 0x1c, 0xcc, 0x4b, 0xe2, 0x29, 0xd4, 0x74, 0x5f, - 0x35, 0x1e, 0xea, 0x2e, 0x2a, 0x59, 0x1c, 0x92, 0x4d, 0x7a, 0xb7, 0x83, 0x49, 0xe8, 0x9b, 0x71, - 0x64, 0x8c, 0x23, 0xda, 0x60, 0x12, 0xa6, 0x19, 0x95, 0x8d, 0x94, 0x91, 0x4e, 0x55, 0xef, 0xd2, - 0x9b, 0x4f, 0x37, 0xb3, 0x56, 0x8e, 0x0b, 0x49, 0x84, 0xef, 0xfd, 0xed, 0x0a, 0x54, 0x7b, 0x91, - 0xab, 0xff, 0x18, 0x1a, 0xe2, 0xcb, 0x71, 0x5b, 0x11, 0xeb, 0x05, 0x1a, 0xe3, 0x6e, 0x31, 0x0d, - 0x0f, 0x2e, 0x36, 0xac, 0xca, 0xaf, 0xb3, 0x37, 0x73, 0x37, 0x33, 0x2a, 0xe3, 0x7e, 0x19, 0x2a, - 0x2e, 0xe4, 0x57, 0x1a, 0x5c, 0x55, 0xbf, 0x89, 0x7e, 0x2d, 0x97, 0x57, 0xc6, 0x0e, 0xe3, 0x9b, - 0xf3, 0xee, 0xe0, 0x48, 0x42, 0xd0, 0x33, 0xde, 0x2b, 0xef, 0x28, 0xf8, 0xcd, 0x92, 0x1a, 0xbb, - 0xa5, 0x49, 0xb9, 0xcc, 0x33, 0xb8, 0x9c, 0xf9, 0xb2, 0x78, 0x4f, 0xc1, 0x2a, 0x8b, 0xd8, 0x78, - 0x30, 0x07, 0xb1, 0x28, 0x39, 0xf3, 0x61, 0x50, 0x25, 0x39, 0x8b, 0x58, 0x29, 0x39, 0xef, 0x9d, - 0x2e, 0xf5, 0x5a, 0x5a, 0x29, 0xe4, 0x7b, 0x2d, 0xa1, 0x29, 0xf0, 0x5a, 0xf9, 0xb5, 0x69, 0x08, - 0x17, 0x66, 0x1e, 0x92, 0x54, 0x0f, 0x15, 0xd3, 0x84, 0x46, 0xb7, 0x24, 0x21, 0x97, 0xf6, 0x21, - 0xd4, 0xd3, 0x07, 0x9c, 0x6d, 0xe5, 0x7b, 0x08, 0xa3, 0x30, 0x76, 0x8a, 0x28, 0x38, 0xe3, 0xef, - 0x42, 0x8d, 0x3c, 0xd5, 0x6c, 0xe4, 0xbc, 0xb1, 0x18, 0x37, 0x72, 0x16, 0x39, 0xa7, 0xf7, 0x61, - 0x91, 0x3d, 0x34, 0x6c, 0x2a, 0xc8, 0xe9, 0xb2, 0x71, 0x2b, 0x77, 0x59, 0xe4, 0xc7, 0x5e, 0x00, - 0x54, 0xfc, 0xe8, 0xb2, 0x92, 0x9f, 0xdc, 0xc1, 0xc7, 0x07, 0x36, 0xd3, 0xbe, 0xdf, 0xce, 0xbd, - 0x4a, 0x29, 0xa1, 0xf2, 0xc0, 0x54, 0xfd, 0x79, 0x7a, 0xcb, 0xa5, 0xde, 0xfc, 0x4e, 0x31, 0x1b, - 0x46, 0x5a, 0x70, 0xcb, 0xb3, 0x7a, 0x6a, 0x7d, 0x02, 0x97, 0xb2, 0x1a, 0xea, 0xbb, 0xc5, 0x9c, - 0x12, 0x5a, 0x63, 0xaf, 0x3c, 0xad, 0x32, 0xa0, 0x51, 0xd3, 0x96, 0x0a, 0x68, 0xd4, 0xb8, 0xbb, - 0xa5, 0x49, 0xb9, 0xcc, 0x9f, 0xc2, 0x5b, 0xd9, 0x7d, 0xf0, 0xfd, 0x32, 0xbc, 0xb8, 0xba, 0x5f, - 0x9f, 0x87, 0x7a, 0xd6, 0xce, 0x72, 0x0b, 0x99, 0x6f, 0x67, 0x89, 0xb6, 0xc0, 0xce, 0x99, 0x7d, - 0x61, 0x7c, 0x21, 0x58, 0x5b, 0xbd, 0x99, 0xdb, 0x6d, 0x29, 0x2f, 0x84, 0xdc, 0x52, 0xc6, 0x79, - 0x57, 0x6e, 0x27, 0x6f, 0x96, 0x69, 0xe2, 0x8c, 0x52, 0x0d, 0xa3, 0x28, 0x44, 0xfe, 0xaf, 0xb8, - 0x4a, 0x88, 0x44, 0xa5, 0x14, 0x92, 0xf9, 0xef, 0x6d, 0xfd, 0x97, 0x1a, 0x34, 0x95, 0x05, 0x7e, - 0x57, 0x19, 0xbc, 0xb2, 0x37, 0x18, 0x0f, 0xe7, 0xdc, 0xc0, 0x61, 0x78, 0x70, 0x7e, 0xba, 0xc5, - 0x79, 0x3b, 0x47, 0x0f, 0x81, 0xce, 0xe8, 0x94, 0xa3, 0x13, 0xef, 0x5c, 0x46, 0x0f, 0x71, 0x47, - 0x19, 0x59, 0xa7, 0x49, 0x95, 0x77, 0x4e, 0xdd, 0x38, 0xe8, 0x2f, 0x60, 0x6d, 0xaa, 0x6b, 0xb8, - 0x55, 0x1c, 0x2d, 0x9e, 0x22, 0x64, 0xbc, 0x53, 0x8a, 0x4c, 0xbc, 0xdb, 0xd9, 0x0d, 0x41, 0x8e, - 0x53, 0xcc, 0x52, 0x2b, 0xef, 0x76, 0x6e, 0x0f, 0x40, 0x5c, 0x49, 0xd9, 0x01, 0x74, 0x73, 0x8d, - 0x96, 0x81, 0xe1, 0xe1, 0x9c, 0x1b, 0xc4, 0x7c, 0x9f, 0x16, 0xfd, 0xaa, 0x7c, 0xcf, 0x29, 0x94, - 0xf9, 0x7e, 0xa6, 0xa6, 0x3f, 0xf8, 0xe1, 0x5f, 0x5e, 0xb7, 0xb4, 0x4f, 0x5f, 0xb7, 0xb4, 0x7f, - 0xbd, 0x6e, 0x69, 0x9f, 0xbc, 0x69, 0x9d, 0xfb, 0xf4, 0x4d, 0xeb, 0xdc, 0x3f, 0xdf, 0xb4, 0xce, - 0x7d, 0xf4, 0xc4, 0xf5, 0xf0, 0xf1, 0x64, 0xd0, 0xb1, 0x83, 0x51, 0x97, 0x70, 0x7b, 0xc7, 0x47, - 0xf8, 0x34, 0x08, 0x7f, 0xc2, 0x46, 0x43, 0xe4, 0xb8, 0x28, 0xec, 0x9e, 0x09, 0xbf, 0x82, 0x21, - 0x3f, 0xcf, 0x21, 0xbf, 0x83, 0xe9, 0x9e, 0xec, 0x0e, 0x16, 0xc9, 0xd3, 0xc7, 0x83, 0xff, 0x07, - 0x00, 0x00, 0xff, 0xff, 0xea, 0xfc, 0x0f, 0x6e, 0xee, 0x23, 0x00, 0x00, + // 2181 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x8f, 0x1b, 0x49, + 0x15, 0x4f, 0xdb, 0x9e, 0x0f, 0x3f, 0x67, 0x26, 0x49, 0x27, 0x3b, 0x71, 0x7a, 0x32, 0x9e, 0x89, + 0x93, 0x6c, 0x26, 0x1f, 0x6b, 0x33, 0xb3, 0x40, 0x48, 0x10, 0x0a, 0x33, 0xb3, 0x89, 0x18, 0x90, + 0x97, 0x55, 0x27, 0xab, 0x15, 0x2b, 0x90, 0xd5, 0xee, 0xae, 0xf4, 0x74, 0xb0, 0xbb, 0xad, 0xee, + 0xf2, 0xcc, 0x44, 0x20, 0xa4, 0x20, 0x24, 0xae, 0x7b, 0x46, 0x1c, 0x90, 0x38, 0x72, 0x41, 0xfc, + 0x0b, 0x5c, 0x38, 0xae, 0x84, 0x10, 0xdc, 0x16, 0x25, 0x48, 0xfc, 0x07, 0x9c, 0x38, 0xa0, 0xae, + 0xaa, 0xae, 0xae, 0xb2, 0xbb, 0xba, 0xdb, 0x59, 0xf6, 0x12, 0xb9, 0xab, 0xde, 0xc7, 0xef, 0xbd, + 0x7a, 0x55, 0xef, 0x23, 0x03, 0xeb, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, 0xc8, 0xf1, + 0x70, 0xf7, 0x78, 0xa7, 0x8b, 0x4f, 0x3b, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xcd, 0x0e, 0xdf, + 0xec, 0x1c, 0xef, 0x18, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, 0x1e, 0xef, + 0x0c, 0x10, 0xb6, 0x76, 0xba, 0x76, 0xe0, 0xf9, 0x94, 0xc7, 0xb8, 0xcc, 0xf6, 0x47, 0x91, 0x1b, + 0xcb, 0x1a, 0x45, 0x2e, 0xdb, 0xb8, 0xe4, 0x06, 0x6e, 0x40, 0x7e, 0x76, 0xe3, 0x5f, 0x6c, 0x75, + 0xd3, 0x0d, 0x02, 0x77, 0x88, 0xba, 0xe4, 0x6b, 0x30, 0x79, 0xde, 0xc5, 0xde, 0x08, 0x45, 0xd8, + 0x1a, 0x8d, 0x19, 0x41, 0x2b, 0x03, 0x60, 0x84, 0x2d, 0x8c, 0x72, 0xf6, 0xf1, 0xcb, 0x31, 0x8a, + 0xe8, 0x7e, 0xfb, 0x95, 0x06, 0xe7, 0x7b, 0x91, 0xbb, 0xe7, 0x38, 0x07, 0x64, 0xff, 0xd9, 0xcb, + 0x31, 0xd2, 0xaf, 0x42, 0xdd, 0x9a, 0xe0, 0xa3, 0x20, 0xf4, 0xf0, 0xcb, 0xa6, 0xb6, 0xa5, 0x6d, + 0xd7, 0xcd, 0x74, 0x41, 0x7f, 0x04, 0x0d, 0x2a, 0xab, 0x1f, 0x0b, 0x6a, 0x56, 0xb6, 0xb4, 0xed, + 0xc6, 0x6e, 0xab, 0x33, 0xeb, 0x8c, 0x4e, 0x2a, 0xd2, 0x04, 0x9b, 0xff, 0x7e, 0xb8, 0xfa, 0xcb, + 0x7f, 0xff, 0xf1, 0x4e, 0x2a, 0xb0, 0x6d, 0x40, 0x73, 0x1a, 0x82, 0x89, 0xa2, 0x71, 0xe0, 0x47, + 0xa8, 0xfd, 0x67, 0x0d, 0x56, 0x7b, 0x91, 0x7b, 0x10, 0x22, 0x0b, 0xa3, 0x83, 0xa1, 0x15, 0x45, + 0xfa, 0x25, 0x58, 0xb0, 0x9c, 0x91, 0xe7, 0x33, 0x64, 0xf4, 0x43, 0x6f, 0xc2, 0x92, 0x17, 0x45, + 0x13, 0x14, 0x46, 0xcd, 0xca, 0x56, 0x75, 0xbb, 0x6e, 0x26, 0x9f, 0xba, 0x01, 0xcb, 0x23, 0x84, + 0x2d, 0xc7, 0xc2, 0x56, 0xb3, 0x4a, 0x58, 0xf8, 0xb7, 0x7e, 0x0f, 0x74, 0xc1, 0x96, 0xbe, 0x35, + 0x18, 0x84, 0xe8, 0xb8, 0x59, 0x23, 0x54, 0xe7, 0x53, 0xc8, 0x7b, 0x64, 0x5d, 0xbf, 0x0b, 0xd5, + 0xe7, 0x08, 0x35, 0x17, 0x88, 0xc5, 0x57, 0x3a, 0xf4, 0x28, 0x3b, 0xf1, 0x51, 0x77, 0xd8, 0x51, + 0x77, 0x0e, 0x02, 0xcf, 0x37, 0x63, 0xaa, 0x87, 0x10, 0x5b, 0x49, 0xc1, 0xb5, 0xdf, 0x87, 0x35, + 0xd9, 0x88, 0xc4, 0x3e, 0xfd, 0x0a, 0x2c, 0xdb, 0xf1, 0x42, 0xdf, 0x73, 0x98, 0x3d, 0x4b, 0xe4, + 0xfb, 0xd0, 0x69, 0xff, 0x89, 0x1e, 0x0d, 0xe5, 0xfa, 0x28, 0x0c, 0x5e, 0x20, 0x1b, 0x2b, 0x8c, + 0x17, 0xa5, 0x54, 0x24, 0x29, 0xb9, 0xd6, 0xb7, 0xe1, 0xec, 0x8b, 0x49, 0xe8, 0x45, 0x8e, 0x67, + 0x63, 0x2f, 0xf0, 0x99, 0xdd, 0xd2, 0x9a, 0x7e, 0x0d, 0xce, 0x86, 0xe8, 0x39, 0x0a, 0x91, 0x6f, + 0xa3, 0x58, 0xfc, 0x02, 0xa1, 0x69, 0xf0, 0xb5, 0x43, 0x47, 0xb2, 0xf4, 0x01, 0x39, 0x4b, 0x09, + 0x33, 0xb7, 0x75, 0x03, 0x60, 0x4c, 0x97, 0x52, 0x6b, 0xeb, 0x6c, 0xe5, 0xd0, 0x69, 0xff, 0x5e, + 0x83, 0xab, 0x9c, 0xf7, 0x63, 0x3f, 0x44, 0xae, 0x17, 0x61, 0x14, 0x22, 0x27, 0xdf, 0x76, 0xd1, + 0xc0, 0x4a, 0x81, 0x81, 0xd5, 0x12, 0x06, 0xd6, 0xf2, 0x0d, 0x7c, 0x0c, 0x37, 0xf2, 0x40, 0x96, + 0x35, 0xf6, 0x0f, 0x1a, 0x18, 0xbd, 0xc8, 0xfd, 0x78, 0xec, 0xa4, 0x8e, 0x7a, 0xec, 0x87, 0xc1, + 0x70, 0x38, 0x42, 0x3e, 0xd6, 0xaf, 0xc3, 0x4a, 0xc2, 0x2d, 0x9a, 0x7c, 0x96, 0x2d, 0xee, 0x11, + 0xcb, 0x65, 0x15, 0x95, 0x29, 0x15, 0x52, 0x50, 0x54, 0xd5, 0x41, 0x51, 0x93, 0x7d, 0xf6, 0x50, + 0x8f, 0x8d, 0x95, 0xb5, 0xb7, 0x6f, 0x40, 0x5b, 0x0d, 0x96, 0xdf, 0xd5, 0xdf, 0xd0, 0x03, 0xfc, + 0xc4, 0xc3, 0x47, 0x4e, 0x68, 0x9d, 0xbc, 0xa5, 0x55, 0x37, 0x61, 0xd5, 0x1a, 0x8f, 0x87, 0x9e, + 0x6d, 0xc5, 0xc7, 0x93, 0x58, 0x56, 0x33, 0x57, 0x84, 0xd5, 0xfc, 0xb8, 0xce, 0x34, 0xe1, 0x5d, + 0x72, 0x6e, 0x4a, 0x6c, 0xdc, 0x88, 0xbf, 0x52, 0x23, 0x1e, 0x1f, 0x5b, 0xc3, 0x49, 0xe6, 0xd1, + 0xac, 0xc1, 0x22, 0x7d, 0x59, 0x18, 0x7a, 0xf6, 0x55, 0x16, 0xf7, 0x0f, 0x00, 0x10, 0x95, 0x9d, + 0x04, 0xe4, 0xea, 0xee, 0xdd, 0xac, 0xc7, 0x73, 0x46, 0xf3, 0x53, 0x6c, 0xe1, 0x49, 0x64, 0x0a, + 0xec, 0xb9, 0xe7, 0xd8, 0x88, 0x9d, 0xc0, 0xc0, 0x31, 0xeb, 0x95, 0x46, 0x71, 0xeb, 0xff, 0x5b, + 0x11, 0x9e, 0xdb, 0x7d, 0x0b, 0xdb, 0x47, 0x4a, 0x7b, 0x0b, 0xa2, 0xef, 0x3b, 0xb0, 0x1c, 0x13, + 0x5a, 0xbe, 0x8d, 0x9a, 0xd5, 0xad, 0xea, 0x76, 0x63, 0xf7, 0x5a, 0x96, 0x95, 0x44, 0xc7, 0x21, + 0x23, 0x34, 0x39, 0x4b, 0x9e, 0x65, 0xfa, 0x23, 0x80, 0x08, 0x5b, 0x21, 0xee, 0xc7, 0xe1, 0xc8, + 0x5e, 0x63, 0xa3, 0x43, 0x33, 0x65, 0x27, 0xc9, 0x94, 0x9d, 0x67, 0x49, 0xa6, 0xdc, 0xaf, 0x7d, + 0xf6, 0xc5, 0xa6, 0x66, 0xd6, 0x09, 0xcf, 0x07, 0x16, 0x46, 0xfa, 0xb7, 0x61, 0x19, 0xf9, 0x0e, + 0x65, 0x5f, 0x2c, 0xc9, 0xbe, 0x84, 0x7c, 0x87, 0x30, 0xeb, 0x50, 0x0b, 0xc6, 0xc8, 0x6f, 0x2e, + 0x6d, 0x69, 0xdb, 0xcb, 0x26, 0xf9, 0xad, 0x3f, 0x80, 0x7a, 0x10, 0x7a, 0xae, 0xe7, 0xf7, 0xf1, + 0x69, 0x73, 0x99, 0x48, 0xbc, 0x9a, 0x65, 0xed, 0x0f, 0x09, 0xd1, 0xb3, 0x53, 0x73, 0x39, 0x60, + 0xbf, 0xe4, 0x63, 0x7a, 0x20, 0xe4, 0x09, 0xe2, 0x19, 0xfe, 0x9c, 0x6c, 0x42, 0x63, 0x10, 0x2f, + 0xf4, 0x1d, 0xe4, 0x07, 0x23, 0x76, 0x14, 0x40, 0x96, 0x3e, 0x88, 0x57, 0xda, 0x7f, 0xd3, 0xe0, + 0x62, 0x2f, 0x72, 0x7b, 0x9e, 0x8f, 0x09, 0x27, 0xcd, 0xa5, 0x91, 0xf2, 0xf8, 0xa6, 0x04, 0x56, + 0xa6, 0x05, 0x7e, 0xd9, 0x03, 0x94, 0x5c, 0x52, 0x7b, 0x7b, 0x97, 0x6c, 0xc0, 0x7a, 0x86, 0x59, + 0x3c, 0x60, 0x9f, 0xc1, 0xd9, 0x5e, 0xe4, 0x3e, 0x45, 0xd6, 0x30, 0x3f, 0x5a, 0x8b, 0xcc, 0x95, + 0x95, 0xae, 0xc1, 0x25, 0x51, 0x2a, 0xd7, 0xf6, 0x9f, 0x0a, 0x2c, 0x91, 0x0d, 0xdf, 0x89, 0x35, + 0x45, 0xc8, 0x77, 0x52, 0x4d, 0xf4, 0x2b, 0x2e, 0x9e, 0x42, 0x64, 0x7b, 0x63, 0x0f, 0xf9, 0x38, + 0xb9, 0x16, 0x7c, 0x41, 0xdf, 0x83, 0x25, 0x6a, 0x7b, 0xc4, 0x9c, 0x7a, 0x2b, 0xcb, 0x29, 0x4c, + 0x47, 0x27, 0xfe, 0x27, 0xb1, 0x38, 0xe1, 0x33, 0xfe, 0xa5, 0x41, 0x43, 0xd8, 0x28, 0x0c, 0x0d, + 0xfd, 0x16, 0x9c, 0xc3, 0xa1, 0xe5, 0x58, 0x83, 0x21, 0xea, 0x5b, 0xa3, 0x60, 0xc2, 0x71, 0xad, + 0x26, 0xcb, 0x7b, 0x64, 0x35, 0x7e, 0xc2, 0x42, 0x84, 0xbd, 0x10, 0x39, 0x09, 0x1d, 0x7d, 0x59, + 0x57, 0xd8, 0x2a, 0x23, 0xbb, 0x0f, 0x97, 0xe9, 0x42, 0xfc, 0x74, 0xf4, 0x33, 0x2a, 0x88, 0xb5, + 0x74, 0xfb, 0xfb, 0x62, 0xaa, 0xbd, 0x0b, 0x17, 0x04, 0xc6, 0x10, 0x59, 0x51, 0xe0, 0xb3, 0x82, + 0xe2, 0x7c, 0xba, 0x61, 0x92, 0x75, 0x76, 0x20, 0xd4, 0xa9, 0xed, 0x0b, 0x70, 0x8e, 0xf9, 0x84, + 0x9f, 0xc5, 0xef, 0x34, 0xa8, 0xf7, 0x22, 0xd7, 0x24, 0x7c, 0x71, 0x6d, 0x10, 0x9c, 0xf8, 0xfc, + 0x30, 0xe8, 0x87, 0xfe, 0x8d, 0xd4, 0xdb, 0x15, 0xe2, 0xed, 0x75, 0x75, 0x99, 0x9a, 0x7a, 0xb8, + 0x54, 0xd9, 0xb0, 0x06, 0x8b, 0xcc, 0x00, 0x6a, 0x33, 0xfb, 0x62, 0xb5, 0x02, 0x51, 0xdf, 0xbe, + 0x08, 0x17, 0x38, 0x42, 0x8e, 0xfb, 0xe7, 0x04, 0xf6, 0x41, 0x7c, 0x49, 0x86, 0xff, 0x5f, 0xd8, + 0x29, 0xa4, 0x6a, 0x01, 0x24, 0xaa, 0x9d, 0x43, 0x0a, 0xc8, 0xd3, 0x41, 0xd3, 0x3b, 0x29, 0x4f, + 0x69, 0x26, 0x9e, 0xbb, 0xd6, 0x5c, 0x87, 0xba, 0x8f, 0x4e, 0x58, 0x6e, 0x67, 0x49, 0xd9, 0x47, + 0x27, 0x44, 0x9a, 0x54, 0x44, 0xd1, 0x4b, 0x3d, 0xad, 0x90, 0xe3, 0xf9, 0xad, 0x06, 0xef, 0xc8, + 0xfb, 0x87, 0xac, 0x96, 0x9f, 0x1b, 0xd2, 0x26, 0x34, 0x2c, 0xc7, 0xe9, 0x27, 0xad, 0x41, 0x95, + 0xb4, 0x06, 0x60, 0x39, 0x4e, 0x22, 0x91, 0xc4, 0xfc, 0x28, 0x38, 0x46, 0x9c, 0xa6, 0x46, 0x68, + 0x56, 0xe8, 0x2a, 0x23, 0x93, 0xd0, 0x6f, 0xc2, 0x46, 0x26, 0x3a, 0x8e, 0xff, 0x94, 0x3c, 0xe3, + 0x02, 0x41, 0x2f, 0x49, 0x5d, 0x73, 0xe3, 0xbf, 0x06, 0x67, 0x63, 0x97, 0x4e, 0x95, 0x3a, 0x0d, + 0x1f, 0x9d, 0x24, 0x32, 0x25, 0x68, 0x5b, 0xd0, 0xca, 0xd6, 0xcc, 0xb1, 0x4d, 0x04, 0xd7, 0x7e, + 0x24, 0xd6, 0x5d, 0xd9, 0xd0, 0x0a, 0xb2, 0x7c, 0xe9, 0x13, 0x17, 0x7d, 0x26, 0xaa, 0xe5, 0xb8, + 0x7e, 0x41, 0x1a, 0x07, 0x89, 0xa0, 0xc0, 0x6b, 0x05, 0xd0, 0xe6, 0xf4, 0x5c, 0x1b, 0xb6, 0x54, + 0xfa, 0xc5, 0x02, 0x37, 0xbe, 0xbb, 0xfb, 0xa1, 0xe7, 0xb8, 0xaa, 0x27, 0x67, 0x0d, 0x16, 0xb1, + 0x15, 0xba, 0x28, 0x79, 0x63, 0xd9, 0x97, 0x9c, 0x16, 0xaa, 0xd3, 0x69, 0x41, 0xb8, 0xf1, 0xb5, + 0xf2, 0x37, 0x5e, 0xba, 0xd9, 0xaf, 0x34, 0x21, 0xea, 0x48, 0xda, 0xe2, 0xfe, 0x7b, 0xeb, 0x1a, + 0xa0, 0x84, 0x0f, 0xa5, 0xbc, 0x29, 0x86, 0x9f, 0x04, 0x81, 0xbb, 0x90, 0xbe, 0x3f, 0xd4, 0x83, + 0x7c, 0xf1, 0x8b, 0x1a, 0xe9, 0x74, 0x93, 0x55, 0x1b, 0x79, 0xc7, 0x48, 0x09, 0x3a, 0xe7, 0xb2, + 0x3c, 0x81, 0x25, 0x76, 0xfe, 0x04, 0x69, 0x63, 0xf7, 0x9e, 0x22, 0xb9, 0x4a, 0x9a, 0x92, 0x4a, + 0xdb, 0x4c, 0x98, 0xf5, 0xef, 0xc2, 0x02, 0x71, 0x02, 0xab, 0x5b, 0xee, 0x94, 0x92, 0x42, 0x2b, + 0x05, 0xca, 0x28, 0x57, 0x3f, 0x0b, 0xf3, 0x54, 0x3f, 0xc6, 0xdf, 0x35, 0x58, 0xa0, 0xb5, 0x8c, + 0x14, 0x32, 0xda, 0x74, 0xc8, 0xac, 0xc1, 0xa2, 0x94, 0xcc, 0xd9, 0xd7, 0x54, 0x75, 0x5c, 0xfd, + 0x72, 0xd5, 0x71, 0x6d, 0xde, 0xea, 0x58, 0xac, 0xdb, 0x17, 0xe4, 0xba, 0xdd, 0x18, 0xc2, 0x52, + 0xd2, 0xca, 0x4f, 0x37, 0xdd, 0xda, 0x4c, 0xd3, 0x3d, 0x93, 0x84, 0x2b, 0x19, 0x49, 0x38, 0xaf, + 0x09, 0x94, 0x02, 0xf3, 0x53, 0xf2, 0xba, 0x48, 0x07, 0x56, 0xba, 0xb4, 0x2e, 0x78, 0x68, 0xda, + 0x3f, 0x06, 0x9d, 0x8d, 0xaf, 0xe2, 0x30, 0x24, 0xc5, 0x7b, 0x10, 0x16, 0xcc, 0xd0, 0x9a, 0xe4, + 0xbe, 0xc7, 0x84, 0x3c, 0x86, 0xe9, 0xe7, 0xcc, 0x70, 0xec, 0x2a, 0x99, 0x13, 0x4c, 0x49, 0xe7, + 0x37, 0x07, 0x91, 0x44, 0xfa, 0x14, 0x61, 0x71, 0x77, 0x6f, 0x38, 0x0c, 0x4e, 0x86, 0x5e, 0x84, + 0x8b, 0x41, 0x20, 0x3f, 0x2e, 0xff, 0xa8, 0x51, 0xcb, 0x66, 0xf2, 0x39, 0x03, 0xe2, 0x26, 0x5c, + 0xcf, 0x51, 0xc3, 0xd1, 0xf4, 0x49, 0x6e, 0x31, 0x49, 0xe2, 0xfc, 0x4a, 0x9c, 0x41, 0xb3, 0xc8, + 0xac, 0x02, 0x8e, 0xc0, 0x27, 0xcf, 0x8b, 0x90, 0xff, 0x9e, 0xa0, 0xa2, 0x71, 0x26, 0x1b, 0xea, + 0x55, 0x4a, 0x0d, 0xf5, 0xa6, 0x01, 0xad, 0xc3, 0x95, 0x19, 0x7d, 0x1c, 0x8c, 0x9b, 0xcc, 0x35, + 0x89, 0xa7, 0x90, 0x43, 0xc3, 0xef, 0xe0, 0xc8, 0xf2, 0xfc, 0x02, 0x4c, 0x1b, 0x00, 0x76, 0x4c, + 0xd6, 0xf7, 0xad, 0x11, 0x4a, 0x22, 0x8e, 0xac, 0x7c, 0x68, 0x8d, 0x66, 0x51, 0xd0, 0xdc, 0x95, + 0xa9, 0x88, 0x83, 0x79, 0x41, 0x22, 0x85, 0xba, 0xee, 0xab, 0xc6, 0x43, 0xc3, 0x45, 0xa5, 0x8b, + 0x43, 0xb2, 0x49, 0xef, 0xb6, 0x3f, 0x09, 0x7d, 0x33, 0x7e, 0x19, 0xe3, 0x17, 0x6d, 0x30, 0x09, + 0xd3, 0x8c, 0xca, 0xbe, 0x94, 0x2f, 0x9d, 0xaa, 0xde, 0xa5, 0x37, 0x9f, 0x32, 0xb3, 0x56, 0x8e, + 0x2b, 0x49, 0x94, 0xef, 0xbe, 0x6a, 0x42, 0xb5, 0x17, 0xb9, 0xfa, 0x4f, 0xa0, 0x21, 0x0e, 0x97, + 0xdb, 0x8a, 0xb7, 0x5e, 0xa0, 0x31, 0xee, 0x14, 0xd3, 0xf0, 0xc7, 0xc5, 0x86, 0x15, 0x79, 0x80, + 0x7b, 0x23, 0x97, 0x99, 0x51, 0x19, 0xf7, 0xca, 0x50, 0x71, 0x25, 0xbf, 0xd6, 0xe0, 0x8a, 0x7a, + 0x6c, 0xfa, 0xb5, 0x5c, 0x59, 0x19, 0x1c, 0xc6, 0xb7, 0xe6, 0xe5, 0xe0, 0x48, 0x5e, 0x69, 0x70, + 0x59, 0x35, 0xd3, 0xec, 0x28, 0xa4, 0x2a, 0xe8, 0x8d, 0x6f, 0xce, 0x47, 0x2f, 0x79, 0x43, 0x3d, + 0x83, 0x54, 0x79, 0x43, 0xc9, 0xa1, 0xf4, 0x46, 0xe1, 0x2c, 0x91, 0x20, 0x51, 0x0f, 0x12, 0x55, + 0x48, 0x94, 0x1c, 0x4a, 0x24, 0x85, 0x73, 0xbd, 0x34, 0xca, 0x69, 0x65, 0x91, 0x1f, 0xe5, 0x84, + 0xa6, 0x20, 0xca, 0xe5, 0xe9, 0xd4, 0x10, 0xce, 0xcf, 0x0c, 0x9e, 0x54, 0x83, 0x8d, 0x69, 0x42, + 0xa3, 0x5b, 0x92, 0x90, 0x6b, 0xfb, 0x04, 0xea, 0xe9, 0xc0, 0x67, 0x4b, 0x39, 0x3f, 0x61, 0x14, + 0xc6, 0x76, 0x11, 0x05, 0x17, 0xfc, 0x3d, 0xa8, 0x91, 0xd1, 0xce, 0x7a, 0xce, 0x4c, 0xc6, 0xb8, + 0x9e, 0xb3, 0xc9, 0x25, 0x7d, 0x08, 0x8b, 0x6c, 0x30, 0xb1, 0xa1, 0x20, 0xa7, 0xdb, 0xc6, 0xcd, + 0xdc, 0x6d, 0x51, 0x1e, 0x9b, 0x18, 0xa8, 0xe4, 0xd1, 0x6d, 0xa5, 0x3c, 0xb9, 0xe3, 0x8f, 0x0f, + 0x6c, 0xa6, 0xdd, 0xbf, 0x95, 0x7b, 0xdf, 0x52, 0x42, 0xe5, 0x81, 0xa9, 0xfa, 0x79, 0x3d, 0x04, + 0x3d, 0xa3, 0x97, 0xbf, 0x5d, 0x2c, 0x86, 0x91, 0x1a, 0x3b, 0xa5, 0x49, 0xb9, 0xce, 0x09, 0x5c, + 0xcc, 0x6a, 0xc0, 0xef, 0x14, 0x4b, 0x4a, 0x68, 0x8d, 0xdd, 0xf2, 0xb4, 0xb3, 0xa6, 0x4a, 0xbd, + 0xf5, 0xed, 0x32, 0x4f, 0x19, 0x75, 0xee, 0x4e, 0x69, 0x52, 0xae, 0xf3, 0x67, 0xf0, 0x4e, 0x76, + 0xdf, 0x7c, 0xaf, 0x8c, 0x2c, 0x6e, 0xee, 0xd7, 0xe7, 0xa1, 0x9e, 0xf5, 0xb3, 0xdc, 0x72, 0xe6, + 0xfb, 0x59, 0xa2, 0x2d, 0xf0, 0x73, 0x66, 0x1f, 0x19, 0x5f, 0x08, 0xd6, 0x86, 0x6f, 0xe4, 0x76, + 0x67, 0xca, 0x0b, 0x21, 0xb7, 0xa0, 0x71, 0x9e, 0x96, 0xdb, 0xcf, 0x1b, 0x65, 0x9a, 0x3e, 0xa3, + 0x54, 0x83, 0x29, 0x2a, 0x91, 0xff, 0xa3, 0x5d, 0xa5, 0x44, 0xa2, 0x52, 0x2a, 0xc9, 0xfc, 0x1f, + 0x73, 0xfd, 0x57, 0x1a, 0x34, 0x95, 0x0d, 0x41, 0x57, 0xf9, 0x78, 0x65, 0x33, 0x18, 0xf7, 0xe7, + 0x64, 0xe0, 0x30, 0x3c, 0x38, 0x37, 0xdd, 0x12, 0xbd, 0x9b, 0x63, 0x87, 0x40, 0x67, 0x74, 0xca, + 0xd1, 0x89, 0x77, 0x2e, 0xa3, 0xe7, 0xb8, 0xad, 0x7c, 0x59, 0xa7, 0x49, 0x95, 0x77, 0x4e, 0xdd, + 0x68, 0xe8, 0xcf, 0x61, 0x75, 0xaa, 0xcb, 0xb8, 0x59, 0xfc, 0x5a, 0x3c, 0x41, 0xc8, 0x78, 0xaf, + 0x14, 0x99, 0x78, 0xb7, 0xb3, 0x1b, 0x88, 0x9c, 0xa0, 0x98, 0xa5, 0x56, 0xde, 0xed, 0xdc, 0x9e, + 0x81, 0x84, 0x92, 0xb2, 0x63, 0xe8, 0xe6, 0x3a, 0x2d, 0x03, 0xc3, 0xfd, 0x39, 0x19, 0xc4, 0x7c, + 0x9f, 0x36, 0x09, 0xaa, 0x7c, 0xcf, 0x29, 0x94, 0xf9, 0x7e, 0xa6, 0x07, 0xd8, 0xff, 0xd1, 0x5f, + 0x5e, 0xb7, 0xb4, 0xcf, 0x5f, 0xb7, 0xb4, 0x7f, 0xbe, 0x6e, 0x69, 0x9f, 0xbd, 0x69, 0x9d, 0xf9, + 0xfc, 0x4d, 0xeb, 0xcc, 0x3f, 0xde, 0xb4, 0xce, 0x7c, 0xfa, 0xc8, 0xf5, 0xf0, 0xd1, 0x64, 0xd0, + 0xb1, 0x83, 0x51, 0x97, 0x48, 0x7b, 0xcf, 0x47, 0xf8, 0x24, 0x08, 0x7f, 0xca, 0xbe, 0x86, 0xc8, + 0x71, 0x51, 0xd8, 0x3d, 0x15, 0xfe, 0xb0, 0x86, 0xfc, 0xc5, 0x0f, 0xf9, 0xd3, 0x9a, 0xee, 0xf1, + 0xce, 0x60, 0x91, 0x8c, 0x4a, 0xde, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x0e, 0xcc, + 0xac, 0x41, 0x24, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3621,10 +3622,10 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectClass creates a new project credit class application, updates + // UpdateProjectEnrollment creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. - // A project may have a relationship with at most one credit class per credit type - // but can have relationships with multiple credit classes across different credit + // A project may be enrolled in at most one credit class per credit type + // but can be enrolled in multiple credit classes across different credit // types. This can be useful, for example for issuing pre-financing forward contracts // while making progress towards issuing credits in an outcome based program. // Projects that are already accepted into a credit class can only update @@ -3632,12 +3633,12 @@ type MsgClient interface { // to "changes requested". // // Since Revision 3 - UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) - // WithdrawProjectClass withdraws a project from a credit class application - // or relationship unilaterally on the part of a project admin. + UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) + // WithdrawProjectEnrollment withdraws a project from a credit class application + // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 - WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) + WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) // EvaluateProjectClass allows a credit class issuer to evaluate a project // application or existing relationship, either approving, requesting changes to, or // rejecting it. Any issuer in the credit class may update the project credit @@ -3649,7 +3650,7 @@ type MsgClient interface { // application the CreateProject method should be used instead. // // Since Revision 3 - EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) + EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -3803,27 +3804,27 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) UpdateProjectClass(ctx context.Context, in *MsgUpdateProjectClass, opts ...grpc.CallOption) (*MsgUpdateProjectClassResponse, error) { - out := new(MsgUpdateProjectClassResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectClass", in, out, opts...) +func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { + out := new(MsgUpdateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) WithdrawProjectClass(ctx context.Context, in *MsgWithdrawProjectClass, opts ...grpc.CallOption) (*MsgWithdrawProjectClassResponse, error) { - out := new(MsgWithdrawProjectClassResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawProjectClass", in, out, opts...) +func (c *msgClient) WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) { + out := new(MsgWithdrawProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) EvaluateProjectClass(ctx context.Context, in *MsgEvaluateProjectClass, opts ...grpc.CallOption) (*MsgEvaluateProjectClassResponse, error) { - out := new(MsgEvaluateProjectClassResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateProjectClass", in, out, opts...) +func (c *msgClient) EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) { + out := new(MsgEvaluateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment", in, out, opts...) if err != nil { return nil, err } @@ -4047,10 +4048,10 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectClass creates a new project credit class application, updates + // UpdateProjectEnrollment creates a new project credit class application, updates // an existing one or updates an existing relationship when changes are requested. - // A project may have a relationship with at most one credit class per credit type - // but can have relationships with multiple credit classes across different credit + // A project may be enrolled in at most one credit class per credit type + // but can be enrolled in multiple credit classes across different credit // types. This can be useful, for example for issuing pre-financing forward contracts // while making progress towards issuing credits in an outcome based program. // Projects that are already accepted into a credit class can only update @@ -4058,12 +4059,12 @@ type MsgServer interface { // to "changes requested". // // Since Revision 3 - UpdateProjectClass(context.Context, *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) - // WithdrawProjectClass withdraws a project from a credit class application - // or relationship unilaterally on the part of a project admin. + UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) + // WithdrawProjectEnrollment withdraws a project from a credit class application + // or enrollment unilaterally on the part of a project admin. // // Since Revision 3 - WithdrawProjectClass(context.Context, *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) + WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) // EvaluateProjectClass allows a credit class issuer to evaluate a project // application or existing relationship, either approving, requesting changes to, or // rejecting it. Any issuer in the credit class may update the project credit @@ -4075,7 +4076,7 @@ type MsgServer interface { // application the CreateProject method should be used instead. // // Since Revision 3 - EvaluateProjectClass(context.Context, *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) + EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -4207,14 +4208,14 @@ func (*UnimplementedMsgServer) CreateProject(ctx context.Context, req *MsgCreate func (*UnimplementedMsgServer) CreateUnregisteredProject(ctx context.Context, req *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } -func (*UnimplementedMsgServer) UpdateProjectClass(ctx context.Context, req *MsgUpdateProjectClass) (*MsgUpdateProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectClass not implemented") +func (*UnimplementedMsgServer) UpdateProjectEnrollment(ctx context.Context, req *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectEnrollment not implemented") } -func (*UnimplementedMsgServer) WithdrawProjectClass(ctx context.Context, req *MsgWithdrawProjectClass) (*MsgWithdrawProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectClass not implemented") +func (*UnimplementedMsgServer) WithdrawProjectEnrollment(ctx context.Context, req *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectEnrollment not implemented") } -func (*UnimplementedMsgServer) EvaluateProjectClass(ctx context.Context, req *MsgEvaluateProjectClass) (*MsgEvaluateProjectClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectClass not implemented") +func (*UnimplementedMsgServer) EvaluateProjectEnrollment(ctx context.Context, req *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectEnrollment not implemented") } func (*UnimplementedMsgServer) CreateBatch(ctx context.Context, req *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") @@ -4341,56 +4342,56 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_UpdateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectClass) +func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).UpdateProjectClass(ctx, in) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectClass", + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectClass(ctx, req.(*MsgUpdateProjectClass)) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } -func _Msg_WithdrawProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawProjectClass) +func _Msg_WithdrawProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgWithdrawProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawProjectClass(ctx, in) + return srv.(MsgServer).WithdrawProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/WithdrawProjectClass", + FullMethod: "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawProjectClass(ctx, req.(*MsgWithdrawProjectClass)) + return srv.(MsgServer).WithdrawProjectEnrollment(ctx, req.(*MsgWithdrawProjectEnrollment)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateProjectClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateProjectClass) +func _Msg_EvaluateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgEvaluateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateProjectClass(ctx, in) + return srv.(MsgServer).EvaluateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/EvaluateProjectClass", + FullMethod: "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateProjectClass(ctx, req.(*MsgEvaluateProjectClass)) + return srv.(MsgServer).EvaluateProjectEnrollment(ctx, req.(*MsgEvaluateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } @@ -4808,16 +4809,16 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "UpdateProjectClass", - Handler: _Msg_UpdateProjectClass_Handler, + MethodName: "UpdateProjectEnrollment", + Handler: _Msg_UpdateProjectEnrollment_Handler, }, { - MethodName: "WithdrawProjectClass", - Handler: _Msg_WithdrawProjectClass_Handler, + MethodName: "WithdrawProjectEnrollment", + Handler: _Msg_WithdrawProjectEnrollment_Handler, }, { - MethodName: "EvaluateProjectClass", - Handler: _Msg_EvaluateProjectClass_Handler, + MethodName: "EvaluateProjectEnrollment", + Handler: _Msg_EvaluateProjectEnrollment_Handler, }, { MethodName: "CreateBatch", @@ -5241,7 +5242,7 @@ func (m *MsgCreateUnregisteredProjectResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgUpdateProjectClass) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5251,12 +5252,12 @@ func (m *MsgUpdateProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5292,7 +5293,7 @@ func (m *MsgUpdateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgUpdateProjectClassResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5302,12 +5303,12 @@ func (m *MsgUpdateProjectClassResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgUpdateProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5315,7 +5316,7 @@ func (m *MsgUpdateProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgWithdrawProjectClass) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5325,12 +5326,12 @@ func (m *MsgWithdrawProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgWithdrawProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5357,7 +5358,7 @@ func (m *MsgWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgWithdrawProjectClassResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgWithdrawProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5367,12 +5368,12 @@ func (m *MsgWithdrawProjectClassResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgWithdrawProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgWithdrawProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5380,7 +5381,7 @@ func (m *MsgWithdrawProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } -func (m *MsgEvaluateProjectClass) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5390,12 +5391,12 @@ func (m *MsgEvaluateProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgEvaluateProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgEvaluateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5427,7 +5428,7 @@ func (m *MsgEvaluateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgEvaluateProjectClassResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgEvaluateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5437,12 +5438,12 @@ func (m *MsgEvaluateProjectClassResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgEvaluateProjectClassResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgEvaluateProjectClassResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgEvaluateProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7321,7 +7322,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Size() (n int) { return n } -func (m *MsgUpdateProjectClass) Size() (n int) { +func (m *MsgUpdateProjectEnrollment) Size() (n int) { if m == nil { return 0 } @@ -7346,7 +7347,7 @@ func (m *MsgUpdateProjectClass) Size() (n int) { return n } -func (m *MsgUpdateProjectClassResponse) Size() (n int) { +func (m *MsgUpdateProjectEnrollmentResponse) Size() (n int) { if m == nil { return 0 } @@ -7355,7 +7356,7 @@ func (m *MsgUpdateProjectClassResponse) Size() (n int) { return n } -func (m *MsgWithdrawProjectClass) Size() (n int) { +func (m *MsgWithdrawProjectEnrollment) Size() (n int) { if m == nil { return 0 } @@ -7375,7 +7376,7 @@ func (m *MsgWithdrawProjectClass) Size() (n int) { return n } -func (m *MsgWithdrawProjectClassResponse) Size() (n int) { +func (m *MsgWithdrawProjectEnrollmentResponse) Size() (n int) { if m == nil { return 0 } @@ -7384,7 +7385,7 @@ func (m *MsgWithdrawProjectClassResponse) Size() (n int) { return n } -func (m *MsgEvaluateProjectClass) Size() (n int) { +func (m *MsgEvaluateProjectEnrollment) Size() (n int) { if m == nil { return 0 } @@ -7407,7 +7408,7 @@ func (m *MsgEvaluateProjectClass) Size() (n int) { return n } -func (m *MsgEvaluateProjectClassResponse) Size() (n int) { +func (m *MsgEvaluateProjectEnrollmentResponse) Size() (n int) { if m == nil { return 0 } @@ -9189,7 +9190,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateProjectClass) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9212,10 +9213,10 @@ func (m *MsgUpdateProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9367,7 +9368,7 @@ func (m *MsgUpdateProjectClass) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateProjectClassResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9390,10 +9391,10 @@ func (m *MsgUpdateProjectClassResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateProjectClassResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9417,7 +9418,7 @@ func (m *MsgUpdateProjectClassResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawProjectClass) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9440,10 +9441,10 @@ func (m *MsgWithdrawProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9550,7 +9551,7 @@ func (m *MsgWithdrawProjectClass) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawProjectClassResponse) Unmarshal(dAtA []byte) error { +func (m *MsgWithdrawProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9573,10 +9574,10 @@ func (m *MsgWithdrawProjectClassResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawProjectClassResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9600,7 +9601,7 @@ func (m *MsgWithdrawProjectClassResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEvaluateProjectClass) Unmarshal(dAtA []byte) error { +func (m *MsgEvaluateProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9623,10 +9624,10 @@ func (m *MsgEvaluateProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEvaluateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEvaluateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9694,7 +9695,7 @@ func (m *MsgEvaluateProjectClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Evaluation |= ProjectClassStatus(b&0x7F) << shift + m.Evaluation |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } @@ -9752,7 +9753,7 @@ func (m *MsgEvaluateProjectClass) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEvaluateProjectClassResponse) Unmarshal(dAtA []byte) error { +func (m *MsgEvaluateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9775,10 +9776,10 @@ func (m *MsgEvaluateProjectClassResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateProjectClassResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateProjectClassResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: From 809c08912478ae8dee8f7d57939708abdfc0c91a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 13:22:52 -0500 Subject: [PATCH 015/112] fix build errors --- x/ecocredit/base/keeper/keeper.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/x/ecocredit/base/keeper/keeper.go b/x/ecocredit/base/keeper/keeper.go index f2214c2e32..4817597e39 100644 --- a/x/ecocredit/base/keeper/keeper.go +++ b/x/ecocredit/base/keeper/keeper.go @@ -16,6 +16,9 @@ var ( ) type Keeper struct { + *types.UnimplementedMsgServer + *types.UnimplementedQueryServer + stateStore api.StateStore bankKeeper ecocredit.BankKeeper moduleAddress sdk.AccAddress From fe74b46691ccfc104690cfca759e45348ebc7c56 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 14:40:46 -0500 Subject: [PATCH 016/112] fix tests with msg stubs --- .../v1/msg_create_unregistered_project.go | 29 +++++++++++++++++++ .../v1/msg_evaluate_project_enrollment.go | 29 +++++++++++++++++++ .../types/v1/msg_update_project_enrollment.go | 29 +++++++++++++++++++ .../v1/msg_withdraw_project_enrollment.go | 29 +++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 x/ecocredit/base/types/v1/msg_create_unregistered_project.go create mode 100644 x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go create mode 100644 x/ecocredit/base/types/v1/msg_update_project_enrollment.go create mode 100644 x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go diff --git a/x/ecocredit/base/types/v1/msg_create_unregistered_project.go b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go new file mode 100644 index 0000000000..4f19f58642 --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go @@ -0,0 +1,29 @@ +package v1 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" +) + +var _ legacytx.LegacyMsg = &MsgCreateUnregisteredProject{} + +// Route implements the LegacyMsg interface. +func (m *MsgCreateUnregisteredProject) Route() string { return sdk.MsgTypeURL(m) } + +// Type implements the LegacyMsg interface. +func (m *MsgCreateUnregisteredProject) Type() string { return sdk.MsgTypeURL(m) } + +// GetSignBytes implements the LegacyMsg interface. +func (m *MsgCreateUnregisteredProject) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) +} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgCreateUnregisteredProject) ValidateBasic() error { + panic("implement me") +} + +// GetSigners returns the expected signers for MsgCreateUnregisteredProject. +func (m *MsgCreateUnregisteredProject) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.Admin)} +} diff --git a/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go b/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go new file mode 100644 index 0000000000..5c0731f0bc --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go @@ -0,0 +1,29 @@ +package v1 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" +) + +var _ legacytx.LegacyMsg = &MsgEvaluateProjectEnrollment{} + +// Route implements the LegacyMsg interface. +func (m *MsgEvaluateProjectEnrollment) Route() string { return sdk.MsgTypeURL(m) } + +// Type implements the LegacyMsg interface. +func (m *MsgEvaluateProjectEnrollment) Type() string { return sdk.MsgTypeURL(m) } + +// GetSignBytes implements the LegacyMsg interface. +func (m *MsgEvaluateProjectEnrollment) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) +} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgEvaluateProjectEnrollment) ValidateBasic() error { + panic("implement me") +} + +// GetSigners returns the expected signers for MsgEvaluateProjectEnrollment. +func (m *MsgEvaluateProjectEnrollment) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.Issuer)} +} diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go new file mode 100644 index 0000000000..89d527dc51 --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go @@ -0,0 +1,29 @@ +package v1 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" +) + +var _ legacytx.LegacyMsg = &MsgUpdateProjectEnrollment{} + +// Route implements the LegacyMsg interface. +func (m *MsgUpdateProjectEnrollment) Route() string { return sdk.MsgTypeURL(m) } + +// Type implements the LegacyMsg interface. +func (m *MsgUpdateProjectEnrollment) Type() string { return sdk.MsgTypeURL(m) } + +// GetSignBytes implements the LegacyMsg interface. +func (m *MsgUpdateProjectEnrollment) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) +} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgUpdateProjectEnrollment) ValidateBasic() error { + panic("implement me") +} + +// GetSigners returns the expected signers for MsgUpdateProjectEnrollment. +func (m *MsgUpdateProjectEnrollment) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.ProjectAdmin)} +} diff --git a/x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go b/x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go new file mode 100644 index 0000000000..02d3e32761 --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go @@ -0,0 +1,29 @@ +package v1 + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" +) + +var _ legacytx.LegacyMsg = &MsgWithdrawProjectEnrollment{} + +// Route implements the LegacyMsg interface. +func (m *MsgWithdrawProjectEnrollment) Route() string { return sdk.MsgTypeURL(m) } + +// Type implements the LegacyMsg interface. +func (m *MsgWithdrawProjectEnrollment) Type() string { return sdk.MsgTypeURL(m) } + +// GetSignBytes implements the LegacyMsg interface. +func (m *MsgWithdrawProjectEnrollment) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) +} + +// ValidateBasic does a sanity check on the provided data. +func (m *MsgWithdrawProjectEnrollment) ValidateBasic() error { + panic("implement me") +} + +// GetSigners returns the expected signers for MsgWithdrawProjectEnrollment. +func (m *MsgWithdrawProjectEnrollment) GetSigners() []sdk.AccAddress { + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.ProjectAdmin)} +} From 1798de53fa89740b90becb68a09ed63637fe7a67 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 7 Feb 2024 14:56:20 -0500 Subject: [PATCH 017/112] add msg_create_unregistered_project.feature --- .../msg_create_unregistered_project.feature | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature diff --git a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature new file mode 100644 index 0000000000..4fa8590681 --- /dev/null +++ b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature @@ -0,0 +1,64 @@ +Feature: MsgCreateUnregisteredProject + + Rule: admin must be signer address + Scenario Outline: validate admin + Given admin "" + And jurisdiction "US" + When the message is validated + Then expect error contains "" + + Examples: + | admin | error | + | | "admin is required" | + | 0x0 | "admin is not a valid address" | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + + Scenario: admin is signer + Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + Then expect GetSigners returns "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + + Rule: jurisdiction is required and must be valid + Scenario Outline: validate jurisdiction + Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + And jurisdiction "" + When the message is validated + Then expect error contains "" + + Examples: + | jurisdiction | error | + | | "jurisdiction is required" | + | "US" | | + | "US123" | "jurisdiction is invalid" | + | "US-NY" | | + | "US-NY123" | "jurisdiction is invalid" | + | "US-NY-123" | | + + Rule: metadata is optional and must be at most 256 characters + Scenario Outline: validate metadata + Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + And jurisdiction "US" + And metadata "" + When the message is validated + Then expect error contains "" + + Examples: + | metadata | error | + | | | + | a | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus. | | + | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus.! | "metadata is too long" | + + Rule: reference is optional and at most 32 characters + Scenario Outline: validate reference + Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + And jurisdiction "US" + And reference "" + When the message is validated + Then expect error contains "" + + Examples: + | reference | error | + | | | + | a | | + | This is a string with 32 chars. | | + | This is a string with 33 chars.! | "reference is too long" | \ No newline at end of file From b571c1fe4a7a915142d21105d18af2cfcc8dcddd Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 8 Feb 2024 12:26:09 -0500 Subject: [PATCH 018/112] udpates --- .../base/keeper/features/msg_create_unregistered_project.feature | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature diff --git a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature new file mode 100644 index 0000000000..e69de29bb2 From ad6b522142fdf165c7c01ed82ee6f2dbc9de24b6 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 8 Feb 2024 13:51:47 -0500 Subject: [PATCH 019/112] update design --- api/regen/ecocredit/v1/events.pulsar.go | 1430 +++------ api/regen/ecocredit/v1/state.pulsar.go | 202 +- api/regen/ecocredit/v1/tx.pulsar.go | 3512 +++++++++-------------- api/regen/ecocredit/v1/tx_grpc.pb.go | 169 +- proto/regen/ecocredit/v1/events.proto | 50 +- proto/regen/ecocredit/v1/state.proto | 16 +- proto/regen/ecocredit/v1/tx.proto | 104 +- x/ecocredit/base/types/v1/events.pb.go | 566 ++-- x/ecocredit/base/types/v1/state.pb.go | 229 +- x/ecocredit/base/types/v1/tx.pb.go | 1226 +++----- 10 files changed, 2797 insertions(+), 4707 deletions(-) diff --git a/api/regen/ecocredit/v1/events.pulsar.go b/api/regen/ecocredit/v1/events.pulsar.go index 4d72a6cbaa..d451fdcc33 100644 --- a/api/regen/ecocredit/v1/events.pulsar.go +++ b/api/regen/ecocredit/v1/events.pulsar.go @@ -9638,29 +9638,31 @@ func (x *fastReflection_EventBurnRegen) ProtoMethods() *protoiface.Methods { } var ( - md_EventUpdateProjectClass protoreflect.MessageDescriptor - fd_EventUpdateProjectClass_project_id protoreflect.FieldDescriptor - fd_EventUpdateProjectClass_class_id protoreflect.FieldDescriptor - fd_EventUpdateProjectClass_new_project_metadata protoreflect.FieldDescriptor + md_EventUpdateApplication protoreflect.MessageDescriptor + fd_EventUpdateApplication_project_id protoreflect.FieldDescriptor + fd_EventUpdateApplication_class_id protoreflect.FieldDescriptor + fd_EventUpdateApplication_action protoreflect.FieldDescriptor + fd_EventUpdateApplication_new_application_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_events_proto_init() - md_EventUpdateProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventUpdateProjectClass") - fd_EventUpdateProjectClass_project_id = md_EventUpdateProjectClass.Fields().ByName("project_id") - fd_EventUpdateProjectClass_class_id = md_EventUpdateProjectClass.Fields().ByName("class_id") - fd_EventUpdateProjectClass_new_project_metadata = md_EventUpdateProjectClass.Fields().ByName("new_project_metadata") + md_EventUpdateApplication = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventUpdateApplication") + fd_EventUpdateApplication_project_id = md_EventUpdateApplication.Fields().ByName("project_id") + fd_EventUpdateApplication_class_id = md_EventUpdateApplication.Fields().ByName("class_id") + fd_EventUpdateApplication_action = md_EventUpdateApplication.Fields().ByName("action") + fd_EventUpdateApplication_new_application_metadata = md_EventUpdateApplication.Fields().ByName("new_application_metadata") } -var _ protoreflect.Message = (*fastReflection_EventUpdateProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_EventUpdateApplication)(nil) -type fastReflection_EventUpdateProjectClass EventUpdateProjectClass +type fastReflection_EventUpdateApplication EventUpdateApplication -func (x *EventUpdateProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_EventUpdateProjectClass)(x) +func (x *EventUpdateApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventUpdateApplication)(x) } -func (x *EventUpdateProjectClass) slowProtoReflect() protoreflect.Message { +func (x *EventUpdateApplication) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_events_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -9672,43 +9674,43 @@ func (x *EventUpdateProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_EventUpdateProjectClass_messageType fastReflection_EventUpdateProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_EventUpdateProjectClass_messageType{} +var _fastReflection_EventUpdateApplication_messageType fastReflection_EventUpdateApplication_messageType +var _ protoreflect.MessageType = fastReflection_EventUpdateApplication_messageType{} -type fastReflection_EventUpdateProjectClass_messageType struct{} +type fastReflection_EventUpdateApplication_messageType struct{} -func (x fastReflection_EventUpdateProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_EventUpdateProjectClass)(nil) +func (x fastReflection_EventUpdateApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventUpdateApplication)(nil) } -func (x fastReflection_EventUpdateProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_EventUpdateProjectClass) +func (x fastReflection_EventUpdateApplication_messageType) New() protoreflect.Message { + return new(fastReflection_EventUpdateApplication) } -func (x fastReflection_EventUpdateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_EventUpdateProjectClass +func (x fastReflection_EventUpdateApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_EventUpdateProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_EventUpdateProjectClass +func (x *fastReflection_EventUpdateApplication) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateApplication } // 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_EventUpdateProjectClass) Type() protoreflect.MessageType { - return _fastReflection_EventUpdateProjectClass_messageType +func (x *fastReflection_EventUpdateApplication) Type() protoreflect.MessageType { + return _fastReflection_EventUpdateApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_EventUpdateProjectClass) New() protoreflect.Message { - return new(fastReflection_EventUpdateProjectClass) +func (x *fastReflection_EventUpdateApplication) New() protoreflect.Message { + return new(fastReflection_EventUpdateApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_EventUpdateProjectClass) Interface() protoreflect.ProtoMessage { - return (*EventUpdateProjectClass)(x) +func (x *fastReflection_EventUpdateApplication) Interface() protoreflect.ProtoMessage { + return (*EventUpdateApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -9716,570 +9718,28 @@ func (x *fastReflection_EventUpdateProjectClass) Interface() protoreflect.ProtoM // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_EventUpdateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_EventUpdateApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_EventUpdateProjectClass_project_id, value) { + if !f(fd_EventUpdateApplication_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_EventUpdateProjectClass_class_id, value) { + if !f(fd_EventUpdateApplication_class_id, value) { return } } - if x.NewProjectMetadata != "" { - value := protoreflect.ValueOfString(x.NewProjectMetadata) - if !f(fd_EventUpdateProjectClass_new_project_metadata, value) { + if x.Action != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Action)) + if !f(fd_EventUpdateApplication_action, 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_EventUpdateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - return x.ProjectId != "" - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - return x.ClassId != "" - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - return x.NewProjectMetadata != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - x.ProjectId = "" - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - x.ClassId = "" - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - x.NewProjectMetadata = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - value := x.ProjectId - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - value := x.ClassId - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - value := x.NewProjectMetadata - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - x.NewProjectMetadata = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - panic(fmt.Errorf("field new_project_metadata of message regen.ecocredit.v1.EventUpdateProjectClass is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.EventUpdateProjectClass.project_id": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventUpdateProjectClass.class_id": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventUpdateProjectClass.new_project_metadata": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectClass")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectClass 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_EventUpdateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventUpdateProjectClass", 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) 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_EventUpdateProjectClass) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*EventUpdateProjectClass) - 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)) - } - l = len(x.ClassId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.NewProjectMetadata) - 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().(*EventUpdateProjectClass) - 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.NewProjectMetadata) > 0 { - i -= len(x.NewProjectMetadata) - copy(dAtA[i:], x.NewProjectMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewProjectMetadata))) - i-- - dAtA[i] = 0x1a - } - 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] = 0x12 - } - 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().(*EventUpdateProjectClass) - 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: EventUpdateProjectClass: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateProjectClass: 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 != 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 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewProjectMetadata", 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.NewProjectMetadata = 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_EventWithdrawProjectClass protoreflect.MessageDescriptor - fd_EventWithdrawProjectClass_project_id protoreflect.FieldDescriptor - fd_EventWithdrawProjectClass_class_id protoreflect.FieldDescriptor - fd_EventWithdrawProjectClass_old_status protoreflect.FieldDescriptor -) - -func init() { - file_regen_ecocredit_v1_events_proto_init() - md_EventWithdrawProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventWithdrawProjectClass") - fd_EventWithdrawProjectClass_project_id = md_EventWithdrawProjectClass.Fields().ByName("project_id") - fd_EventWithdrawProjectClass_class_id = md_EventWithdrawProjectClass.Fields().ByName("class_id") - fd_EventWithdrawProjectClass_old_status = md_EventWithdrawProjectClass.Fields().ByName("old_status") -} - -var _ protoreflect.Message = (*fastReflection_EventWithdrawProjectClass)(nil) - -type fastReflection_EventWithdrawProjectClass EventWithdrawProjectClass - -func (x *EventWithdrawProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_EventWithdrawProjectClass)(x) -} - -func (x *EventWithdrawProjectClass) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] - 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_EventWithdrawProjectClass_messageType fastReflection_EventWithdrawProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_EventWithdrawProjectClass_messageType{} - -type fastReflection_EventWithdrawProjectClass_messageType struct{} - -func (x fastReflection_EventWithdrawProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_EventWithdrawProjectClass)(nil) -} -func (x fastReflection_EventWithdrawProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_EventWithdrawProjectClass) -} -func (x fastReflection_EventWithdrawProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_EventWithdrawProjectClass -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_EventWithdrawProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_EventWithdrawProjectClass -} - -// 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_EventWithdrawProjectClass) Type() protoreflect.MessageType { - return _fastReflection_EventWithdrawProjectClass_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_EventWithdrawProjectClass) New() protoreflect.Message { - return new(fastReflection_EventWithdrawProjectClass) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_EventWithdrawProjectClass) Interface() protoreflect.ProtoMessage { - return (*EventWithdrawProjectClass)(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_EventWithdrawProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProjectId != "" { - value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_EventWithdrawProjectClass_project_id, value) { - return - } - } - if x.ClassId != "" { - value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_EventWithdrawProjectClass_class_id, value) { - return - } - } - if x.OldStatus != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.OldStatus)) - if !f(fd_EventWithdrawProjectClass_old_status, value) { + if x.NewApplicationMetadata != "" { + value := protoreflect.ValueOfString(x.NewApplicationMetadata) + if !f(fd_EventUpdateApplication_new_application_metadata, value) { return } } @@ -10296,19 +9756,21 @@ func (x *fastReflection_EventWithdrawProjectClass) Range(f func(protoreflect.Fie // 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_EventWithdrawProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_EventUpdateApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateApplication.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateApplication.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": - return x.OldStatus != 0 + case "regen.ecocredit.v1.EventUpdateApplication.action": + return x.Action != 0 + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + return x.NewApplicationMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication does not contain field %s", fd.FullName())) } } @@ -10318,19 +9780,21 @@ func (x *fastReflection_EventWithdrawProjectClass) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventWithdrawProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_EventUpdateApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateApplication.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateApplication.class_id": x.ClassId = "" - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": - x.OldStatus = 0 + case "regen.ecocredit.v1.EventUpdateApplication.action": + x.Action = 0 + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + x.NewApplicationMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication does not contain field %s", fd.FullName())) } } @@ -10340,22 +9804,25 @@ func (x *fastReflection_EventWithdrawProjectClass) Clear(fd protoreflect.FieldDe // 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_EventWithdrawProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateApplication.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateApplication.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": - value := x.OldStatus + case "regen.ecocredit.v1.EventUpdateApplication.action": + value := x.Action return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + value := x.NewApplicationMetadata + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication does not contain field %s", descriptor.FullName())) } } @@ -10369,19 +9836,21 @@ func (x *fastReflection_EventWithdrawProjectClass) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventWithdrawProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_EventUpdateApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateApplication.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateApplication.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": - x.OldStatus = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.EventUpdateApplication.action": + x.Action = (EventUpdateApplication_Action)(value.Enum()) + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + x.NewApplicationMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication does not contain field %s", fd.FullName())) } } @@ -10395,48 +9864,52 @@ func (x *fastReflection_EventWithdrawProjectClass) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventWithdrawProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": - panic(fmt.Errorf("field old_status of message regen.ecocredit.v1.EventWithdrawProjectClass is not mutable")) + case "regen.ecocredit.v1.EventUpdateApplication.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventUpdateApplication is not mutable")) + case "regen.ecocredit.v1.EventUpdateApplication.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventUpdateApplication is not mutable")) + case "regen.ecocredit.v1.EventUpdateApplication.action": + panic(fmt.Errorf("field action of message regen.ecocredit.v1.EventUpdateApplication is not mutable")) + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + panic(fmt.Errorf("field new_application_metadata of message regen.ecocredit.v1.EventUpdateApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication 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_EventWithdrawProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.EventWithdrawProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateApplication.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventWithdrawProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateApplication.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventWithdrawProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateApplication.action": return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.EventUpdateApplication.new_application_metadata": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventWithdrawProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventWithdrawProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateApplication 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_EventWithdrawProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_EventUpdateApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventWithdrawProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventUpdateApplication", d.FullName())) } panic("unreachable") } @@ -10444,7 +9917,7 @@ func (x *fastReflection_EventWithdrawProjectClass) WhichOneof(d protoreflect.One // 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_EventWithdrawProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_EventUpdateApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -10455,7 +9928,7 @@ func (x *fastReflection_EventWithdrawProjectClass) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventWithdrawProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_EventUpdateApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -10467,7 +9940,7 @@ func (x *fastReflection_EventWithdrawProjectClass) SetUnknown(fields protoreflec // 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_EventWithdrawProjectClass) IsValid() bool { +func (x *fastReflection_EventUpdateApplication) IsValid() bool { return x != nil } @@ -10477,9 +9950,9 @@ func (x *fastReflection_EventWithdrawProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_EventUpdateApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*EventWithdrawProjectClass) + x := input.Message.Interface().(*EventUpdateApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10499,8 +9972,12 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.OldStatus != 0 { - n += 1 + runtime.Sov(uint64(x.OldStatus)) + if x.Action != 0 { + n += 1 + runtime.Sov(uint64(x.Action)) + } + l = len(x.NewApplicationMetadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { n += len(x.unknownFields) @@ -10512,7 +9989,7 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*EventWithdrawProjectClass) + x := input.Message.Interface().(*EventUpdateApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10531,8 +10008,15 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.OldStatus != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.OldStatus)) + if len(x.NewApplicationMetadata) > 0 { + i -= len(x.NewApplicationMetadata) + copy(dAtA[i:], x.NewApplicationMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewApplicationMetadata))) + i-- + dAtA[i] = 0x22 + } + if x.Action != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Action)) i-- dAtA[i] = 0x18 } @@ -10561,7 +10045,7 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*EventWithdrawProjectClass) + x := input.Message.Interface().(*EventUpdateApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -10593,10 +10077,10 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventWithdrawProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10665,9 +10149,9 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me iNdEx = postIndex case 3: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OldStatus", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) } - x.OldStatus = 0 + x.Action = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -10677,11 +10161,43 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me } b := dAtA[iNdEx] iNdEx++ - x.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift + x.Action |= EventUpdateApplication_Action(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 NewApplicationMetadata", 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.NewApplicationMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10718,36 +10234,36 @@ func (x *fastReflection_EventWithdrawProjectClass) ProtoMethods() *protoiface.Me } var ( - md_EventEvaluateProjectClass protoreflect.MessageDescriptor - fd_EventEvaluateProjectClass_issuer protoreflect.FieldDescriptor - fd_EventEvaluateProjectClass_project_id protoreflect.FieldDescriptor - fd_EventEvaluateProjectClass_class_id protoreflect.FieldDescriptor - fd_EventEvaluateProjectClass_old_status protoreflect.FieldDescriptor - fd_EventEvaluateProjectClass_new_status protoreflect.FieldDescriptor - fd_EventEvaluateProjectClass_new_class_metadata protoreflect.FieldDescriptor + md_EventUpdateProjectEnrollment protoreflect.MessageDescriptor + fd_EventUpdateProjectEnrollment_issuer protoreflect.FieldDescriptor + fd_EventUpdateProjectEnrollment_project_id protoreflect.FieldDescriptor + fd_EventUpdateProjectEnrollment_class_id protoreflect.FieldDescriptor + fd_EventUpdateProjectEnrollment_old_status protoreflect.FieldDescriptor + fd_EventUpdateProjectEnrollment_new_status protoreflect.FieldDescriptor + fd_EventUpdateProjectEnrollment_new_enrollment_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_events_proto_init() - md_EventEvaluateProjectClass = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventEvaluateProjectClass") - fd_EventEvaluateProjectClass_issuer = md_EventEvaluateProjectClass.Fields().ByName("issuer") - fd_EventEvaluateProjectClass_project_id = md_EventEvaluateProjectClass.Fields().ByName("project_id") - fd_EventEvaluateProjectClass_class_id = md_EventEvaluateProjectClass.Fields().ByName("class_id") - fd_EventEvaluateProjectClass_old_status = md_EventEvaluateProjectClass.Fields().ByName("old_status") - fd_EventEvaluateProjectClass_new_status = md_EventEvaluateProjectClass.Fields().ByName("new_status") - fd_EventEvaluateProjectClass_new_class_metadata = md_EventEvaluateProjectClass.Fields().ByName("new_class_metadata") + md_EventUpdateProjectEnrollment = File_regen_ecocredit_v1_events_proto.Messages().ByName("EventUpdateProjectEnrollment") + fd_EventUpdateProjectEnrollment_issuer = md_EventUpdateProjectEnrollment.Fields().ByName("issuer") + fd_EventUpdateProjectEnrollment_project_id = md_EventUpdateProjectEnrollment.Fields().ByName("project_id") + fd_EventUpdateProjectEnrollment_class_id = md_EventUpdateProjectEnrollment.Fields().ByName("class_id") + fd_EventUpdateProjectEnrollment_old_status = md_EventUpdateProjectEnrollment.Fields().ByName("old_status") + fd_EventUpdateProjectEnrollment_new_status = md_EventUpdateProjectEnrollment.Fields().ByName("new_status") + fd_EventUpdateProjectEnrollment_new_enrollment_metadata = md_EventUpdateProjectEnrollment.Fields().ByName("new_enrollment_metadata") } -var _ protoreflect.Message = (*fastReflection_EventEvaluateProjectClass)(nil) +var _ protoreflect.Message = (*fastReflection_EventUpdateProjectEnrollment)(nil) -type fastReflection_EventEvaluateProjectClass EventEvaluateProjectClass +type fastReflection_EventUpdateProjectEnrollment EventUpdateProjectEnrollment -func (x *EventEvaluateProjectClass) ProtoReflect() protoreflect.Message { - return (*fastReflection_EventEvaluateProjectClass)(x) +func (x *EventUpdateProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_EventUpdateProjectEnrollment)(x) } -func (x *EventEvaluateProjectClass) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_events_proto_msgTypes[21] +func (x *EventUpdateProjectEnrollment) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10758,43 +10274,43 @@ func (x *EventEvaluateProjectClass) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_EventEvaluateProjectClass_messageType fastReflection_EventEvaluateProjectClass_messageType -var _ protoreflect.MessageType = fastReflection_EventEvaluateProjectClass_messageType{} +var _fastReflection_EventUpdateProjectEnrollment_messageType fastReflection_EventUpdateProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_EventUpdateProjectEnrollment_messageType{} -type fastReflection_EventEvaluateProjectClass_messageType struct{} +type fastReflection_EventUpdateProjectEnrollment_messageType struct{} -func (x fastReflection_EventEvaluateProjectClass_messageType) Zero() protoreflect.Message { - return (*fastReflection_EventEvaluateProjectClass)(nil) +func (x fastReflection_EventUpdateProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_EventUpdateProjectEnrollment)(nil) } -func (x fastReflection_EventEvaluateProjectClass_messageType) New() protoreflect.Message { - return new(fastReflection_EventEvaluateProjectClass) +func (x fastReflection_EventUpdateProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_EventUpdateProjectEnrollment) } -func (x fastReflection_EventEvaluateProjectClass_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_EventEvaluateProjectClass +func (x fastReflection_EventUpdateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_EventEvaluateProjectClass) Descriptor() protoreflect.MessageDescriptor { - return md_EventEvaluateProjectClass +func (x *fastReflection_EventUpdateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_EventUpdateProjectEnrollment } // 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_EventEvaluateProjectClass) Type() protoreflect.MessageType { - return _fastReflection_EventEvaluateProjectClass_messageType +func (x *fastReflection_EventUpdateProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_EventUpdateProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_EventEvaluateProjectClass) New() protoreflect.Message { - return new(fastReflection_EventEvaluateProjectClass) +func (x *fastReflection_EventUpdateProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_EventUpdateProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_EventEvaluateProjectClass) Interface() protoreflect.ProtoMessage { - return (*EventEvaluateProjectClass)(x) +func (x *fastReflection_EventUpdateProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*EventUpdateProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -10802,40 +10318,40 @@ func (x *fastReflection_EventEvaluateProjectClass) Interface() protoreflect.Prot // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_EventEvaluateProjectClass) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_EventUpdateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Issuer != "" { value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_EventEvaluateProjectClass_issuer, value) { + if !f(fd_EventUpdateProjectEnrollment_issuer, value) { return } } if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_EventEvaluateProjectClass_project_id, value) { + if !f(fd_EventUpdateProjectEnrollment_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_EventEvaluateProjectClass_class_id, value) { + if !f(fd_EventUpdateProjectEnrollment_class_id, value) { return } } if x.OldStatus != 0 { value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.OldStatus)) - if !f(fd_EventEvaluateProjectClass_old_status, value) { + if !f(fd_EventUpdateProjectEnrollment_old_status, value) { return } } if x.NewStatus != 0 { value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.NewStatus)) - if !f(fd_EventEvaluateProjectClass_new_status, value) { + if !f(fd_EventUpdateProjectEnrollment_new_status, value) { return } } - if x.NewClassMetadata != "" { - value := protoreflect.ValueOfString(x.NewClassMetadata) - if !f(fd_EventEvaluateProjectClass_new_class_metadata, value) { + if x.NewEnrollmentMetadata != "" { + value := protoreflect.ValueOfString(x.NewEnrollmentMetadata) + if !f(fd_EventUpdateProjectEnrollment_new_enrollment_metadata, value) { return } } @@ -10852,25 +10368,25 @@ func (x *fastReflection_EventEvaluateProjectClass) Range(f func(protoreflect.Fie // 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_EventEvaluateProjectClass) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_EventUpdateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": return x.Issuer != "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": return x.OldStatus != 0 - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": return x.NewStatus != 0 - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": - return x.NewClassMetadata != "" + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": + return x.NewEnrollmentMetadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -10880,25 +10396,25 @@ func (x *fastReflection_EventEvaluateProjectClass) Has(fd protoreflect.FieldDesc // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventEvaluateProjectClass) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_EventUpdateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": x.Issuer = "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": x.ClassId = "" - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": x.OldStatus = 0 - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": x.NewStatus = 0 - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": - x.NewClassMetadata = "" + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": + x.NewEnrollmentMetadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -10908,31 +10424,31 @@ func (x *fastReflection_EventEvaluateProjectClass) Clear(fd protoreflect.FieldDe // 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_EventEvaluateProjectClass) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": value := x.OldStatus return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": value := x.NewStatus return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": - value := x.NewClassMetadata + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": + value := x.NewEnrollmentMetadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -10946,25 +10462,25 @@ func (x *fastReflection_EventEvaluateProjectClass) Get(descriptor protoreflect.F // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventEvaluateProjectClass) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_EventUpdateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": x.OldStatus = (ProjectEnrollmentStatus)(value.Enum()) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": x.NewStatus = (ProjectEnrollmentStatus)(value.Enum()) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": - x.NewClassMetadata = value.Interface().(string) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": + x.NewEnrollmentMetadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -10978,60 +10494,60 @@ func (x *fastReflection_EventEvaluateProjectClass) Set(fd protoreflect.FieldDesc // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventEvaluateProjectClass) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": - panic(fmt.Errorf("field old_status of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": - panic(fmt.Errorf("field new_status of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": - panic(fmt.Errorf("field new_class_metadata of message regen.ecocredit.v1.EventEvaluateProjectClass is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": + panic(fmt.Errorf("field old_status of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": + panic(fmt.Errorf("field new_status of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": + panic(fmt.Errorf("field new_enrollment_metadata of message regen.ecocredit.v1.EventUpdateProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment 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_EventEvaluateProjectClass) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_EventUpdateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.EventEvaluateProjectClass.issuer": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.issuer": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventEvaluateProjectClass.project_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventEvaluateProjectClass.class_id": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.EventEvaluateProjectClass.old_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_status": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.EventEvaluateProjectClass.new_class_metadata": + case "regen.ecocredit.v1.EventUpdateProjectEnrollment.new_enrollment_metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventEvaluateProjectClass")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EventUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.EventEvaluateProjectClass does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.EventUpdateProjectEnrollment 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_EventEvaluateProjectClass) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_EventUpdateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventEvaluateProjectClass", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EventUpdateProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -11039,7 +10555,7 @@ func (x *fastReflection_EventEvaluateProjectClass) WhichOneof(d protoreflect.One // 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_EventEvaluateProjectClass) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_EventUpdateProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -11050,7 +10566,7 @@ func (x *fastReflection_EventEvaluateProjectClass) GetUnknown() protoreflect.Raw // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_EventEvaluateProjectClass) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_EventUpdateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -11062,7 +10578,7 @@ func (x *fastReflection_EventEvaluateProjectClass) SetUnknown(fields protoreflec // 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_EventEvaluateProjectClass) IsValid() bool { +func (x *fastReflection_EventUpdateProjectEnrollment) IsValid() bool { return x != nil } @@ -11072,9 +10588,9 @@ func (x *fastReflection_EventEvaluateProjectClass) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_EventUpdateProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*EventEvaluateProjectClass) + x := input.Message.Interface().(*EventUpdateProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11104,7 +10620,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me if x.NewStatus != 0 { n += 1 + runtime.Sov(uint64(x.NewStatus)) } - l = len(x.NewClassMetadata) + l = len(x.NewEnrollmentMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -11118,7 +10634,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*EventEvaluateProjectClass) + x := input.Message.Interface().(*EventUpdateProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11137,10 +10653,10 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.NewClassMetadata) > 0 { - i -= len(x.NewClassMetadata) - copy(dAtA[i:], x.NewClassMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewClassMetadata))) + if len(x.NewEnrollmentMetadata) > 0 { + i -= len(x.NewEnrollmentMetadata) + copy(dAtA[i:], x.NewEnrollmentMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NewEnrollmentMetadata))) i-- dAtA[i] = 0x32 } @@ -11186,7 +10702,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*EventEvaluateProjectClass) + x := input.Message.Interface().(*EventUpdateProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -11218,10 +10734,10 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventEvaluateProjectClass: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EventUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11360,7 +10876,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me } case 6: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewClassMetadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewEnrollmentMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11388,7 +10904,7 @@ func (x *fastReflection_EventEvaluateProjectClass) ProtoMethods() *protoiface.Me if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.NewClassMetadata = string(dAtA[iNdEx:postIndex]) + x.NewEnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -11438,6 +10954,66 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Action describes an action taken on an application. +type EventUpdateApplication_Action int32 + +const ( + // ACTION_UNSPECIFIED is the default value for the action and is invalid. + EventUpdateApplication_ACTION_UNSPECIFIED EventUpdateApplication_Action = 0 + // ACTION_CREATE is the action taken when a project admin creates an + // application to a credit class. + EventUpdateApplication_ACTION_CREATE EventUpdateApplication_Action = 1 + // ACTION_UPDATE is the action taken when a project admin updates an + // application to a credit class. + EventUpdateApplication_ACTION_UPDATE EventUpdateApplication_Action = 2 + // ACTION_WITHDRAW is the action taken when a project admin withdraws an + // application to a credit class. + EventUpdateApplication_ACTION_WITHDRAW EventUpdateApplication_Action = 3 +) + +// Enum value maps for EventUpdateApplication_Action. +var ( + EventUpdateApplication_Action_name = map[int32]string{ + 0: "ACTION_UNSPECIFIED", + 1: "ACTION_CREATE", + 2: "ACTION_UPDATE", + 3: "ACTION_WITHDRAW", + } + EventUpdateApplication_Action_value = map[string]int32{ + "ACTION_UNSPECIFIED": 0, + "ACTION_CREATE": 1, + "ACTION_UPDATE": 2, + "ACTION_WITHDRAW": 3, + } +) + +func (x EventUpdateApplication_Action) Enum() *EventUpdateApplication_Action { + p := new(EventUpdateApplication_Action) + *p = x + return p +} + +func (x EventUpdateApplication_Action) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EventUpdateApplication_Action) Descriptor() protoreflect.EnumDescriptor { + return file_regen_ecocredit_v1_events_proto_enumTypes[0].Descriptor() +} + +func (EventUpdateApplication_Action) Type() protoreflect.EnumType { + return &file_regen_ecocredit_v1_events_proto_enumTypes[0] +} + +func (x EventUpdateApplication_Action) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EventUpdateApplication_Action.Descriptor instead. +func (EventUpdateApplication_Action) EnumDescriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{19, 0} +} + // EventCreateClass is an event emitted when a credit class is created. type EventCreateClass struct { state protoimpl.MessageState @@ -12413,10 +11989,9 @@ func (x *EventBurnRegen) GetReason() string { return "" } -// EventUpdateProjectClass is emitted when a project admin submits or updates -// a project class relationship's metadata, usually relating to credit class -// application. -type EventUpdateProjectClass struct { +// EventUpdateApplication is emitted when a project admin creates, updates +// or withdraws a project's application to a credit class. +type EventUpdateApplication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -12425,12 +12000,14 @@ type EventUpdateProjectClass struct { ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // class_id is the unique identifier of the class that was updated. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // new_project_metadata is the new project metadata. - NewProjectMetadata string `protobuf:"bytes,3,opt,name=new_project_metadata,json=newProjectMetadata,proto3" json:"new_project_metadata,omitempty"` + // action is the action that was taken on the application. + Action EventUpdateApplication_Action `protobuf:"varint,3,opt,name=action,proto3,enum=regen.ecocredit.v1.EventUpdateApplication_Action" json:"action,omitempty"` + // new_application_metadata is any new application metadata. + NewApplicationMetadata string `protobuf:"bytes,4,opt,name=new_application_metadata,json=newApplicationMetadata,proto3" json:"new_application_metadata,omitempty"` } -func (x *EventUpdateProjectClass) Reset() { - *x = EventUpdateProjectClass{} +func (x *EventUpdateApplication) Reset() { + *x = EventUpdateApplication{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_events_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12438,98 +12015,48 @@ func (x *EventUpdateProjectClass) Reset() { } } -func (x *EventUpdateProjectClass) String() string { +func (x *EventUpdateApplication) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EventUpdateProjectClass) ProtoMessage() {} +func (*EventUpdateApplication) ProtoMessage() {} -// Deprecated: Use EventUpdateProjectClass.ProtoReflect.Descriptor instead. -func (*EventUpdateProjectClass) Descriptor() ([]byte, []int) { +// Deprecated: Use EventUpdateApplication.ProtoReflect.Descriptor instead. +func (*EventUpdateApplication) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{19} } -func (x *EventUpdateProjectClass) GetProjectId() string { +func (x *EventUpdateApplication) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *EventUpdateProjectClass) GetClassId() string { +func (x *EventUpdateApplication) GetClassId() string { if x != nil { return x.ClassId } return "" } -func (x *EventUpdateProjectClass) GetNewProjectMetadata() string { - if x != nil { - return x.NewProjectMetadata - } - return "" -} - -// EventWithdrawProjectClass is emitted when a project admin withdraws a project -// from a credit class. -type EventWithdrawProjectClass struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // project_id is the unique identifier of the project which withdrew from the - // class. - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // class_id is the unique identifier of the class that was withdrawn from. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // old_status is the old status of the project class relationship before withdrawal. - OldStatus ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` -} - -func (x *EventWithdrawProjectClass) Reset() { - *x = EventWithdrawProjectClass{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventWithdrawProjectClass) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventWithdrawProjectClass) ProtoMessage() {} - -// Deprecated: Use EventWithdrawProjectClass.ProtoReflect.Descriptor instead. -func (*EventWithdrawProjectClass) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{20} -} - -func (x *EventWithdrawProjectClass) GetProjectId() string { +func (x *EventUpdateApplication) GetAction() EventUpdateApplication_Action { if x != nil { - return x.ProjectId + return x.Action } - return "" + return EventUpdateApplication_ACTION_UNSPECIFIED } -func (x *EventWithdrawProjectClass) GetClassId() string { +func (x *EventUpdateApplication) GetNewApplicationMetadata() string { if x != nil { - return x.ClassId + return x.NewApplicationMetadata } return "" } -func (x *EventWithdrawProjectClass) GetOldStatus() ProjectEnrollmentStatus { - if x != nil { - return x.OldStatus - } - return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED -} - -// EventEvaluateProjectClass is emitted when a project class relationship is -// evaluated by a credit class issuer. -type EventEvaluateProjectClass struct { +// EventUpdateProjectEnrollment is emitted when a credit class issuer updates +// the enrollment status of a project. +type EventUpdateProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -12546,68 +12073,68 @@ type EventEvaluateProjectClass struct { OldStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` // new_status is the new status of the project class relationship. NewStatus ProjectEnrollmentStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` - // new_class_metadata is any new class metadata. - NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` + // new_enrollment_metadata is any new enrollment metadata. + NewEnrollmentMetadata string `protobuf:"bytes,6,opt,name=new_enrollment_metadata,json=newEnrollmentMetadata,proto3" json:"new_enrollment_metadata,omitempty"` } -func (x *EventEvaluateProjectClass) Reset() { - *x = EventEvaluateProjectClass{} +func (x *EventUpdateProjectEnrollment) Reset() { + *x = EventUpdateProjectEnrollment{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_events_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_events_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *EventEvaluateProjectClass) String() string { +func (x *EventUpdateProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EventEvaluateProjectClass) ProtoMessage() {} +func (*EventUpdateProjectEnrollment) ProtoMessage() {} -// Deprecated: Use EventEvaluateProjectClass.ProtoReflect.Descriptor instead. -func (*EventEvaluateProjectClass) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{21} +// Deprecated: Use EventUpdateProjectEnrollment.ProtoReflect.Descriptor instead. +func (*EventUpdateProjectEnrollment) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_events_proto_rawDescGZIP(), []int{20} } -func (x *EventEvaluateProjectClass) GetIssuer() string { +func (x *EventUpdateProjectEnrollment) GetIssuer() string { if x != nil { return x.Issuer } return "" } -func (x *EventEvaluateProjectClass) GetProjectId() string { +func (x *EventUpdateProjectEnrollment) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *EventEvaluateProjectClass) GetClassId() string { +func (x *EventUpdateProjectEnrollment) GetClassId() string { if x != nil { return x.ClassId } return "" } -func (x *EventEvaluateProjectClass) GetOldStatus() ProjectEnrollmentStatus { +func (x *EventUpdateProjectEnrollment) GetOldStatus() ProjectEnrollmentStatus { if x != nil { return x.OldStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *EventEvaluateProjectClass) GetNewStatus() ProjectEnrollmentStatus { +func (x *EventUpdateProjectEnrollment) GetNewStatus() ProjectEnrollmentStatus { if x != nil { return x.NewStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *EventEvaluateProjectClass) GetNewClassMetadata() string { +func (x *EventUpdateProjectEnrollment) GetNewEnrollmentMetadata() string { if x != nil { - return x.NewClassMetadata + return x.NewEnrollmentMetadata } return "" } @@ -12734,60 +12261,61 @@ var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x85, 0x01, - 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 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, 0x30, 0x0a, 0x14, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, - 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 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, 0x4a, 0x0a, - 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, - 0x6f, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb3, 0x02, 0x0a, 0x19, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xb4, 0x02, + 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x49, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, + 0x18, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x16, 0x6e, 0x65, 0x77, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5b, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, + 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, + 0x41, 0x57, 0x10, 0x03, 0x22, 0xc0, 0x02, 0x0a, 0x1c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x36, 0x0a, 0x17, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x15, 0x6e, 0x65, 0x77, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xd9, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, - 0x65, 0x77, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, - 0xd9, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, + 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12802,40 +12330,41 @@ func file_regen_ecocredit_v1_events_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_events_proto_rawDescData } -var file_regen_ecocredit_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_regen_ecocredit_v1_events_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_regen_ecocredit_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_regen_ecocredit_v1_events_proto_goTypes = []interface{}{ - (*EventCreateClass)(nil), // 0: regen.ecocredit.v1.EventCreateClass - (*EventCreateProject)(nil), // 1: regen.ecocredit.v1.EventCreateProject - (*EventCreateBatch)(nil), // 2: regen.ecocredit.v1.EventCreateBatch - (*EventMint)(nil), // 3: regen.ecocredit.v1.EventMint - (*EventMintBatchCredits)(nil), // 4: regen.ecocredit.v1.EventMintBatchCredits - (*EventTransfer)(nil), // 5: regen.ecocredit.v1.EventTransfer - (*EventRetire)(nil), // 6: regen.ecocredit.v1.EventRetire - (*EventCancel)(nil), // 7: regen.ecocredit.v1.EventCancel - (*EventUpdateClassAdmin)(nil), // 8: regen.ecocredit.v1.EventUpdateClassAdmin - (*EventUpdateClassIssuers)(nil), // 9: regen.ecocredit.v1.EventUpdateClassIssuers - (*EventUpdateClassMetadata)(nil), // 10: regen.ecocredit.v1.EventUpdateClassMetadata - (*EventUpdateProjectAdmin)(nil), // 11: regen.ecocredit.v1.EventUpdateProjectAdmin - (*EventUpdateProjectMetadata)(nil), // 12: regen.ecocredit.v1.EventUpdateProjectMetadata - (*EventUpdateBatchMetadata)(nil), // 13: regen.ecocredit.v1.EventUpdateBatchMetadata - (*EventSealBatch)(nil), // 14: regen.ecocredit.v1.EventSealBatch - (*EventAddCreditType)(nil), // 15: regen.ecocredit.v1.EventAddCreditType - (*EventBridge)(nil), // 16: regen.ecocredit.v1.EventBridge - (*EventBridgeReceive)(nil), // 17: regen.ecocredit.v1.EventBridgeReceive - (*EventBurnRegen)(nil), // 18: regen.ecocredit.v1.EventBurnRegen - (*EventUpdateProjectClass)(nil), // 19: regen.ecocredit.v1.EventUpdateProjectClass - (*EventWithdrawProjectClass)(nil), // 20: regen.ecocredit.v1.EventWithdrawProjectClass - (*EventEvaluateProjectClass)(nil), // 21: regen.ecocredit.v1.EventEvaluateProjectClass - (*OriginTx)(nil), // 22: regen.ecocredit.v1.OriginTx - (ProjectEnrollmentStatus)(0), // 23: regen.ecocredit.v1.ProjectEnrollmentStatus + (EventUpdateApplication_Action)(0), // 0: regen.ecocredit.v1.EventUpdateApplication.Action + (*EventCreateClass)(nil), // 1: regen.ecocredit.v1.EventCreateClass + (*EventCreateProject)(nil), // 2: regen.ecocredit.v1.EventCreateProject + (*EventCreateBatch)(nil), // 3: regen.ecocredit.v1.EventCreateBatch + (*EventMint)(nil), // 4: regen.ecocredit.v1.EventMint + (*EventMintBatchCredits)(nil), // 5: regen.ecocredit.v1.EventMintBatchCredits + (*EventTransfer)(nil), // 6: regen.ecocredit.v1.EventTransfer + (*EventRetire)(nil), // 7: regen.ecocredit.v1.EventRetire + (*EventCancel)(nil), // 8: regen.ecocredit.v1.EventCancel + (*EventUpdateClassAdmin)(nil), // 9: regen.ecocredit.v1.EventUpdateClassAdmin + (*EventUpdateClassIssuers)(nil), // 10: regen.ecocredit.v1.EventUpdateClassIssuers + (*EventUpdateClassMetadata)(nil), // 11: regen.ecocredit.v1.EventUpdateClassMetadata + (*EventUpdateProjectAdmin)(nil), // 12: regen.ecocredit.v1.EventUpdateProjectAdmin + (*EventUpdateProjectMetadata)(nil), // 13: regen.ecocredit.v1.EventUpdateProjectMetadata + (*EventUpdateBatchMetadata)(nil), // 14: regen.ecocredit.v1.EventUpdateBatchMetadata + (*EventSealBatch)(nil), // 15: regen.ecocredit.v1.EventSealBatch + (*EventAddCreditType)(nil), // 16: regen.ecocredit.v1.EventAddCreditType + (*EventBridge)(nil), // 17: regen.ecocredit.v1.EventBridge + (*EventBridgeReceive)(nil), // 18: regen.ecocredit.v1.EventBridgeReceive + (*EventBurnRegen)(nil), // 19: regen.ecocredit.v1.EventBurnRegen + (*EventUpdateApplication)(nil), // 20: regen.ecocredit.v1.EventUpdateApplication + (*EventUpdateProjectEnrollment)(nil), // 21: regen.ecocredit.v1.EventUpdateProjectEnrollment + (*OriginTx)(nil), // 22: regen.ecocredit.v1.OriginTx + (ProjectEnrollmentStatus)(0), // 23: regen.ecocredit.v1.ProjectEnrollmentStatus } var file_regen_ecocredit_v1_events_proto_depIdxs = []int32{ 22, // 0: regen.ecocredit.v1.EventCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx 22, // 1: regen.ecocredit.v1.EventMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx 22, // 2: regen.ecocredit.v1.EventBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 23, // 3: regen.ecocredit.v1.EventWithdrawProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus - 23, // 4: regen.ecocredit.v1.EventEvaluateProjectClass.old_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus - 23, // 5: regen.ecocredit.v1.EventEvaluateProjectClass.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 0, // 3: regen.ecocredit.v1.EventUpdateApplication.action:type_name -> regen.ecocredit.v1.EventUpdateApplication.Action + 23, // 4: regen.ecocredit.v1.EventUpdateProjectEnrollment.old_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 23, // 5: regen.ecocredit.v1.EventUpdateProjectEnrollment.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus 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 @@ -13080,7 +12609,7 @@ func file_regen_ecocredit_v1_events_proto_init() { } } file_regen_ecocredit_v1_events_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventUpdateProjectClass); i { + switch v := v.(*EventUpdateApplication); i { case 0: return &v.state case 1: @@ -13092,19 +12621,7 @@ func file_regen_ecocredit_v1_events_proto_init() { } } file_regen_ecocredit_v1_events_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventWithdrawProjectClass); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_regen_ecocredit_v1_events_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventEvaluateProjectClass); i { + switch v := v.(*EventUpdateProjectEnrollment); i { case 0: return &v.state case 1: @@ -13121,13 +12638,14 @@ func file_regen_ecocredit_v1_events_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_events_proto_rawDesc, - NumEnums: 0, - NumMessages: 22, + NumEnums: 1, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, GoTypes: file_regen_ecocredit_v1_events_proto_goTypes, DependencyIndexes: file_regen_ecocredit_v1_events_proto_depIdxs, + EnumInfos: file_regen_ecocredit_v1_events_proto_enumTypes, MessageInfos: file_regen_ecocredit_v1_events_proto_msgTypes, }.Build() File_regen_ecocredit_v1_events_proto = out.File diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 527d659354..1724915a7b 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -8868,12 +8868,12 @@ func (x *fastReflection_AllowedBridgeChain) ProtoMethods() *protoiface.Methods { } var ( - md_ProjectEnrollment protoreflect.MessageDescriptor - fd_ProjectEnrollment_project_key protoreflect.FieldDescriptor - fd_ProjectEnrollment_class_key protoreflect.FieldDescriptor - fd_ProjectEnrollment_status protoreflect.FieldDescriptor - fd_ProjectEnrollment_project_metadata protoreflect.FieldDescriptor - fd_ProjectEnrollment_class_metadata protoreflect.FieldDescriptor + md_ProjectEnrollment protoreflect.MessageDescriptor + fd_ProjectEnrollment_project_key protoreflect.FieldDescriptor + fd_ProjectEnrollment_class_key protoreflect.FieldDescriptor + fd_ProjectEnrollment_status protoreflect.FieldDescriptor + fd_ProjectEnrollment_application_metadata protoreflect.FieldDescriptor + fd_ProjectEnrollment_enrollment_metadata protoreflect.FieldDescriptor ) func init() { @@ -8882,8 +8882,8 @@ func init() { fd_ProjectEnrollment_project_key = md_ProjectEnrollment.Fields().ByName("project_key") fd_ProjectEnrollment_class_key = md_ProjectEnrollment.Fields().ByName("class_key") fd_ProjectEnrollment_status = md_ProjectEnrollment.Fields().ByName("status") - fd_ProjectEnrollment_project_metadata = md_ProjectEnrollment.Fields().ByName("project_metadata") - fd_ProjectEnrollment_class_metadata = md_ProjectEnrollment.Fields().ByName("class_metadata") + fd_ProjectEnrollment_application_metadata = md_ProjectEnrollment.Fields().ByName("application_metadata") + fd_ProjectEnrollment_enrollment_metadata = md_ProjectEnrollment.Fields().ByName("enrollment_metadata") } var _ protoreflect.Message = (*fastReflection_ProjectEnrollment)(nil) @@ -8969,15 +8969,15 @@ func (x *fastReflection_ProjectEnrollment) Range(f func(protoreflect.FieldDescri return } } - if x.ProjectMetadata != "" { - value := protoreflect.ValueOfString(x.ProjectMetadata) - if !f(fd_ProjectEnrollment_project_metadata, value) { + if x.ApplicationMetadata != "" { + value := protoreflect.ValueOfString(x.ApplicationMetadata) + if !f(fd_ProjectEnrollment_application_metadata, value) { return } } - if x.ClassMetadata != "" { - value := protoreflect.ValueOfString(x.ClassMetadata) - if !f(fd_ProjectEnrollment_class_metadata, value) { + if x.EnrollmentMetadata != "" { + value := protoreflect.ValueOfString(x.EnrollmentMetadata) + if !f(fd_ProjectEnrollment_enrollment_metadata, value) { return } } @@ -9002,10 +9002,10 @@ func (x *fastReflection_ProjectEnrollment) Has(fd protoreflect.FieldDescriptor) return x.ClassKey != uint64(0) case "regen.ecocredit.v1.ProjectEnrollment.status": return x.Status != 0 - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": - return x.ProjectMetadata != "" - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": - return x.ClassMetadata != "" + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": + return x.ApplicationMetadata != "" + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": + return x.EnrollmentMetadata != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) @@ -9028,10 +9028,10 @@ func (x *fastReflection_ProjectEnrollment) Clear(fd protoreflect.FieldDescriptor x.ClassKey = uint64(0) case "regen.ecocredit.v1.ProjectEnrollment.status": x.Status = 0 - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": - x.ProjectMetadata = "" - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": - x.ClassMetadata = "" + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": + x.ApplicationMetadata = "" + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": + x.EnrollmentMetadata = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) @@ -9057,11 +9057,11 @@ func (x *fastReflection_ProjectEnrollment) Get(descriptor protoreflect.FieldDesc case "regen.ecocredit.v1.ProjectEnrollment.status": value := x.Status return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": - value := x.ProjectMetadata + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": + value := x.ApplicationMetadata return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": - value := x.ClassMetadata + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": + value := x.EnrollmentMetadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { @@ -9089,10 +9089,10 @@ func (x *fastReflection_ProjectEnrollment) Set(fd protoreflect.FieldDescriptor, x.ClassKey = value.Uint() case "regen.ecocredit.v1.ProjectEnrollment.status": x.Status = (ProjectEnrollmentStatus)(value.Enum()) - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": - x.ProjectMetadata = value.Interface().(string) - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": - x.ClassMetadata = value.Interface().(string) + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": + x.ApplicationMetadata = value.Interface().(string) + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": + x.EnrollmentMetadata = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) @@ -9119,10 +9119,10 @@ func (x *fastReflection_ProjectEnrollment) Mutable(fd protoreflect.FieldDescript panic(fmt.Errorf("field class_key of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) case "regen.ecocredit.v1.ProjectEnrollment.status": panic(fmt.Errorf("field status of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": - panic(fmt.Errorf("field project_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": - panic(fmt.Errorf("field class_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": + panic(fmt.Errorf("field application_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": + panic(fmt.Errorf("field enrollment_metadata of message regen.ecocredit.v1.ProjectEnrollment is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectEnrollment")) @@ -9142,9 +9142,9 @@ func (x *fastReflection_ProjectEnrollment) NewField(fd protoreflect.FieldDescrip return protoreflect.ValueOfUint64(uint64(0)) case "regen.ecocredit.v1.ProjectEnrollment.status": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.ProjectEnrollment.project_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.application_metadata": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.ProjectEnrollment.class_metadata": + case "regen.ecocredit.v1.ProjectEnrollment.enrollment_metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { @@ -9224,11 +9224,11 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { if x.Status != 0 { n += 1 + runtime.Sov(uint64(x.Status)) } - l = len(x.ProjectMetadata) + l = len(x.ApplicationMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ClassMetadata) + l = len(x.EnrollmentMetadata) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -9261,17 +9261,17 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.ClassMetadata) > 0 { - i -= len(x.ClassMetadata) - copy(dAtA[i:], x.ClassMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassMetadata))) + if len(x.EnrollmentMetadata) > 0 { + i -= len(x.EnrollmentMetadata) + copy(dAtA[i:], x.EnrollmentMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EnrollmentMetadata))) i-- dAtA[i] = 0x32 } - if len(x.ProjectMetadata) > 0 { - i -= len(x.ProjectMetadata) - copy(dAtA[i:], x.ProjectMetadata) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectMetadata))) + if len(x.ApplicationMetadata) > 0 { + i -= len(x.ApplicationMetadata) + copy(dAtA[i:], x.ApplicationMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ApplicationMetadata))) i-- dAtA[i] = 0x2a } @@ -9398,7 +9398,7 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { } case 5: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectMetadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9426,11 +9426,11 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ProjectMetadata = string(dAtA[iNdEx:postIndex]) + x.ApplicationMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 6: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassMetadata", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EnrollmentMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9458,7 +9458,7 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.ClassMetadata = string(dAtA[iNdEx:postIndex]) + x.EnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10600,14 +10600,12 @@ type ProjectEnrollment struct { ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // status is the status of the enrollment. Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` - // project_metadata is any arbitrary metadata set by the project - // admin. This should primarily be used to store metadata regarding the project's - // application to the credit class. - ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` - // class_metadata is any arbitrary metadata set by a credit - // class issuer. This should primarily be used to store metadata regarding the - // project's application to the credit class. - ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` } func (x *ProjectEnrollment) Reset() { @@ -10651,16 +10649,16 @@ func (x *ProjectEnrollment) GetStatus() ProjectEnrollmentStatus { return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *ProjectEnrollment) GetProjectMetadata() string { +func (x *ProjectEnrollment) GetApplicationMetadata() string { if x != nil { - return x.ProjectMetadata + return x.ApplicationMetadata } return "" } -func (x *ProjectEnrollment) GetClassMetadata() string { +func (x *ProjectEnrollment) GetEnrollmentMetadata() string { if x != nil { - return x.ClassMetadata + return x.EnrollmentMetadata } return "" } @@ -10836,7 +10834,7 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0x9a, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0xac, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, @@ -10846,44 +10844,46 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, - 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xef, 0x01, 0x0a, 0x17, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, - 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, - 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, - 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, - 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x42, 0xd8, 0x01, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, + 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, 0x09, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xef, 0x01, + 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, + 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, + 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, + 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, + 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x42, + 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, + 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 904cf4893d..5afc83cb53 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -4172,31 +4172,33 @@ func (x *fastReflection_MsgCreateUnregisteredProjectResponse) ProtoMethods() *pr } var ( - md_MsgUpdateProjectEnrollment protoreflect.MessageDescriptor - fd_MsgUpdateProjectEnrollment_project_admin protoreflect.FieldDescriptor - fd_MsgUpdateProjectEnrollment_project_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectEnrollment_class_id protoreflect.FieldDescriptor - fd_MsgUpdateProjectEnrollment_metadata protoreflect.FieldDescriptor + md_MsgCreateOrUpdateApplication protoreflect.MessageDescriptor + fd_MsgCreateOrUpdateApplication_project_admin protoreflect.FieldDescriptor + fd_MsgCreateOrUpdateApplication_project_id protoreflect.FieldDescriptor + fd_MsgCreateOrUpdateApplication_class_id protoreflect.FieldDescriptor + fd_MsgCreateOrUpdateApplication_metadata protoreflect.FieldDescriptor + fd_MsgCreateOrUpdateApplication_withdraw protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollment") - fd_MsgUpdateProjectEnrollment_project_admin = md_MsgUpdateProjectEnrollment.Fields().ByName("project_admin") - fd_MsgUpdateProjectEnrollment_project_id = md_MsgUpdateProjectEnrollment.Fields().ByName("project_id") - fd_MsgUpdateProjectEnrollment_class_id = md_MsgUpdateProjectEnrollment.Fields().ByName("class_id") - fd_MsgUpdateProjectEnrollment_metadata = md_MsgUpdateProjectEnrollment.Fields().ByName("metadata") + md_MsgCreateOrUpdateApplication = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateOrUpdateApplication") + fd_MsgCreateOrUpdateApplication_project_admin = md_MsgCreateOrUpdateApplication.Fields().ByName("project_admin") + fd_MsgCreateOrUpdateApplication_project_id = md_MsgCreateOrUpdateApplication.Fields().ByName("project_id") + fd_MsgCreateOrUpdateApplication_class_id = md_MsgCreateOrUpdateApplication.Fields().ByName("class_id") + fd_MsgCreateOrUpdateApplication_metadata = md_MsgCreateOrUpdateApplication.Fields().ByName("metadata") + fd_MsgCreateOrUpdateApplication_withdraw = md_MsgCreateOrUpdateApplication.Fields().ByName("withdraw") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollment)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCreateOrUpdateApplication)(nil) -type fastReflection_MsgUpdateProjectEnrollment MsgUpdateProjectEnrollment +type fastReflection_MsgCreateOrUpdateApplication MsgCreateOrUpdateApplication -func (x *MsgUpdateProjectEnrollment) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectEnrollment)(x) +func (x *MsgCreateOrUpdateApplication) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateOrUpdateApplication)(x) } -func (x *MsgUpdateProjectEnrollment) slowProtoReflect() protoreflect.Message { +func (x *MsgCreateOrUpdateApplication) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4208,43 +4210,43 @@ func (x *MsgUpdateProjectEnrollment) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectEnrollment_messageType fastReflection_MsgUpdateProjectEnrollment_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollment_messageType{} +var _fastReflection_MsgCreateOrUpdateApplication_messageType fastReflection_MsgCreateOrUpdateApplication_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateOrUpdateApplication_messageType{} -type fastReflection_MsgUpdateProjectEnrollment_messageType struct{} +type fastReflection_MsgCreateOrUpdateApplication_messageType struct{} -func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectEnrollment)(nil) +func (x fastReflection_MsgCreateOrUpdateApplication_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateOrUpdateApplication)(nil) } -func (x fastReflection_MsgUpdateProjectEnrollment_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectEnrollment) +func (x fastReflection_MsgCreateOrUpdateApplication_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateOrUpdateApplication) } -func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectEnrollment +func (x fastReflection_MsgCreateOrUpdateApplication_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateOrUpdateApplication } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectEnrollment +func (x *fastReflection_MsgCreateOrUpdateApplication) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateOrUpdateApplication } // 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_MsgUpdateProjectEnrollment) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectEnrollment_messageType +func (x *fastReflection_MsgCreateOrUpdateApplication) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateOrUpdateApplication_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectEnrollment) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectEnrollment) +func (x *fastReflection_MsgCreateOrUpdateApplication) New() protoreflect.Message { + return new(fastReflection_MsgCreateOrUpdateApplication) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectEnrollment) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectEnrollment)(x) +func (x *fastReflection_MsgCreateOrUpdateApplication) Interface() protoreflect.ProtoMessage { + return (*MsgCreateOrUpdateApplication)(x) } // Range iterates over every populated field in an undefined order, @@ -4252,28 +4254,34 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Interface() protoreflect.Pro // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCreateOrUpdateApplication) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProjectAdmin != "" { value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgUpdateProjectEnrollment_project_admin, value) { + if !f(fd_MsgCreateOrUpdateApplication_project_admin, value) { return } } if x.ProjectId != "" { value := protoreflect.ValueOfString(x.ProjectId) - if !f(fd_MsgUpdateProjectEnrollment_project_id, value) { + if !f(fd_MsgCreateOrUpdateApplication_project_id, value) { return } } if x.ClassId != "" { value := protoreflect.ValueOfString(x.ClassId) - if !f(fd_MsgUpdateProjectEnrollment_class_id, value) { + if !f(fd_MsgCreateOrUpdateApplication_class_id, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgUpdateProjectEnrollment_metadata, value) { + if !f(fd_MsgCreateOrUpdateApplication_metadata, value) { + return + } + } + if x.Withdraw != false { + value := protoreflect.ValueOfBool(x.Withdraw) + if !f(fd_MsgCreateOrUpdateApplication_withdraw, value) { return } } @@ -4290,21 +4298,23 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Range(f func(protoreflect.Fi // 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_MsgUpdateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateOrUpdateApplication) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": return x.ProjectId != "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": return x.ClassId != "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": return x.Metadata != "" + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + return x.Withdraw != false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication does not contain field %s", fd.FullName())) } } @@ -4314,21 +4324,23 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Has(fd protoreflect.FieldDes // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateOrUpdateApplication) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": x.ProjectId = "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": x.ClassId = "" - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": x.Metadata = "" + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + x.Withdraw = false default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication does not contain field %s", fd.FullName())) } } @@ -4338,25 +4350,28 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Clear(fd protoreflect.FieldD // 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_MsgUpdateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplication) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": value := x.ProjectAdmin return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": value := x.ClassId return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": value := x.Metadata return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + value := x.Withdraw + return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication does not contain field %s", descriptor.FullName())) } } @@ -4370,21 +4385,23 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Get(descriptor protoreflect. // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateOrUpdateApplication) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": x.ProjectId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": x.ClassId = value.Interface().(string) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": x.Metadata = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + x.Withdraw = value.Bool() default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication does not contain field %s", fd.FullName())) } } @@ -4398,52 +4415,56 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) Set(fd protoreflect.FieldDes // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplication) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": - panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": - panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": + panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgCreateOrUpdateApplication is not mutable")) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgCreateOrUpdateApplication is not mutable")) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgCreateOrUpdateApplication is not mutable")) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateOrUpdateApplication is not mutable")) + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + panic(fmt.Errorf("field withdraw of message regen.ecocredit.v1.MsgCreateOrUpdateApplication is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication 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_MsgUpdateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplication) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_admin": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_admin": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.project_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.metadata": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateOrUpdateApplication.withdraw": + return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplication")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplication 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_MsgUpdateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateOrUpdateApplication) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollment", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateOrUpdateApplication", d.FullName())) } panic("unreachable") } @@ -4451,7 +4472,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) WhichOneof(d protoreflect.On // 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_MsgUpdateProjectEnrollment) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateOrUpdateApplication) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4462,7 +4483,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) GetUnknown() protoreflect.Ra // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateOrUpdateApplication) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -4474,7 +4495,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) SetUnknown(fields protorefle // 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_MsgUpdateProjectEnrollment) IsValid() bool { +func (x *fastReflection_MsgCreateOrUpdateApplication) IsValid() bool { return x != nil } @@ -4484,9 +4505,9 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateOrUpdateApplication) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectEnrollment) + x := input.Message.Interface().(*MsgCreateOrUpdateApplication) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4514,6 +4535,9 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.Withdraw { + n += 2 + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4524,7 +4548,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectEnrollment) + x := input.Message.Interface().(*MsgCreateOrUpdateApplication) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4543,6 +4567,16 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Withdraw { + i-- + if x.Withdraw { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } if len(x.Metadata) > 0 { i -= len(x.Metadata) copy(dAtA[i:], x.Metadata) @@ -4582,7 +4616,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectEnrollment) + x := input.Message.Interface().(*MsgCreateOrUpdateApplication) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -4614,10 +4648,10 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateOrUpdateApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateOrUpdateApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4748,6 +4782,26 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M } x.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Withdraw", 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.Withdraw = bool(v != 0) default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -4784,23 +4838,23 @@ func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.M } var ( - md_MsgUpdateProjectEnrollmentResponse protoreflect.MessageDescriptor + md_MsgCreateOrUpdateApplicationResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgUpdateProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollmentResponse") + md_MsgCreateOrUpdateApplicationResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgCreateOrUpdateApplicationResponse") } -var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgCreateOrUpdateApplicationResponse)(nil) -type fastReflection_MsgUpdateProjectEnrollmentResponse MsgUpdateProjectEnrollmentResponse +type fastReflection_MsgCreateOrUpdateApplicationResponse MsgCreateOrUpdateApplicationResponse -func (x *MsgUpdateProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(x) +func (x *MsgCreateOrUpdateApplicationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCreateOrUpdateApplicationResponse)(x) } -func (x *MsgUpdateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgCreateOrUpdateApplicationResponse) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -4812,43 +4866,43 @@ func (x *MsgUpdateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -var _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType fastReflection_MsgUpdateProjectEnrollmentResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollmentResponse_messageType{} +var _fastReflection_MsgCreateOrUpdateApplicationResponse_messageType fastReflection_MsgCreateOrUpdateApplicationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCreateOrUpdateApplicationResponse_messageType{} -type fastReflection_MsgUpdateProjectEnrollmentResponse_messageType struct{} +type fastReflection_MsgCreateOrUpdateApplicationResponse_messageType struct{} -func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) +func (x fastReflection_MsgCreateOrUpdateApplicationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCreateOrUpdateApplicationResponse)(nil) } -func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectEnrollmentResponse) +func (x fastReflection_MsgCreateOrUpdateApplicationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCreateOrUpdateApplicationResponse) } -func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectEnrollmentResponse +func (x fastReflection_MsgCreateOrUpdateApplicationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateOrUpdateApplicationResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgUpdateProjectEnrollmentResponse +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCreateOrUpdateApplicationResponse } // 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_MsgUpdateProjectEnrollmentResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCreateOrUpdateApplicationResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) New() protoreflect.Message { - return new(fastReflection_MsgUpdateProjectEnrollmentResponse) +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) New() protoreflect.Message { + return new(fastReflection_MsgCreateOrUpdateApplicationResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { - return (*MsgUpdateProjectEnrollmentResponse)(x) +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCreateOrUpdateApplicationResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -4856,7 +4910,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Interface() protoref // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -4870,13 +4924,13 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Range(f func(protore // 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_MsgUpdateProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse does not contain field %s", fd.FullName())) } } @@ -4886,13 +4940,13 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Has(fd protoreflect. // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse does not contain field %s", fd.FullName())) } } @@ -4902,13 +4956,13 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Clear(fd protoreflec // 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_MsgUpdateProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse does not contain field %s", descriptor.FullName())) } } @@ -4922,13 +4976,13 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Get(descriptor proto // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse does not contain field %s", fd.FullName())) } } @@ -4942,36 +4996,36 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Set(fd protoreflect. // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse 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_MsgUpdateProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse 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_MsgUpdateProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse", d.FullName())) } panic("unreachable") } @@ -4979,7 +5033,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) WhichOneof(d protore // 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_MsgUpdateProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -4990,7 +5044,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) GetUnknown() protore // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -5002,7 +5056,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) SetUnknown(fields pr // 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_MsgUpdateProjectEnrollmentResponse) IsValid() bool { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) IsValid() bool { return x != nil } @@ -5012,9 +5066,9 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgCreateOrUpdateApplicationResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgCreateOrUpdateApplicationResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5036,7 +5090,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *prot } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgCreateOrUpdateApplicationResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5066,7 +5120,7 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *prot }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgCreateOrUpdateApplicationResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -5098,10 +5152,10 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *prot fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateOrUpdateApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateOrUpdateApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -5140,29 +5194,33 @@ func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *prot } var ( - md_MsgWithdrawProjectEnrollment protoreflect.MessageDescriptor - fd_MsgWithdrawProjectEnrollment_project_admin protoreflect.FieldDescriptor - fd_MsgWithdrawProjectEnrollment_application_id protoreflect.FieldDescriptor - fd_MsgWithdrawProjectEnrollment_metadata protoreflect.FieldDescriptor + md_MsgUpdateProjectEnrollment protoreflect.MessageDescriptor + fd_MsgUpdateProjectEnrollment_issuer protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_project_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_class_id protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_new_status protoreflect.FieldDescriptor + fd_MsgUpdateProjectEnrollment_metadata protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectEnrollment") - fd_MsgWithdrawProjectEnrollment_project_admin = md_MsgWithdrawProjectEnrollment.Fields().ByName("project_admin") - fd_MsgWithdrawProjectEnrollment_application_id = md_MsgWithdrawProjectEnrollment.Fields().ByName("application_id") - fd_MsgWithdrawProjectEnrollment_metadata = md_MsgWithdrawProjectEnrollment.Fields().ByName("metadata") + md_MsgUpdateProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollment") + fd_MsgUpdateProjectEnrollment_issuer = md_MsgUpdateProjectEnrollment.Fields().ByName("issuer") + fd_MsgUpdateProjectEnrollment_project_id = md_MsgUpdateProjectEnrollment.Fields().ByName("project_id") + fd_MsgUpdateProjectEnrollment_class_id = md_MsgUpdateProjectEnrollment.Fields().ByName("class_id") + fd_MsgUpdateProjectEnrollment_new_status = md_MsgUpdateProjectEnrollment.Fields().ByName("new_status") + fd_MsgUpdateProjectEnrollment_metadata = md_MsgUpdateProjectEnrollment.Fields().ByName("metadata") } -var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectEnrollment)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollment)(nil) -type fastReflection_MsgWithdrawProjectEnrollment MsgWithdrawProjectEnrollment +type fastReflection_MsgUpdateProjectEnrollment MsgUpdateProjectEnrollment -func (x *MsgWithdrawProjectEnrollment) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectEnrollment)(x) +func (x *MsgUpdateProjectEnrollment) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollment)(x) } -func (x *MsgWithdrawProjectEnrollment) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectEnrollment) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -5174,933 +5232,43 @@ func (x *MsgWithdrawProjectEnrollment) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgWithdrawProjectEnrollment_messageType fastReflection_MsgWithdrawProjectEnrollment_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectEnrollment_messageType{} - -type fastReflection_MsgWithdrawProjectEnrollment_messageType struct{} - -func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectEnrollment)(nil) -} -func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectEnrollment) -} -func (x fastReflection_MsgWithdrawProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectEnrollment -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgWithdrawProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectEnrollment -} - -// 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_MsgWithdrawProjectEnrollment) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawProjectEnrollment_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawProjectEnrollment) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectEnrollment) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawProjectEnrollment) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawProjectEnrollment)(x) -} +var _fastReflection_MsgUpdateProjectEnrollment_messageType fastReflection_MsgUpdateProjectEnrollment_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollment_messageType{} -// 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_MsgWithdrawProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProjectAdmin != "" { - value := protoreflect.ValueOfString(x.ProjectAdmin) - if !f(fd_MsgWithdrawProjectEnrollment_project_admin, value) { - return - } - } - if x.ApplicationId != uint64(0) { - value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgWithdrawProjectEnrollment_application_id, value) { - return - } - } - if x.Metadata != "" { - value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgWithdrawProjectEnrollment_metadata, value) { - return - } - } -} +type fastReflection_MsgUpdateProjectEnrollment_messageType struct{} -// 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_MsgWithdrawProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - return x.ProjectAdmin != "" - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - return x.Metadata != "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", fd.FullName())) - } +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollment)(nil) } - -// 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_MsgWithdrawProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - x.ProjectAdmin = "" - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - x.Metadata = "" - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment does not contain field %s", fd.FullName())) - } +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollment) } - -// 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_MsgWithdrawProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - value := x.ProjectAdmin - return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - value := x.ApplicationId - return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - value := x.Metadata - return protoreflect.ValueOfString(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - x.ProjectAdmin = value.Interface().(string) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - x.Metadata = value.Interface().(string) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - panic(fmt.Errorf("field project_admin of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgWithdrawProjectEnrollment is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.project_admin": - return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.application_id": - return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgWithdrawProjectEnrollment.metadata": - return protoreflect.ValueOfString("") - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollment")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollment 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_MsgWithdrawProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectEnrollment", 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_MsgWithdrawProjectEnrollment) 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_MsgWithdrawProjectEnrollment) 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_MsgWithdrawProjectEnrollment) 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_MsgWithdrawProjectEnrollment) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawProjectEnrollment) - 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.ProjectAdmin) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.ApplicationId != 0 { - n += 1 + runtime.Sov(uint64(x.ApplicationId)) - } - 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().(*MsgWithdrawProjectEnrollment) - 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] = 0x1a - } - if x.ApplicationId != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) - i-- - dAtA[i] = 0x10 - } - if len(x.ProjectAdmin) > 0 { - i -= len(x.ProjectAdmin) - copy(dAtA[i:], x.ProjectAdmin) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectAdmin))) - 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().(*MsgWithdrawProjectEnrollment) - 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: MsgWithdrawProjectEnrollment: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollment: 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 ProjectAdmin", 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.ProjectAdmin = 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 ApplicationId", wireType) - } - x.ApplicationId = 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.ApplicationId |= 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 Metadata", 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.Metadata = 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_MsgWithdrawProjectEnrollmentResponse protoreflect.MessageDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgWithdrawProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgWithdrawProjectEnrollmentResponse") -} - -var _ protoreflect.Message = (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(nil) - -type fastReflection_MsgWithdrawProjectEnrollmentResponse MsgWithdrawProjectEnrollmentResponse - -func (x *MsgWithdrawProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(x) -} - -func (x *MsgWithdrawProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType{} - -type fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType struct{} - -func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgWithdrawProjectEnrollmentResponse)(nil) -} -func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectEnrollmentResponse) -} -func (x fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectEnrollmentResponse -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgWithdrawProjectEnrollmentResponse -} - -// 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_MsgWithdrawProjectEnrollmentResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgWithdrawProjectEnrollmentResponse_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) New() protoreflect.Message { - return new(fastReflection_MsgWithdrawProjectEnrollmentResponse) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { - return (*MsgWithdrawProjectEnrollmentResponse)(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_MsgWithdrawProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgWithdrawProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse")) - } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse 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_MsgWithdrawProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse", 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_MsgWithdrawProjectEnrollmentResponse) 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_MsgWithdrawProjectEnrollmentResponse) 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_MsgWithdrawProjectEnrollmentResponse) 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_MsgWithdrawProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgWithdrawProjectEnrollmentResponse) - 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: MsgWithdrawProjectEnrollmentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_MsgEvaluateProjectEnrollment protoreflect.MessageDescriptor - fd_MsgEvaluateProjectEnrollment_issuer protoreflect.FieldDescriptor - fd_MsgEvaluateProjectEnrollment_application_id protoreflect.FieldDescriptor - fd_MsgEvaluateProjectEnrollment_evaluation protoreflect.FieldDescriptor - fd_MsgEvaluateProjectEnrollment_metadata protoreflect.FieldDescriptor -) - -func init() { - file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateProjectEnrollment = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectEnrollment") - fd_MsgEvaluateProjectEnrollment_issuer = md_MsgEvaluateProjectEnrollment.Fields().ByName("issuer") - fd_MsgEvaluateProjectEnrollment_application_id = md_MsgEvaluateProjectEnrollment.Fields().ByName("application_id") - fd_MsgEvaluateProjectEnrollment_evaluation = md_MsgEvaluateProjectEnrollment.Fields().ByName("evaluation") - fd_MsgEvaluateProjectEnrollment_metadata = md_MsgEvaluateProjectEnrollment.Fields().ByName("metadata") -} - -var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectEnrollment)(nil) - -type fastReflection_MsgEvaluateProjectEnrollment MsgEvaluateProjectEnrollment - -func (x *MsgEvaluateProjectEnrollment) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectEnrollment)(x) -} - -func (x *MsgEvaluateProjectEnrollment) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] - 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_MsgEvaluateProjectEnrollment_messageType fastReflection_MsgEvaluateProjectEnrollment_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectEnrollment_messageType{} - -type fastReflection_MsgEvaluateProjectEnrollment_messageType struct{} - -func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectEnrollment)(nil) -} -func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectEnrollment) -} -func (x fastReflection_MsgEvaluateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectEnrollment +func (x fastReflection_MsgUpdateProjectEnrollment_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollment } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectEnrollment +func (x *fastReflection_MsgUpdateProjectEnrollment) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollment } // 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_MsgEvaluateProjectEnrollment) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateProjectEnrollment_messageType +func (x *fastReflection_MsgUpdateProjectEnrollment) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectEnrollment_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateProjectEnrollment) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectEnrollment) +func (x *fastReflection_MsgUpdateProjectEnrollment) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollment) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateProjectEnrollment)(x) +func (x *fastReflection_MsgUpdateProjectEnrollment) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectEnrollment)(x) } // Range iterates over every populated field in an undefined order, @@ -6108,28 +5276,34 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Interface() protoreflect.P // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Issuer != "" { value := protoreflect.ValueOfString(x.Issuer) - if !f(fd_MsgEvaluateProjectEnrollment_issuer, value) { + if !f(fd_MsgUpdateProjectEnrollment_issuer, value) { + return + } + } + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_MsgUpdateProjectEnrollment_project_id, value) { return } } - if x.ApplicationId != uint64(0) { - value := protoreflect.ValueOfUint64(x.ApplicationId) - if !f(fd_MsgEvaluateProjectEnrollment_application_id, value) { + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgUpdateProjectEnrollment_class_id, value) { return } } - if x.Evaluation != 0 { - value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Evaluation)) - if !f(fd_MsgEvaluateProjectEnrollment_evaluation, value) { + if x.NewStatus != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.NewStatus)) + if !f(fd_MsgUpdateProjectEnrollment_new_status, value) { return } } if x.Metadata != "" { value := protoreflect.ValueOfString(x.Metadata) - if !f(fd_MsgEvaluateProjectEnrollment_metadata, value) { + if !f(fd_MsgUpdateProjectEnrollment_metadata, value) { return } } @@ -6146,21 +5320,23 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Range(f func(protoreflect. // 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_MsgEvaluateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectEnrollment) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": return x.Issuer != "" - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - return x.ApplicationId != uint64(0) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": - return x.Evaluation != 0 - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": + return x.NewStatus != 0 + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": return x.Metadata != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6170,21 +5346,23 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Has(fd protoreflect.FieldD // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": x.Issuer = "" - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - x.ApplicationId = uint64(0) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": - x.Evaluation = 0 - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": + x.NewStatus = 0 + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": x.Metadata = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6194,25 +5372,28 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Clear(fd protoreflect.Fiel // 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_MsgEvaluateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": value := x.Issuer return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - value := x.ApplicationId - return protoreflect.ValueOfUint64(value) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": - value := x.Evaluation + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": + value := x.NewStatus return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": value := x.Metadata return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", descriptor.FullName())) } } @@ -6226,21 +5407,23 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Get(descriptor protoreflec // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectEnrollment) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": x.Issuer = value.Interface().(string) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - x.ApplicationId = value.Uint() - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": - x.Evaluation = (ProjectEnrollmentStatus)(value.Enum()) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": + x.NewStatus = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": x.Metadata = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment does not contain field %s", fd.FullName())) } } @@ -6254,52 +5437,56 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) Set(fd protoreflect.FieldD // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": - panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - panic(fmt.Errorf("field application_id of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": - panic(fmt.Errorf("field evaluation of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": - panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgEvaluateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": + panic(fmt.Errorf("field new_status of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgUpdateProjectEnrollment is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment 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_MsgEvaluateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollment) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.issuer": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.issuer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.class_id": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.application_id": - return protoreflect.ValueOfUint64(uint64(0)) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status": return protoreflect.ValueOfEnum(0) - case "regen.ecocredit.v1.MsgEvaluateProjectEnrollment.metadata": + case "regen.ecocredit.v1.MsgUpdateProjectEnrollment.metadata": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollment")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollment")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollment does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollment 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_MsgEvaluateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectEnrollment) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectEnrollment", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollment", d.FullName())) } panic("unreachable") } @@ -6307,7 +5494,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) WhichOneof(d protoreflect. // 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_MsgEvaluateProjectEnrollment) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectEnrollment) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6318,7 +5505,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) GetUnknown() protoreflect. // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectEnrollment) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6330,7 +5517,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) SetUnknown(fields protoref // 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_MsgEvaluateProjectEnrollment) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectEnrollment) IsValid() bool { return x != nil } @@ -6340,9 +5527,9 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectEnrollment) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6358,11 +5545,16 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.ApplicationId != 0 { - n += 1 + runtime.Sov(uint64(x.ApplicationId)) + l = len(x.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) } - if x.Evaluation != 0 { - n += 1 + runtime.Sov(uint64(x.Evaluation)) + if x.NewStatus != 0 { + n += 1 + runtime.Sov(uint64(x.NewStatus)) } l = len(x.Metadata) if l > 0 { @@ -6378,7 +5570,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6402,17 +5594,26 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface copy(dAtA[i:], x.Metadata) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a } - if x.Evaluation != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.Evaluation)) + if x.NewStatus != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NewStatus)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x20 } - if x.ApplicationId != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.ApplicationId)) + 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] = 0x10 + dAtA[i] = 0x1a + } + 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] = 0x12 } if len(x.Issuer) > 0 { i -= len(x.Issuer) @@ -6432,7 +5633,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollment) + x := input.Message.Interface().(*MsgUpdateProjectEnrollment) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6464,10 +5665,10 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollment: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6503,10 +5704,10 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface x.Issuer = 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 ApplicationId", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) } - x.ApplicationId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -6516,16 +5717,29 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface } b := dAtA[iNdEx] iNdEx++ - x.ApplicationId |= uint64(b&0x7F) << shift + 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 3: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Evaluation", wireType) + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) } - x.Evaluation = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -6535,12 +5749,44 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface } b := dAtA[iNdEx] iNdEx++ - x.Evaluation |= ProjectEnrollmentStatus(b&0x7F) << shift + 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 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewStatus", wireType) + } + x.NewStatus = 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.NewStatus |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: if wireType != 2 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -6608,24 +5854,24 @@ func (x *fastReflection_MsgEvaluateProjectEnrollment) ProtoMethods() *protoiface } var ( - md_MsgEvaluateProjectEnrollmentResponse protoreflect.MessageDescriptor + md_MsgUpdateProjectEnrollmentResponse protoreflect.MessageDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgEvaluateProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgEvaluateProjectEnrollmentResponse") + md_MsgUpdateProjectEnrollmentResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectEnrollmentResponse") } -var _ protoreflect.Message = (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) -type fastReflection_MsgEvaluateProjectEnrollmentResponse MsgEvaluateProjectEnrollmentResponse +type fastReflection_MsgUpdateProjectEnrollmentResponse MsgUpdateProjectEnrollmentResponse -func (x *MsgEvaluateProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(x) +func (x *MsgUpdateProjectEnrollmentResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(x) } -func (x *MsgEvaluateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] +func (x *MsgUpdateProjectEnrollmentResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6636,43 +5882,43 @@ func (x *MsgEvaluateProjectEnrollmentResponse) slowProtoReflect() protoreflect.M return mi.MessageOf(x) } -var _fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType{} +var _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType fastReflection_MsgUpdateProjectEnrollmentResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectEnrollmentResponse_messageType{} -type fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType struct{} +type fastReflection_MsgUpdateProjectEnrollmentResponse_messageType struct{} -func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgEvaluateProjectEnrollmentResponse)(nil) +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectEnrollmentResponse)(nil) } -func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectEnrollmentResponse) +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollmentResponse) } -func (x fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectEnrollmentResponse +func (x fastReflection_MsgUpdateProjectEnrollmentResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollmentResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgEvaluateProjectEnrollmentResponse +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectEnrollmentResponse } // 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_MsgEvaluateProjectEnrollmentResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgEvaluateProjectEnrollmentResponse_messageType +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectEnrollmentResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) New() protoreflect.Message { - return new(fastReflection_MsgEvaluateProjectEnrollmentResponse) +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectEnrollmentResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { - return (*MsgEvaluateProjectEnrollmentResponse)(x) +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectEnrollmentResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -6680,7 +5926,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Interface() protor // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -6694,13 +5940,13 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Range(f func(proto // 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_MsgEvaluateProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6710,13 +5956,13 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Has(fd protoreflec // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6726,13 +5972,13 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Clear(fd protorefl // 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_MsgEvaluateProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", descriptor.FullName())) } } @@ -6746,13 +5992,13 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Get(descriptor pro // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse does not contain field %s", fd.FullName())) } } @@ -6766,36 +6012,36 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Set(fd protoreflec // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse 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_MsgEvaluateProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse 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_MsgEvaluateProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse", d.FullName())) } panic("unreachable") } @@ -6803,7 +6049,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) WhichOneof(d proto // 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_MsgEvaluateProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -6814,7 +6060,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) GetUnknown() proto // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -6826,7 +6072,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) SetUnknown(fields // 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_MsgEvaluateProjectEnrollmentResponse) IsValid() bool { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) IsValid() bool { return x != nil } @@ -6836,9 +6082,9 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgUpdateProjectEnrollmentResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6860,7 +6106,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) ProtoMethods() *pr } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6890,7 +6136,7 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) ProtoMethods() *pr }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgEvaluateProjectEnrollmentResponse) + x := input.Message.Interface().(*MsgUpdateProjectEnrollmentResponse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6922,10 +6168,10 @@ func (x *fastReflection_MsgEvaluateProjectEnrollmentResponse) ProtoMethods() *pr fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7048,7 +6294,7 @@ func (x *MsgCreateBatch) ProtoReflect() protoreflect.Message { } func (x *MsgCreateBatch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7960,7 +7206,7 @@ func (x *MsgCreateBatchResponse) ProtoReflect() protoreflect.Message { } func (x *MsgCreateBatchResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8437,7 +7683,7 @@ func (x *MsgMintBatchCredits) ProtoReflect() protoreflect.Message { } func (x *MsgMintBatchCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9079,7 +8325,7 @@ func (x *MsgMintBatchCreditsResponse) ProtoReflect() protoreflect.Message { } func (x *MsgMintBatchCreditsResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9439,7 +8685,7 @@ func (x *MsgSealBatch) ProtoReflect() protoreflect.Message { } func (x *MsgSealBatch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9919,7 +9165,7 @@ func (x *MsgSealBatchResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSealBatchResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10332,7 +9578,7 @@ func (x *MsgSend) ProtoReflect() protoreflect.Message { } func (x *MsgSend) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10907,7 +10153,7 @@ func (x *MsgSend_SendCredits) ProtoReflect() protoreflect.Message { } func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11573,7 +10819,7 @@ func (x *MsgSendResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSendResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11988,7 +11234,7 @@ func (x *MsgRetire) ProtoReflect() protoreflect.Message { } func (x *MsgRetire) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12615,7 +11861,7 @@ func (x *MsgRetireResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRetireResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13028,7 +12274,7 @@ func (x *MsgCancel) ProtoReflect() protoreflect.Message { } func (x *MsgCancel) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13593,7 +12839,7 @@ func (x *MsgCancelResponse) ProtoReflect() protoreflect.Message { } func (x *MsgCancelResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13955,7 +13201,7 @@ func (x *MsgUpdateClassAdmin) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassAdmin) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14497,7 +13743,7 @@ func (x *MsgUpdateClassAdminResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassAdminResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14953,7 +14199,7 @@ func (x *MsgUpdateClassIssuers) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassIssuers) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15585,7 +14831,7 @@ func (x *MsgUpdateClassIssuersResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassIssuersResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15947,7 +15193,7 @@ func (x *MsgUpdateClassMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16489,7 +15735,7 @@ func (x *MsgUpdateClassMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16851,7 +16097,7 @@ func (x *MsgUpdateProjectAdmin) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectAdmin) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17393,7 +16639,7 @@ func (x *MsgUpdateProjectAdminResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectAdminResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17755,7 +17001,7 @@ func (x *MsgUpdateProjectMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18297,7 +17543,7 @@ func (x *MsgUpdateProjectMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateProjectMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18712,7 +17958,7 @@ func (x *MsgBridge) ProtoReflect() protoreflect.Message { } func (x *MsgBridge) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19345,7 +18591,7 @@ func (x *MsgUpdateBatchMetadata) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateBatchMetadata) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19887,7 +19133,7 @@ func (x *MsgUpdateBatchMetadataResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateBatchMetadataResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20243,7 +19489,7 @@ func (x *MsgBridgeResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20609,7 +19855,7 @@ func (x *MsgBridgeReceive) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21330,7 +20576,7 @@ func (x *MsgBridgeReceive_Batch) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22032,7 +21278,7 @@ func (x *MsgBridgeReceive_Project) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22578,7 +21824,7 @@ func (x *MsgBridgeReceiveResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceiveResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23062,7 +22308,7 @@ func (x *MsgAddClassCreator) ProtoReflect() protoreflect.Message { } func (x *MsgAddClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23542,7 +22788,7 @@ func (x *MsgAddClassCreatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23902,7 +23148,7 @@ func (x *MsgSetClassCreatorAllowlist) ProtoReflect() protoreflect.Message { } func (x *MsgSetClassCreatorAllowlist) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24372,7 +23618,7 @@ func (x *MsgSetClassCreatorAllowlistResponse) ProtoReflect() protoreflect.Messag } func (x *MsgSetClassCreatorAllowlistResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24732,7 +23978,7 @@ func (x *MsgRemoveClassCreator) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveClassCreator) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25212,7 +24458,7 @@ func (x *MsgRemoveClassCreatorResponse) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveClassCreatorResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25572,7 +24818,7 @@ func (x *MsgUpdateClassFee) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassFee) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26067,7 +25313,7 @@ func (x *MsgUpdateClassFeeResponse) ProtoReflect() protoreflect.Message { } func (x *MsgUpdateClassFeeResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26427,7 +25673,7 @@ func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { } func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26907,7 +26153,7 @@ func (x *MsgAddAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27267,7 +26513,7 @@ func (x *MsgRemoveAllowedBridgeChain) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27747,7 +26993,7 @@ func (x *MsgRemoveAllowedBridgeChainResponse) ProtoReflect() protoreflect.Messag } func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28109,7 +27355,7 @@ func (x *MsgBurnRegen) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28651,7 +27897,7 @@ func (x *MsgBurnRegenResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29431,8 +28677,8 @@ func (x *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. -type MsgUpdateProjectEnrollment struct { +// MsgCreateOrUpdateApplication is the Msg/CreateOrUpdateApplication request type. +type MsgCreateOrUpdateApplication struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -29450,10 +28696,13 @@ type MsgUpdateProjectEnrollment struct { // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // withdraw is a boolean that indicates whether the application is being + // withdrawn rather than updated. + Withdraw bool `protobuf:"varint,5,opt,name=withdraw,proto3" json:"withdraw,omitempty"` } -func (x *MsgUpdateProjectEnrollment) Reset() { - *x = MsgUpdateProjectEnrollment{} +func (x *MsgCreateOrUpdateApplication) Reset() { + *x = MsgCreateOrUpdateApplication{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29461,54 +28710,61 @@ func (x *MsgUpdateProjectEnrollment) Reset() { } } -func (x *MsgUpdateProjectEnrollment) String() string { +func (x *MsgCreateOrUpdateApplication) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateProjectEnrollment) ProtoMessage() {} +func (*MsgCreateOrUpdateApplication) ProtoMessage() {} -// Deprecated: Use MsgUpdateProjectEnrollment.ProtoReflect.Descriptor instead. -func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgCreateOrUpdateApplication.ProtoReflect.Descriptor instead. +func (*MsgCreateOrUpdateApplication) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{8} } -func (x *MsgUpdateProjectEnrollment) GetProjectAdmin() string { +func (x *MsgCreateOrUpdateApplication) GetProjectAdmin() string { if x != nil { return x.ProjectAdmin } return "" } -func (x *MsgUpdateProjectEnrollment) GetProjectId() string { +func (x *MsgCreateOrUpdateApplication) GetProjectId() string { if x != nil { return x.ProjectId } return "" } -func (x *MsgUpdateProjectEnrollment) GetClassId() string { +func (x *MsgCreateOrUpdateApplication) GetClassId() string { if x != nil { return x.ClassId } return "" } -func (x *MsgUpdateProjectEnrollment) GetMetadata() string { +func (x *MsgCreateOrUpdateApplication) GetMetadata() string { if x != nil { return x.Metadata } return "" } -// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. -type MsgUpdateProjectEnrollmentResponse struct { +func (x *MsgCreateOrUpdateApplication) GetWithdraw() bool { + if x != nil { + return x.Withdraw + } + return false +} + +// MsgCreateOrUpdateApplicationResponse is the Msg/CreateOrUpdateApplication response type. +type MsgCreateOrUpdateApplicationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgUpdateProjectEnrollmentResponse) Reset() { - *x = MsgUpdateProjectEnrollmentResponse{} +func (x *MsgCreateOrUpdateApplicationResponse) Reset() { + *x = MsgCreateOrUpdateApplicationResponse{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29516,36 +28772,40 @@ func (x *MsgUpdateProjectEnrollmentResponse) Reset() { } } -func (x *MsgUpdateProjectEnrollmentResponse) String() string { +func (x *MsgCreateOrUpdateApplicationResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgCreateOrUpdateApplicationResponse) ProtoMessage() {} -// Deprecated: Use MsgUpdateProjectEnrollmentResponse.ProtoReflect.Descriptor instead. -func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgCreateOrUpdateApplicationResponse.ProtoReflect.Descriptor instead. +func (*MsgCreateOrUpdateApplicationResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{9} } -// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. -type MsgWithdrawProjectEnrollment struct { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +type MsgUpdateProjectEnrollment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // project_admin is the address of the account that is the admin of the - // project which is withdrawing its application to the credit class. - ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` - // application_id is the identifier of the application to withdraw. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // metadata is any optional arbitrary string with a maximum length of 256 characters - // that includes or references any metadata relevant to the withdrawal. This - // will only be included in events. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // issuer is the address of the account that is the issuer of the credit class + // which is updating the project enrollment status. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // project_id is the identifier of the project. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the identifier of the credit class. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // new_status is the new status of the project enrollment. + NewStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` + // metadata is any optiopnal arbitrary string with a maximum length of 256 characters + // that includes or references the reason for the approving, requesting changes + // to, or rejecting the application, or terminating the project. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (x *MsgWithdrawProjectEnrollment) Reset() { - *x = MsgWithdrawProjectEnrollment{} +func (x *MsgUpdateProjectEnrollment) Reset() { + *x = MsgUpdateProjectEnrollment{} if protoimpl.UnsafeEnabled { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29553,126 +28813,46 @@ func (x *MsgWithdrawProjectEnrollment) Reset() { } } -func (x *MsgWithdrawProjectEnrollment) String() string { +func (x *MsgUpdateProjectEnrollment) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgWithdrawProjectEnrollment) ProtoMessage() {} +func (*MsgUpdateProjectEnrollment) ProtoMessage() {} -// Deprecated: Use MsgWithdrawProjectEnrollment.ProtoReflect.Descriptor instead. -func (*MsgWithdrawProjectEnrollment) Descriptor() ([]byte, []int) { +// Deprecated: Use MsgUpdateProjectEnrollment.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{10} } -func (x *MsgWithdrawProjectEnrollment) GetProjectAdmin() string { +func (x *MsgUpdateProjectEnrollment) GetIssuer() string { if x != nil { - return x.ProjectAdmin + return x.Issuer } return "" } -func (x *MsgWithdrawProjectEnrollment) GetApplicationId() uint64 { - if x != nil { - return x.ApplicationId - } - return 0 -} - -func (x *MsgWithdrawProjectEnrollment) GetMetadata() string { +func (x *MsgUpdateProjectEnrollment) GetProjectId() string { if x != nil { - return x.Metadata + return x.ProjectId } return "" } -// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. -type MsgWithdrawProjectEnrollmentResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MsgWithdrawProjectEnrollmentResponse) Reset() { - *x = MsgWithdrawProjectEnrollmentResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgWithdrawProjectEnrollmentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgWithdrawProjectEnrollmentResponse) ProtoMessage() {} - -// Deprecated: Use MsgWithdrawProjectEnrollmentResponse.ProtoReflect.Descriptor instead. -func (*MsgWithdrawProjectEnrollmentResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} -} - -// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. -type MsgEvaluateProjectEnrollment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // issuer is the address of the account that is the issuer of the credit class - // which is evaluating the application. - Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // application_id is the identifier of the application to evaluate. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // evaluation is the evaluation of the application. - Evaluation ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"evaluation,omitempty"` - // metadata is any optiopnal arbitrary string with a maximum length of 256 characters - // that includes or references the reason for the approving, requesting changes - // to, or rejecting the application. - Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (x *MsgEvaluateProjectEnrollment) Reset() { - *x = MsgEvaluateProjectEnrollment{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MsgEvaluateProjectEnrollment) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MsgEvaluateProjectEnrollment) ProtoMessage() {} - -// Deprecated: Use MsgEvaluateProjectEnrollment.ProtoReflect.Descriptor instead. -func (*MsgEvaluateProjectEnrollment) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} -} - -func (x *MsgEvaluateProjectEnrollment) GetIssuer() string { +func (x *MsgUpdateProjectEnrollment) GetClassId() string { if x != nil { - return x.Issuer + return x.ClassId } return "" } -func (x *MsgEvaluateProjectEnrollment) GetApplicationId() uint64 { - if x != nil { - return x.ApplicationId - } - return 0 -} - -func (x *MsgEvaluateProjectEnrollment) GetEvaluation() ProjectEnrollmentStatus { +func (x *MsgUpdateProjectEnrollment) GetNewStatus() ProjectEnrollmentStatus { if x != nil { - return x.Evaluation + return x.NewStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (x *MsgEvaluateProjectEnrollment) GetMetadata() string { +func (x *MsgUpdateProjectEnrollment) GetMetadata() string { if x != nil { return x.Metadata } @@ -29680,30 +28860,30 @@ func (x *MsgEvaluateProjectEnrollment) GetMetadata() string { } // MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. -type MsgEvaluateProjectEnrollmentResponse struct { +type MsgUpdateProjectEnrollmentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *MsgEvaluateProjectEnrollmentResponse) Reset() { - *x = MsgEvaluateProjectEnrollmentResponse{} +func (x *MsgUpdateProjectEnrollmentResponse) Reset() { + *x = MsgUpdateProjectEnrollmentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MsgEvaluateProjectEnrollmentResponse) String() string { +func (x *MsgUpdateProjectEnrollmentResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MsgEvaluateProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} -// Deprecated: Use MsgEvaluateProjectEnrollmentResponse.ProtoReflect.Descriptor instead. -func (*MsgEvaluateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} +// Deprecated: Use MsgUpdateProjectEnrollmentResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{11} } // MsgCreateBatch is the Msg/CreateBatch request type. @@ -29746,7 +28926,7 @@ type MsgCreateBatch struct { func (x *MsgCreateBatch) Reset() { *x = MsgCreateBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29760,7 +28940,7 @@ func (*MsgCreateBatch) ProtoMessage() {} // Deprecated: Use MsgCreateBatch.ProtoReflect.Descriptor instead. func (*MsgCreateBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{12} } func (x *MsgCreateBatch) GetIssuer() string { @@ -29832,7 +29012,7 @@ type MsgCreateBatchResponse struct { func (x *MsgCreateBatchResponse) Reset() { *x = MsgCreateBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29846,7 +29026,7 @@ func (*MsgCreateBatchResponse) ProtoMessage() {} // Deprecated: Use MsgCreateBatchResponse.ProtoReflect.Descriptor instead. func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{13} } func (x *MsgCreateBatchResponse) GetBatchDenom() string { @@ -29879,7 +29059,7 @@ type MsgMintBatchCredits struct { func (x *MsgMintBatchCredits) Reset() { *x = MsgMintBatchCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29893,7 +29073,7 @@ func (*MsgMintBatchCredits) ProtoMessage() {} // Deprecated: Use MsgMintBatchCredits.ProtoReflect.Descriptor instead. func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{14} } func (x *MsgMintBatchCredits) GetIssuer() string { @@ -29934,7 +29114,7 @@ type MsgMintBatchCreditsResponse struct { func (x *MsgMintBatchCreditsResponse) Reset() { *x = MsgMintBatchCreditsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29948,7 +29128,7 @@ func (*MsgMintBatchCreditsResponse) ProtoMessage() {} // Deprecated: Use MsgMintBatchCreditsResponse.ProtoReflect.Descriptor instead. func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{15} } // MsgSealBatch is the Msg/MintBatchCredits request type. @@ -29967,7 +29147,7 @@ type MsgSealBatch struct { func (x *MsgSealBatch) Reset() { *x = MsgSealBatch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29981,7 +29161,7 @@ func (*MsgSealBatch) ProtoMessage() {} // Deprecated: Use MsgSealBatch.ProtoReflect.Descriptor instead. func (*MsgSealBatch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{16} } func (x *MsgSealBatch) GetIssuer() string { @@ -30008,7 +29188,7 @@ type MsgSealBatchResponse struct { func (x *MsgSealBatchResponse) Reset() { *x = MsgSealBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30022,7 +29202,7 @@ func (*MsgSealBatchResponse) ProtoMessage() {} // Deprecated: Use MsgSealBatchResponse.ProtoReflect.Descriptor instead. func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{17} } // MsgSend is the Msg/Send request type. @@ -30042,7 +29222,7 @@ type MsgSend struct { func (x *MsgSend) Reset() { *x = MsgSend{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30056,7 +29236,7 @@ func (*MsgSend) ProtoMessage() {} // Deprecated: Use MsgSend.ProtoReflect.Descriptor instead. func (*MsgSend) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18} } func (x *MsgSend) GetSender() string { @@ -30090,7 +29270,7 @@ type MsgSendResponse struct { func (x *MsgSendResponse) Reset() { *x = MsgSendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30104,7 +29284,7 @@ func (*MsgSendResponse) ProtoMessage() {} // Deprecated: Use MsgSendResponse.ProtoReflect.Descriptor instead. func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{19} } // MsgRetire is the Msg/Retire request type. @@ -30135,7 +29315,7 @@ type MsgRetire struct { func (x *MsgRetire) Reset() { *x = MsgRetire{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30149,7 +29329,7 @@ func (*MsgRetire) ProtoMessage() {} // Deprecated: Use MsgRetire.ProtoReflect.Descriptor instead. func (*MsgRetire) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20} } func (x *MsgRetire) GetOwner() string { @@ -30190,7 +29370,7 @@ type MsgRetireResponse struct { func (x *MsgRetireResponse) Reset() { *x = MsgRetireResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30204,7 +29384,7 @@ func (*MsgRetireResponse) ProtoMessage() {} // Deprecated: Use MsgRetireResponse.ProtoReflect.Descriptor instead. func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{21} } // MsgCancel is the Msg/Cancel request type. @@ -30225,7 +29405,7 @@ type MsgCancel struct { func (x *MsgCancel) Reset() { *x = MsgCancel{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30239,7 +29419,7 @@ func (*MsgCancel) ProtoMessage() {} // Deprecated: Use MsgCancel.ProtoReflect.Descriptor instead. func (*MsgCancel) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{22} } func (x *MsgCancel) GetOwner() string { @@ -30273,7 +29453,7 @@ type MsgCancelResponse struct { func (x *MsgCancelResponse) Reset() { *x = MsgCancelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30287,7 +29467,7 @@ func (*MsgCancelResponse) ProtoMessage() {} // Deprecated: Use MsgCancelResponse.ProtoReflect.Descriptor instead. func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{23} } // MsgUpdateClassAdmin is the Msg/UpdateClassAdmin request type. @@ -30309,7 +29489,7 @@ type MsgUpdateClassAdmin struct { func (x *MsgUpdateClassAdmin) Reset() { *x = MsgUpdateClassAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30323,7 +29503,7 @@ func (*MsgUpdateClassAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{24} } func (x *MsgUpdateClassAdmin) GetAdmin() string { @@ -30357,7 +29537,7 @@ type MsgUpdateClassAdminResponse struct { func (x *MsgUpdateClassAdminResponse) Reset() { *x = MsgUpdateClassAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30371,7 +29551,7 @@ func (*MsgUpdateClassAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{25} } // MsgUpdateClassIssuers is the Msg/UpdateClassIssuers request type. @@ -30395,7 +29575,7 @@ type MsgUpdateClassIssuers struct { func (x *MsgUpdateClassIssuers) Reset() { *x = MsgUpdateClassIssuers{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30409,7 +29589,7 @@ func (*MsgUpdateClassIssuers) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuers.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{26} } func (x *MsgUpdateClassIssuers) GetAdmin() string { @@ -30450,7 +29630,7 @@ type MsgUpdateClassIssuersResponse struct { func (x *MsgUpdateClassIssuersResponse) Reset() { *x = MsgUpdateClassIssuersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30464,7 +29644,7 @@ func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassIssuersResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{27} } // MsgUpdateClassMetadata is the Msg/UpdateClassMetadata request type. @@ -30486,7 +29666,7 @@ type MsgUpdateClassMetadata struct { func (x *MsgUpdateClassMetadata) Reset() { *x = MsgUpdateClassMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30500,7 +29680,7 @@ func (*MsgUpdateClassMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{28} } func (x *MsgUpdateClassMetadata) GetAdmin() string { @@ -30534,7 +29714,7 @@ type MsgUpdateClassMetadataResponse struct { func (x *MsgUpdateClassMetadataResponse) Reset() { *x = MsgUpdateClassMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30548,7 +29728,7 @@ func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{29} } // MsgUpdateProjectAdmin is the Msg/UpdateProjectAdmin request type. @@ -30570,7 +29750,7 @@ type MsgUpdateProjectAdmin struct { func (x *MsgUpdateProjectAdmin) Reset() { *x = MsgUpdateProjectAdmin{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30584,7 +29764,7 @@ func (*MsgUpdateProjectAdmin) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdmin.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{30} } func (x *MsgUpdateProjectAdmin) GetAdmin() string { @@ -30618,7 +29798,7 @@ type MsgUpdateProjectAdminResponse struct { func (x *MsgUpdateProjectAdminResponse) Reset() { *x = MsgUpdateProjectAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30632,7 +29812,7 @@ func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectAdminResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{31} } // MsgUpdateProjectMetadata is the Msg/UpdateProjectMetadata request type. @@ -30654,7 +29834,7 @@ type MsgUpdateProjectMetadata struct { func (x *MsgUpdateProjectMetadata) Reset() { *x = MsgUpdateProjectMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30668,7 +29848,7 @@ func (*MsgUpdateProjectMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{32} } func (x *MsgUpdateProjectMetadata) GetAdmin() string { @@ -30703,7 +29883,7 @@ type MsgUpdateProjectMetadataResponse struct { func (x *MsgUpdateProjectMetadataResponse) Reset() { *x = MsgUpdateProjectMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30717,7 +29897,7 @@ func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateProjectMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{33} } // MsgBridge is the Msg/Bridge request type. @@ -30739,7 +29919,7 @@ type MsgBridge struct { func (x *MsgBridge) Reset() { *x = MsgBridge{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30753,7 +29933,7 @@ func (*MsgBridge) ProtoMessage() {} // Deprecated: Use MsgBridge.ProtoReflect.Descriptor instead. func (*MsgBridge) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{34} } func (x *MsgBridge) GetOwner() string { @@ -30805,7 +29985,7 @@ type MsgUpdateBatchMetadata struct { func (x *MsgUpdateBatchMetadata) Reset() { *x = MsgUpdateBatchMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30819,7 +29999,7 @@ func (*MsgUpdateBatchMetadata) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadata.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{35} } func (x *MsgUpdateBatchMetadata) GetIssuer() string { @@ -30856,7 +30036,7 @@ type MsgUpdateBatchMetadataResponse struct { func (x *MsgUpdateBatchMetadataResponse) Reset() { *x = MsgUpdateBatchMetadataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30870,7 +30050,7 @@ func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateBatchMetadataResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{36} } // MsgBridgeResponse is the Msg/Bridge response type. @@ -30883,7 +30063,7 @@ type MsgBridgeResponse struct { func (x *MsgBridgeResponse) Reset() { *x = MsgBridgeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30897,7 +30077,7 @@ func (*MsgBridgeResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{37} } // MsgBridgeReceive is the Msg/BridgeReceive request type. @@ -30923,7 +30103,7 @@ type MsgBridgeReceive struct { func (x *MsgBridgeReceive) Reset() { *x = MsgBridgeReceive{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30937,7 +30117,7 @@ func (*MsgBridgeReceive) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38} } func (x *MsgBridgeReceive) GetIssuer() string { @@ -30992,7 +30172,7 @@ type MsgBridgeReceiveResponse struct { func (x *MsgBridgeReceiveResponse) Reset() { *x = MsgBridgeReceiveResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31006,7 +30186,7 @@ func (*MsgBridgeReceiveResponse) ProtoMessage() {} // Deprecated: Use MsgBridgeReceiveResponse.ProtoReflect.Descriptor instead. func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{39} } func (x *MsgBridgeReceiveResponse) GetBatchDenom() string { @@ -31040,7 +30220,7 @@ type MsgAddClassCreator struct { func (x *MsgAddClassCreator) Reset() { *x = MsgAddClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31054,7 +30234,7 @@ func (*MsgAddClassCreator) ProtoMessage() {} // Deprecated: Use MsgAddClassCreator.ProtoReflect.Descriptor instead. func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40} } func (x *MsgAddClassCreator) GetAuthority() string { @@ -31083,7 +30263,7 @@ type MsgAddClassCreatorResponse struct { func (x *MsgAddClassCreatorResponse) Reset() { *x = MsgAddClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31097,7 +30277,7 @@ func (*MsgAddClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgAddClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{41} } // MsgSetClassCreatorAllowlist is the Msg/SetClassCreatorAllowlist request @@ -31118,7 +30298,7 @@ type MsgSetClassCreatorAllowlist struct { func (x *MsgSetClassCreatorAllowlist) Reset() { *x = MsgSetClassCreatorAllowlist{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31132,7 +30312,7 @@ func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlist.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{42} } func (x *MsgSetClassCreatorAllowlist) GetAuthority() string { @@ -31162,7 +30342,7 @@ type MsgSetClassCreatorAllowlistResponse struct { func (x *MsgSetClassCreatorAllowlistResponse) Reset() { *x = MsgSetClassCreatorAllowlistResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31176,7 +30356,7 @@ func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} // Deprecated: Use MsgSetClassCreatorAllowlistResponse.ProtoReflect.Descriptor instead. func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{43} } // MsgRemoveClassCreator is the Msg/RemoveClassCreator request type. @@ -31196,7 +30376,7 @@ type MsgRemoveClassCreator struct { func (x *MsgRemoveClassCreator) Reset() { *x = MsgRemoveClassCreator{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31210,7 +30390,7 @@ func (*MsgRemoveClassCreator) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreator.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{44} } func (x *MsgRemoveClassCreator) GetAuthority() string { @@ -31239,7 +30419,7 @@ type MsgRemoveClassCreatorResponse struct { func (x *MsgRemoveClassCreatorResponse) Reset() { *x = MsgRemoveClassCreatorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31253,7 +30433,7 @@ func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveClassCreatorResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{45} } // MsgUpdateClassFee is the Msg/UpdateClassFee request type. @@ -31274,7 +30454,7 @@ type MsgUpdateClassFee struct { func (x *MsgUpdateClassFee) Reset() { *x = MsgUpdateClassFee{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31288,7 +30468,7 @@ func (*MsgUpdateClassFee) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFee.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{46} } func (x *MsgUpdateClassFee) GetAuthority() string { @@ -31317,7 +30497,7 @@ type MsgUpdateClassFeeResponse struct { func (x *MsgUpdateClassFeeResponse) Reset() { *x = MsgUpdateClassFeeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31331,7 +30511,7 @@ func (*MsgUpdateClassFeeResponse) ProtoMessage() {} // Deprecated: Use MsgUpdateClassFeeResponse.ProtoReflect.Descriptor instead. func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} } // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. @@ -31352,7 +30532,7 @@ type MsgAddAllowedBridgeChain struct { func (x *MsgAddAllowedBridgeChain) Reset() { *x = MsgAddAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31366,7 +30546,7 @@ func (*MsgAddAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} } func (x *MsgAddAllowedBridgeChain) GetAuthority() string { @@ -31396,7 +30576,7 @@ type MsgAddAllowedBridgeChainResponse struct { func (x *MsgAddAllowedBridgeChainResponse) Reset() { *x = MsgAddAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31410,7 +30590,7 @@ func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} } // MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. @@ -31431,7 +30611,7 @@ type MsgRemoveAllowedBridgeChain struct { func (x *MsgRemoveAllowedBridgeChain) Reset() { *x = MsgRemoveAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31445,7 +30625,7 @@ func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} } func (x *MsgRemoveAllowedBridgeChain) GetAuthority() string { @@ -31475,7 +30655,7 @@ type MsgRemoveAllowedBridgeChainResponse struct { func (x *MsgRemoveAllowedBridgeChainResponse) Reset() { *x = MsgRemoveAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31489,7 +30669,7 @@ func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} } // MsgBurnRegen is the Msg/BurnRegen request type. @@ -31512,7 +30692,7 @@ type MsgBurnRegen struct { func (x *MsgBurnRegen) Reset() { *x = MsgBurnRegen{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31526,7 +30706,7 @@ func (*MsgBurnRegen) ProtoMessage() {} // Deprecated: Use MsgBurnRegen.ProtoReflect.Descriptor instead. func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{54} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} } func (x *MsgBurnRegen) GetBurner() string { @@ -31562,7 +30742,7 @@ type MsgBurnRegenResponse struct { func (x *MsgBurnRegenResponse) Reset() { *x = MsgBurnRegenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31576,7 +30756,7 @@ func (*MsgBurnRegenResponse) ProtoMessage() {} // Deprecated: Use MsgBurnRegenResponse.ProtoReflect.Descriptor instead. func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{55} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} } // SendCredits specifies the amount of tradable and retired credits of a @@ -31616,7 +30796,7 @@ type MsgSend_SendCredits struct { func (x *MsgSend_SendCredits) Reset() { *x = MsgSend_SendCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31630,7 +30810,7 @@ func (*MsgSend_SendCredits) ProtoMessage() {} // Deprecated: Use MsgSend_SendCredits.ProtoReflect.Descriptor instead. func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{20, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{18, 0} } func (x *MsgSend_SendCredits) GetBatchDenom() string { @@ -31693,7 +30873,7 @@ type MsgBridgeReceive_Batch struct { func (x *MsgBridgeReceive_Batch) Reset() { *x = MsgBridgeReceive_Batch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31707,7 +30887,7 @@ func (*MsgBridgeReceive_Batch) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Batch.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40, 0} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38, 0} } func (x *MsgBridgeReceive_Batch) GetRecipient() string { @@ -31764,7 +30944,7 @@ type MsgBridgeReceive_Project struct { func (x *MsgBridgeReceive_Project) Reset() { *x = MsgBridgeReceive_Project{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31778,7 +30958,7 @@ func (*MsgBridgeReceive_Project) ProtoMessage() {} // Deprecated: Use MsgBridgeReceive_Project.ProtoReflect.Descriptor instead. func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{40, 1} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{38, 1} } func (x *MsgBridgeReceive_Project) GetReferenceId() string { @@ -31874,525 +31054,507 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 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, 0x22, 0xab, 0x01, 0x0a, 0x1a, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, - 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, - 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, - 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x1c, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x01, + 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 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, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, + 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, + 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, + 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, + 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, - 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, - 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, + 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, + 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, + 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, + 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, + 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, - 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 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, 0x1b, - 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, - 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, - 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, - 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, - 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, - 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, - 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, - 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 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, 0x46, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, - 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, - 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, + 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, + 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, + 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, + 0x0a, 0x1d, 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, 0x22, + 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, + 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, + 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, + 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, - 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, - 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, + 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, + 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, + 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, + 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, + 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, + 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, + 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, + 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, + 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, + 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, + 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, + 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, - 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, - 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, - 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, - 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x81, 0x18, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x36, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, - 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, - 0x01, 0x0a, 0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x38, + 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, + 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, + 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, + 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, + 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, + 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, + 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, + 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x32, 0xf7, 0x16, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, - 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, - 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, - 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, + 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, + 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, + 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, + 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, + 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, - 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, + 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, - 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, - 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, + 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, + 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, - 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, - 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, - 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, + 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, + 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -32407,7 +31569,7 @@ func file_regen_ecocredit_v1_tx_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_tx_proto_rawDescData } -var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 59) +var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 57) var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgAddCreditType)(nil), // 0: regen.ecocredit.v1.MsgAddCreditType (*MsgAddCreditTypeResponse)(nil), // 1: regen.ecocredit.v1.MsgAddCreditTypeResponse @@ -32417,143 +31579,139 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgCreateProjectResponse)(nil), // 5: regen.ecocredit.v1.MsgCreateProjectResponse (*MsgCreateUnregisteredProject)(nil), // 6: regen.ecocredit.v1.MsgCreateUnregisteredProject (*MsgCreateUnregisteredProjectResponse)(nil), // 7: regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - (*MsgUpdateProjectEnrollment)(nil), // 8: regen.ecocredit.v1.MsgUpdateProjectEnrollment - (*MsgUpdateProjectEnrollmentResponse)(nil), // 9: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse - (*MsgWithdrawProjectEnrollment)(nil), // 10: regen.ecocredit.v1.MsgWithdrawProjectEnrollment - (*MsgWithdrawProjectEnrollmentResponse)(nil), // 11: regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse - (*MsgEvaluateProjectEnrollment)(nil), // 12: regen.ecocredit.v1.MsgEvaluateProjectEnrollment - (*MsgEvaluateProjectEnrollmentResponse)(nil), // 13: regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse - (*MsgCreateBatch)(nil), // 14: regen.ecocredit.v1.MsgCreateBatch - (*MsgCreateBatchResponse)(nil), // 15: regen.ecocredit.v1.MsgCreateBatchResponse - (*MsgMintBatchCredits)(nil), // 16: regen.ecocredit.v1.MsgMintBatchCredits - (*MsgMintBatchCreditsResponse)(nil), // 17: regen.ecocredit.v1.MsgMintBatchCreditsResponse - (*MsgSealBatch)(nil), // 18: regen.ecocredit.v1.MsgSealBatch - (*MsgSealBatchResponse)(nil), // 19: regen.ecocredit.v1.MsgSealBatchResponse - (*MsgSend)(nil), // 20: regen.ecocredit.v1.MsgSend - (*MsgSendResponse)(nil), // 21: regen.ecocredit.v1.MsgSendResponse - (*MsgRetire)(nil), // 22: regen.ecocredit.v1.MsgRetire - (*MsgRetireResponse)(nil), // 23: regen.ecocredit.v1.MsgRetireResponse - (*MsgCancel)(nil), // 24: regen.ecocredit.v1.MsgCancel - (*MsgCancelResponse)(nil), // 25: regen.ecocredit.v1.MsgCancelResponse - (*MsgUpdateClassAdmin)(nil), // 26: regen.ecocredit.v1.MsgUpdateClassAdmin - (*MsgUpdateClassAdminResponse)(nil), // 27: regen.ecocredit.v1.MsgUpdateClassAdminResponse - (*MsgUpdateClassIssuers)(nil), // 28: regen.ecocredit.v1.MsgUpdateClassIssuers - (*MsgUpdateClassIssuersResponse)(nil), // 29: regen.ecocredit.v1.MsgUpdateClassIssuersResponse - (*MsgUpdateClassMetadata)(nil), // 30: regen.ecocredit.v1.MsgUpdateClassMetadata - (*MsgUpdateClassMetadataResponse)(nil), // 31: regen.ecocredit.v1.MsgUpdateClassMetadataResponse - (*MsgUpdateProjectAdmin)(nil), // 32: regen.ecocredit.v1.MsgUpdateProjectAdmin - (*MsgUpdateProjectAdminResponse)(nil), // 33: regen.ecocredit.v1.MsgUpdateProjectAdminResponse - (*MsgUpdateProjectMetadata)(nil), // 34: regen.ecocredit.v1.MsgUpdateProjectMetadata - (*MsgUpdateProjectMetadataResponse)(nil), // 35: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - (*MsgBridge)(nil), // 36: regen.ecocredit.v1.MsgBridge - (*MsgUpdateBatchMetadata)(nil), // 37: regen.ecocredit.v1.MsgUpdateBatchMetadata - (*MsgUpdateBatchMetadataResponse)(nil), // 38: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - (*MsgBridgeResponse)(nil), // 39: regen.ecocredit.v1.MsgBridgeResponse - (*MsgBridgeReceive)(nil), // 40: regen.ecocredit.v1.MsgBridgeReceive - (*MsgBridgeReceiveResponse)(nil), // 41: regen.ecocredit.v1.MsgBridgeReceiveResponse - (*MsgAddClassCreator)(nil), // 42: regen.ecocredit.v1.MsgAddClassCreator - (*MsgAddClassCreatorResponse)(nil), // 43: regen.ecocredit.v1.MsgAddClassCreatorResponse - (*MsgSetClassCreatorAllowlist)(nil), // 44: regen.ecocredit.v1.MsgSetClassCreatorAllowlist - (*MsgSetClassCreatorAllowlistResponse)(nil), // 45: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - (*MsgRemoveClassCreator)(nil), // 46: regen.ecocredit.v1.MsgRemoveClassCreator - (*MsgRemoveClassCreatorResponse)(nil), // 47: regen.ecocredit.v1.MsgRemoveClassCreatorResponse - (*MsgUpdateClassFee)(nil), // 48: regen.ecocredit.v1.MsgUpdateClassFee - (*MsgUpdateClassFeeResponse)(nil), // 49: regen.ecocredit.v1.MsgUpdateClassFeeResponse - (*MsgAddAllowedBridgeChain)(nil), // 50: regen.ecocredit.v1.MsgAddAllowedBridgeChain - (*MsgAddAllowedBridgeChainResponse)(nil), // 51: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - (*MsgRemoveAllowedBridgeChain)(nil), // 52: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - (*MsgRemoveAllowedBridgeChainResponse)(nil), // 53: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - (*MsgBurnRegen)(nil), // 54: regen.ecocredit.v1.MsgBurnRegen - (*MsgBurnRegenResponse)(nil), // 55: regen.ecocredit.v1.MsgBurnRegenResponse - (*MsgSend_SendCredits)(nil), // 56: regen.ecocredit.v1.MsgSend.SendCredits - (*MsgBridgeReceive_Batch)(nil), // 57: regen.ecocredit.v1.MsgBridgeReceive.Batch - (*MsgBridgeReceive_Project)(nil), // 58: regen.ecocredit.v1.MsgBridgeReceive.Project - (*CreditType)(nil), // 59: regen.ecocredit.v1.CreditType - (*v1beta1.Coin)(nil), // 60: cosmos.base.v1beta1.Coin - (ProjectEnrollmentStatus)(0), // 61: regen.ecocredit.v1.ProjectEnrollmentStatus - (*BatchIssuance)(nil), // 62: regen.ecocredit.v1.BatchIssuance - (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp - (*OriginTx)(nil), // 64: regen.ecocredit.v1.OriginTx - (*Credits)(nil), // 65: regen.ecocredit.v1.Credits + (*MsgCreateOrUpdateApplication)(nil), // 8: regen.ecocredit.v1.MsgCreateOrUpdateApplication + (*MsgCreateOrUpdateApplicationResponse)(nil), // 9: regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse + (*MsgUpdateProjectEnrollment)(nil), // 10: regen.ecocredit.v1.MsgUpdateProjectEnrollment + (*MsgUpdateProjectEnrollmentResponse)(nil), // 11: regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse + (*MsgCreateBatch)(nil), // 12: regen.ecocredit.v1.MsgCreateBatch + (*MsgCreateBatchResponse)(nil), // 13: regen.ecocredit.v1.MsgCreateBatchResponse + (*MsgMintBatchCredits)(nil), // 14: regen.ecocredit.v1.MsgMintBatchCredits + (*MsgMintBatchCreditsResponse)(nil), // 15: regen.ecocredit.v1.MsgMintBatchCreditsResponse + (*MsgSealBatch)(nil), // 16: regen.ecocredit.v1.MsgSealBatch + (*MsgSealBatchResponse)(nil), // 17: regen.ecocredit.v1.MsgSealBatchResponse + (*MsgSend)(nil), // 18: regen.ecocredit.v1.MsgSend + (*MsgSendResponse)(nil), // 19: regen.ecocredit.v1.MsgSendResponse + (*MsgRetire)(nil), // 20: regen.ecocredit.v1.MsgRetire + (*MsgRetireResponse)(nil), // 21: regen.ecocredit.v1.MsgRetireResponse + (*MsgCancel)(nil), // 22: regen.ecocredit.v1.MsgCancel + (*MsgCancelResponse)(nil), // 23: regen.ecocredit.v1.MsgCancelResponse + (*MsgUpdateClassAdmin)(nil), // 24: regen.ecocredit.v1.MsgUpdateClassAdmin + (*MsgUpdateClassAdminResponse)(nil), // 25: regen.ecocredit.v1.MsgUpdateClassAdminResponse + (*MsgUpdateClassIssuers)(nil), // 26: regen.ecocredit.v1.MsgUpdateClassIssuers + (*MsgUpdateClassIssuersResponse)(nil), // 27: regen.ecocredit.v1.MsgUpdateClassIssuersResponse + (*MsgUpdateClassMetadata)(nil), // 28: regen.ecocredit.v1.MsgUpdateClassMetadata + (*MsgUpdateClassMetadataResponse)(nil), // 29: regen.ecocredit.v1.MsgUpdateClassMetadataResponse + (*MsgUpdateProjectAdmin)(nil), // 30: regen.ecocredit.v1.MsgUpdateProjectAdmin + (*MsgUpdateProjectAdminResponse)(nil), // 31: regen.ecocredit.v1.MsgUpdateProjectAdminResponse + (*MsgUpdateProjectMetadata)(nil), // 32: regen.ecocredit.v1.MsgUpdateProjectMetadata + (*MsgUpdateProjectMetadataResponse)(nil), // 33: regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + (*MsgBridge)(nil), // 34: regen.ecocredit.v1.MsgBridge + (*MsgUpdateBatchMetadata)(nil), // 35: regen.ecocredit.v1.MsgUpdateBatchMetadata + (*MsgUpdateBatchMetadataResponse)(nil), // 36: regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + (*MsgBridgeResponse)(nil), // 37: regen.ecocredit.v1.MsgBridgeResponse + (*MsgBridgeReceive)(nil), // 38: regen.ecocredit.v1.MsgBridgeReceive + (*MsgBridgeReceiveResponse)(nil), // 39: regen.ecocredit.v1.MsgBridgeReceiveResponse + (*MsgAddClassCreator)(nil), // 40: regen.ecocredit.v1.MsgAddClassCreator + (*MsgAddClassCreatorResponse)(nil), // 41: regen.ecocredit.v1.MsgAddClassCreatorResponse + (*MsgSetClassCreatorAllowlist)(nil), // 42: regen.ecocredit.v1.MsgSetClassCreatorAllowlist + (*MsgSetClassCreatorAllowlistResponse)(nil), // 43: regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + (*MsgRemoveClassCreator)(nil), // 44: regen.ecocredit.v1.MsgRemoveClassCreator + (*MsgRemoveClassCreatorResponse)(nil), // 45: regen.ecocredit.v1.MsgRemoveClassCreatorResponse + (*MsgUpdateClassFee)(nil), // 46: regen.ecocredit.v1.MsgUpdateClassFee + (*MsgUpdateClassFeeResponse)(nil), // 47: regen.ecocredit.v1.MsgUpdateClassFeeResponse + (*MsgAddAllowedBridgeChain)(nil), // 48: regen.ecocredit.v1.MsgAddAllowedBridgeChain + (*MsgAddAllowedBridgeChainResponse)(nil), // 49: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + (*MsgRemoveAllowedBridgeChain)(nil), // 50: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + (*MsgRemoveAllowedBridgeChainResponse)(nil), // 51: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + (*MsgBurnRegen)(nil), // 52: regen.ecocredit.v1.MsgBurnRegen + (*MsgBurnRegenResponse)(nil), // 53: regen.ecocredit.v1.MsgBurnRegenResponse + (*MsgSend_SendCredits)(nil), // 54: regen.ecocredit.v1.MsgSend.SendCredits + (*MsgBridgeReceive_Batch)(nil), // 55: regen.ecocredit.v1.MsgBridgeReceive.Batch + (*MsgBridgeReceive_Project)(nil), // 56: regen.ecocredit.v1.MsgBridgeReceive.Project + (*CreditType)(nil), // 57: regen.ecocredit.v1.CreditType + (*v1beta1.Coin)(nil), // 58: cosmos.base.v1beta1.Coin + (ProjectEnrollmentStatus)(0), // 59: regen.ecocredit.v1.ProjectEnrollmentStatus + (*BatchIssuance)(nil), // 60: regen.ecocredit.v1.BatchIssuance + (*timestamppb.Timestamp)(nil), // 61: google.protobuf.Timestamp + (*OriginTx)(nil), // 62: regen.ecocredit.v1.OriginTx + (*Credits)(nil), // 63: regen.ecocredit.v1.Credits } var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ - 59, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType - 60, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin - 61, // 2: regen.ecocredit.v1.MsgEvaluateProjectEnrollment.evaluation:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus - 62, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 63, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp - 63, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp - 64, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 62, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 64, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 56, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits - 65, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits - 65, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits - 65, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits - 58, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project - 57, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch - 64, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 60, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 63, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp - 63, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp + 57, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType + 58, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin + 59, // 2: regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 60, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 61, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp + 61, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp + 62, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 60, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 62, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 54, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits + 63, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits + 63, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits + 63, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits + 56, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project + 55, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch + 62, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 58, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 61, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp + 61, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp 2, // 19: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass 4, // 20: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject 6, // 21: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject - 8, // 22: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollment - 10, // 23: regen.ecocredit.v1.Msg.WithdrawProjectEnrollment:input_type -> regen.ecocredit.v1.MsgWithdrawProjectEnrollment - 12, // 24: regen.ecocredit.v1.Msg.EvaluateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgEvaluateProjectEnrollment - 14, // 25: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch - 16, // 26: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits - 18, // 27: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch - 20, // 28: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend - 22, // 29: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire - 24, // 30: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel - 26, // 31: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin - 28, // 32: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers - 30, // 33: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata - 32, // 34: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin - 34, // 35: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata - 37, // 36: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata - 36, // 37: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge - 40, // 38: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive - 0, // 39: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType - 44, // 40: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist - 42, // 41: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator - 46, // 42: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator - 48, // 43: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee - 50, // 44: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain - 52, // 45: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - 54, // 46: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen - 3, // 47: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse - 5, // 48: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse - 7, // 49: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - 9, // 50: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse - 11, // 51: regen.ecocredit.v1.Msg.WithdrawProjectEnrollment:output_type -> regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse - 13, // 52: regen.ecocredit.v1.Msg.EvaluateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse - 15, // 53: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse - 17, // 54: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse - 19, // 55: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse - 21, // 56: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse - 23, // 57: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse - 25, // 58: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse - 27, // 59: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse - 29, // 60: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse - 31, // 61: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse - 33, // 62: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse - 35, // 63: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - 38, // 64: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - 39, // 65: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse - 41, // 66: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse - 1, // 67: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse - 45, // 68: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - 43, // 69: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse - 47, // 70: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse - 49, // 71: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse - 51, // 72: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - 53, // 73: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - 55, // 74: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse - 47, // [47:75] is the sub-list for method output_type - 19, // [19:47] is the sub-list for method input_type + 8, // 22: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:input_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplication + 10, // 23: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollment + 12, // 24: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch + 14, // 25: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits + 16, // 26: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch + 18, // 27: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend + 20, // 28: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire + 22, // 29: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel + 24, // 30: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin + 26, // 31: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers + 28, // 32: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata + 30, // 33: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin + 32, // 34: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata + 35, // 35: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata + 34, // 36: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge + 38, // 37: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive + 0, // 38: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType + 42, // 39: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist + 40, // 40: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator + 44, // 41: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator + 46, // 42: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee + 48, // 43: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain + 50, // 44: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + 52, // 45: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen + 3, // 46: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse + 5, // 47: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse + 7, // 48: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse + 9, // 49: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:output_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse + 11, // 50: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse + 13, // 51: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse + 15, // 52: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse + 17, // 53: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse + 19, // 54: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse + 21, // 55: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse + 23, // 56: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse + 25, // 57: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse + 27, // 58: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse + 29, // 59: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse + 31, // 60: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse + 33, // 61: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + 36, // 62: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + 37, // 63: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse + 39, // 64: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse + 1, // 65: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse + 43, // 66: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + 41, // 67: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse + 45, // 68: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse + 47, // 69: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse + 49, // 70: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + 51, // 71: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + 53, // 72: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse + 46, // [46:73] is the sub-list for method output_type + 19, // [19:46] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name @@ -32664,7 +31822,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectEnrollment); i { + switch v := v.(*MsgCreateOrUpdateApplication); i { case 0: return &v.state case 1: @@ -32676,7 +31834,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgUpdateProjectEnrollmentResponse); i { + switch v := v.(*MsgCreateOrUpdateApplicationResponse); i { case 0: return &v.state case 1: @@ -32688,7 +31846,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawProjectEnrollment); i { + switch v := v.(*MsgUpdateProjectEnrollment); i { case 0: return &v.state case 1: @@ -32700,7 +31858,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgWithdrawProjectEnrollmentResponse); i { + switch v := v.(*MsgUpdateProjectEnrollmentResponse); i { case 0: return &v.state case 1: @@ -32712,30 +31870,6 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateProjectEnrollment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_regen_ecocredit_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgEvaluateProjectEnrollmentResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_regen_ecocredit_v1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateBatch); i { case 0: return &v.state @@ -32747,7 +31881,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateBatchResponse); i { case 0: return &v.state @@ -32759,7 +31893,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgMintBatchCredits); i { case 0: return &v.state @@ -32771,7 +31905,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgMintBatchCreditsResponse); i { case 0: return &v.state @@ -32783,7 +31917,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSealBatch); i { case 0: return &v.state @@ -32795,7 +31929,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSealBatchResponse); i { case 0: return &v.state @@ -32807,7 +31941,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSend); i { case 0: return &v.state @@ -32819,7 +31953,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSendResponse); i { case 0: return &v.state @@ -32831,7 +31965,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRetire); i { case 0: return &v.state @@ -32843,7 +31977,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRetireResponse); i { case 0: return &v.state @@ -32855,7 +31989,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCancel); i { case 0: return &v.state @@ -32867,7 +32001,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCancelResponse); i { case 0: return &v.state @@ -32879,7 +32013,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassAdmin); i { case 0: return &v.state @@ -32891,7 +32025,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassAdminResponse); i { case 0: return &v.state @@ -32903,7 +32037,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassIssuers); i { case 0: return &v.state @@ -32915,7 +32049,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassIssuersResponse); i { case 0: return &v.state @@ -32927,7 +32061,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassMetadata); i { case 0: return &v.state @@ -32939,7 +32073,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassMetadataResponse); i { case 0: return &v.state @@ -32951,7 +32085,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectAdmin); i { case 0: return &v.state @@ -32963,7 +32097,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectAdminResponse); i { case 0: return &v.state @@ -32975,7 +32109,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectMetadata); i { case 0: return &v.state @@ -32987,7 +32121,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateProjectMetadataResponse); i { case 0: return &v.state @@ -32999,7 +32133,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridge); i { case 0: return &v.state @@ -33011,7 +32145,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateBatchMetadata); i { case 0: return &v.state @@ -33023,7 +32157,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateBatchMetadataResponse); i { case 0: return &v.state @@ -33035,7 +32169,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeResponse); i { case 0: return &v.state @@ -33047,7 +32181,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive); i { case 0: return &v.state @@ -33059,7 +32193,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceiveResponse); i { case 0: return &v.state @@ -33071,7 +32205,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddClassCreator); i { case 0: return &v.state @@ -33083,7 +32217,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddClassCreatorResponse); i { case 0: return &v.state @@ -33095,7 +32229,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSetClassCreatorAllowlist); i { case 0: return &v.state @@ -33107,7 +32241,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSetClassCreatorAllowlistResponse); i { case 0: return &v.state @@ -33119,7 +32253,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveClassCreator); i { case 0: return &v.state @@ -33131,7 +32265,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveClassCreatorResponse); i { case 0: return &v.state @@ -33143,7 +32277,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassFee); i { case 0: return &v.state @@ -33155,7 +32289,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgUpdateClassFeeResponse); i { case 0: return &v.state @@ -33167,7 +32301,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddAllowedBridgeChain); i { case 0: return &v.state @@ -33179,7 +32313,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgAddAllowedBridgeChainResponse); i { case 0: return &v.state @@ -33191,7 +32325,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveAllowedBridgeChain); i { case 0: return &v.state @@ -33203,7 +32337,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { case 0: return &v.state @@ -33215,7 +32349,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBurnRegen); i { case 0: return &v.state @@ -33227,7 +32361,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBurnRegenResponse); i { case 0: return &v.state @@ -33239,7 +32373,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgSend_SendCredits); i { case 0: return &v.state @@ -33251,7 +32385,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Batch); i { case 0: return &v.state @@ -33263,7 +32397,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { return nil } } - file_regen_ecocredit_v1_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Project); i { case 0: return &v.state @@ -33282,7 +32416,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 59, + NumMessages: 57, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index 6d4c2c6f20..efee7bc447 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -22,9 +22,8 @@ const ( Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" Msg_CreateProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateProject" Msg_CreateUnregisteredProject_FullMethodName = "/regen.ecocredit.v1.Msg/CreateUnregisteredProject" + Msg_CreateOrUpdateApplication_FullMethodName = "/regen.ecocredit.v1.Msg/CreateOrUpdateApplication" Msg_UpdateProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment" - Msg_WithdrawProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment" - Msg_EvaluateProjectEnrollment_FullMethodName = "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment" Msg_CreateBatch_FullMethodName = "/regen.ecocredit.v1.Msg/CreateBatch" Msg_MintBatchCredits_FullMethodName = "/regen.ecocredit.v1.Msg/MintBatchCredits" Msg_SealBatch_FullMethodName = "/regen.ecocredit.v1.Msg/SealBatch" @@ -70,35 +69,30 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectEnrollment creates a new project credit class application, updates - // an existing one or updates an existing relationship when changes are requested. - // A project may be enrolled in at most one credit class per credit type - // but can be enrolled in multiple credit classes across different credit - // types. This can be useful, for example for issuing pre-financing forward contracts - // while making progress towards issuing credits in an outcome based program. - // Projects that are already accepted into a credit class can only update - // their metadata when an issuer has changed the status of the relations - // to "changes requested". + // CreateOrUpdateApplicaton creates a new project credit class application, updates + // the metadata for an existing one when changes have been requested, or withdraws + // the application. // // Since Revision 3 - UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) - // WithdrawProjectEnrollment withdraws a project from a credit class application - // or enrollment unilaterally on the part of a project admin. - // - // Since Revision 3 - WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) - // EvaluateProjectClass allows a credit class issuer to evaluate a project - // application or existing relationship, either approving, requesting changes to, or - // rejecting it. Any issuer in the credit class may update the project credit - // class status using this method. If more sophisticated rules are required to coordinate - // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. Issuers may not admit projects into - // credit classes using this method without the project first creating an - // application. For an issuer to admit a project into a credit class without an + CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) + // UpdateProjectEnrollment allows a credit class issuer to evaluate a project + // application - either approving, requesting changes to, or + // rejecting it, or to terminate an existing enrollment. + // Any issuer in the credit class may update the project credit + // class enrollment status using this method. If more sophisticated rules are + // required to coordinate between different issuers, the credit class admin + // should set up an on or off-chain governance process to coordinate this. + // Issuers may not admit projects into credit classes using this method + // without the project first creating an application. For an issuer to + // admit a project into a credit class without an // application the CreateProject method should be used instead. // + // If a project has not yet been accepted then the issuer may change the + // status to either changes requested, accepted or rejected. If the status + // is already accepted, the issuer may only change the status to terminated. + // // Since Revision 3 - EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) + UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -252,27 +246,18 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { - out := new(MsgUpdateProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectEnrollment_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) { - out := new(MsgWithdrawProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, Msg_WithdrawProjectEnrollment_FullMethodName, in, out, opts...) +func (c *msgClient) CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) { + out := new(MsgCreateOrUpdateApplicationResponse) + err := c.cc.Invoke(ctx, Msg_CreateOrUpdateApplication_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) { - out := new(MsgEvaluateProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, Msg_EvaluateProjectEnrollment_FullMethodName, in, out, opts...) +func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { + out := new(MsgUpdateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, Msg_UpdateProjectEnrollment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -498,35 +483,30 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectEnrollment creates a new project credit class application, updates - // an existing one or updates an existing relationship when changes are requested. - // A project may be enrolled in at most one credit class per credit type - // but can be enrolled in multiple credit classes across different credit - // types. This can be useful, for example for issuing pre-financing forward contracts - // while making progress towards issuing credits in an outcome based program. - // Projects that are already accepted into a credit class can only update - // their metadata when an issuer has changed the status of the relations - // to "changes requested". + // CreateOrUpdateApplicaton creates a new project credit class application, updates + // the metadata for an existing one when changes have been requested, or withdraws + // the application. // // Since Revision 3 - UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) - // WithdrawProjectEnrollment withdraws a project from a credit class application - // or enrollment unilaterally on the part of a project admin. - // - // Since Revision 3 - WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) - // EvaluateProjectClass allows a credit class issuer to evaluate a project - // application or existing relationship, either approving, requesting changes to, or - // rejecting it. Any issuer in the credit class may update the project credit - // class status using this method. If more sophisticated rules are required to coordinate - // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. Issuers may not admit projects into - // credit classes using this method without the project first creating an - // application. For an issuer to admit a project into a credit class without an + CreateOrUpdateApplication(context.Context, *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) + // UpdateProjectEnrollment allows a credit class issuer to evaluate a project + // application - either approving, requesting changes to, or + // rejecting it, or to terminate an existing enrollment. + // Any issuer in the credit class may update the project credit + // class enrollment status using this method. If more sophisticated rules are + // required to coordinate between different issuers, the credit class admin + // should set up an on or off-chain governance process to coordinate this. + // Issuers may not admit projects into credit classes using this method + // without the project first creating an application. For an issuer to + // admit a project into a credit class without an // application the CreateProject method should be used instead. // + // If a project has not yet been accepted then the issuer may change the + // status to either changes requested, accepted or rejected. If the status + // is already accepted, the issuer may only change the status to terminated. + // // Since Revision 3 - EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) + UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -659,15 +639,12 @@ func (UnimplementedMsgServer) CreateProject(context.Context, *MsgCreateProject) func (UnimplementedMsgServer) CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } +func (UnimplementedMsgServer) CreateOrUpdateApplication(context.Context, *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOrUpdateApplication not implemented") +} func (UnimplementedMsgServer) UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectEnrollment not implemented") } -func (UnimplementedMsgServer) WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectEnrollment not implemented") -} -func (UnimplementedMsgServer) EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectEnrollment not implemented") -} func (UnimplementedMsgServer) CreateBatch(context.Context, *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") } @@ -801,56 +778,38 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectEnrollment) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Msg_UpdateProjectEnrollment_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_WithdrawProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawProjectEnrollment) +func _Msg_CreateOrUpdateApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateOrUpdateApplication) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawProjectEnrollment(ctx, in) + return srv.(MsgServer).CreateOrUpdateApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_WithdrawProjectEnrollment_FullMethodName, + FullMethod: Msg_CreateOrUpdateApplication_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawProjectEnrollment(ctx, req.(*MsgWithdrawProjectEnrollment)) + return srv.(MsgServer).CreateOrUpdateApplication(ctx, req.(*MsgCreateOrUpdateApplication)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateProjectEnrollment) +func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateProjectEnrollment(ctx, in) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: Msg_EvaluateProjectEnrollment_FullMethodName, + FullMethod: Msg_UpdateProjectEnrollment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateProjectEnrollment(ctx, req.(*MsgEvaluateProjectEnrollment)) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } @@ -1271,16 +1230,12 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "UpdateProjectEnrollment", - Handler: _Msg_UpdateProjectEnrollment_Handler, - }, - { - MethodName: "WithdrawProjectEnrollment", - Handler: _Msg_WithdrawProjectEnrollment_Handler, + MethodName: "CreateOrUpdateApplication", + Handler: _Msg_CreateOrUpdateApplication_Handler, }, { - MethodName: "EvaluateProjectEnrollment", - Handler: _Msg_EvaluateProjectEnrollment_Handler, + MethodName: "UpdateProjectEnrollment", + Handler: _Msg_UpdateProjectEnrollment_Handler, }, { MethodName: "CreateBatch", diff --git a/proto/regen/ecocredit/v1/events.proto b/proto/regen/ecocredit/v1/events.proto index cf42cd6e6a..dc8d94b9a3 100644 --- a/proto/regen/ecocredit/v1/events.proto +++ b/proto/regen/ecocredit/v1/events.proto @@ -261,37 +261,43 @@ message EventBurnRegen { string reason = 3; } -// EventUpdateProjectClass is emitted when a project admin submits or updates -// a project class relationship's metadata, usually relating to credit class -// application. -message EventUpdateProjectClass { +// EventUpdateApplication is emitted when a project admin creates, updates +// or withdraws a project's application to a credit class. +message EventUpdateApplication { // project_id is the unique identifier of the project that was updated. string project_id = 1; // class_id is the unique identifier of the class that was updated. string class_id = 2; - // new_project_metadata is the new project metadata. - string new_project_metadata = 3; -} + // Action describes an action taken on an application. + enum Action { + // ACTION_UNSPECIFIED is the default value for the action and is invalid. + ACTION_UNSPECIFIED = 0; -// EventWithdrawProjectClass is emitted when a project admin withdraws a project -// from a credit class. -message EventWithdrawProjectClass { - // project_id is the unique identifier of the project which withdrew from the - // class. - string project_id = 1; + // ACTION_CREATE is the action taken when a project admin creates an + // application to a credit class. + ACTION_CREATE = 1; - // class_id is the unique identifier of the class that was withdrawn from. - string class_id = 2; + // ACTION_UPDATE is the action taken when a project admin updates an + // application to a credit class. + ACTION_UPDATE = 2; + + // ACTION_WITHDRAW is the action taken when a project admin withdraws an + // application to a credit class. + ACTION_WITHDRAW = 3; + } + + // action is the action that was taken on the application. + Action action = 3; - // old_status is the old status of the project class relationship before withdrawal. - ProjectEnrollmentStatus old_status = 3; + // new_application_metadata is any new application metadata. + string new_application_metadata = 4; } -// EventEvaluateProjectClass is emitted when a project class relationship is -// evaluated by a credit class issuer. -message EventEvaluateProjectClass { +// EventUpdateProjectEnrollment is emitted when a credit class issuer updates +// the enrollment status of a project. +message EventUpdateProjectEnrollment { // issuer is the address of the credit class issuer which evaluated the // project. string issuer = 1; @@ -309,6 +315,6 @@ message EventEvaluateProjectClass { // new_status is the new status of the project class relationship. ProjectEnrollmentStatus new_status = 5; - // new_class_metadata is any new class metadata. - string new_class_metadata = 6; + // new_enrollment_metadata is any new enrollment metadata. + string new_enrollment_metadata = 6; } \ No newline at end of file diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index ad2953aa8a..097c95f246 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -407,15 +407,13 @@ message ProjectEnrollment { // status is the status of the enrollment. ProjectEnrollmentStatus status = 4; - // project_metadata is any arbitrary metadata set by the project - // admin. This should primarily be used to store metadata regarding the project's - // application to the credit class. - string project_metadata = 5; - - // class_metadata is any arbitrary metadata set by a credit - // class issuer. This should primarily be used to store metadata regarding the - // project's application to the credit class. - string class_metadata = 6; + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + string application_metadata = 5; + + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + string enrollment_metadata = 6; } // Application represents the evaluation status that a credit class issuer diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index bb78493e5e..1e750a564e 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -35,40 +35,33 @@ service Msg { rpc CreateUnregisteredProject(MsgCreateUnregisteredProject) returns (MsgCreateUnregisteredProjectResponse); - // UpdateProjectEnrollment creates a new project credit class application, updates - // an existing one or updates an existing relationship when changes are requested. - // A project may be enrolled in at most one credit class per credit type - // but can be enrolled in multiple credit classes across different credit - // types. This can be useful, for example for issuing pre-financing forward contracts - // while making progress towards issuing credits in an outcome based program. - // Projects that are already accepted into a credit class can only update - // their metadata when an issuer has changed the status of the relations - // to "changes requested". + // CreateOrUpdateApplicaton creates a new project credit class application, updates + // the metadata for an existing one when changes have been requested, or withdraws + // the application. // // Since Revision 3 - rpc UpdateProjectEnrollment(MsgUpdateProjectEnrollment) - returns (MsgUpdateProjectEnrollmentResponse); - - // WithdrawProjectEnrollment withdraws a project from a credit class application - // or enrollment unilaterally on the part of a project admin. - // - // Since Revision 3 - rpc WithdrawProjectEnrollment(MsgWithdrawProjectEnrollment) - returns (MsgWithdrawProjectEnrollmentResponse); - - // EvaluateProjectClass allows a credit class issuer to evaluate a project - // application or existing relationship, either approving, requesting changes to, or - // rejecting it. Any issuer in the credit class may update the project credit - // class status using this method. If more sophisticated rules are required to coordinate - // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. Issuers may not admit projects into - // credit classes using this method without the project first creating an - // application. For an issuer to admit a project into a credit class without an + rpc CreateOrUpdateApplication(MsgCreateOrUpdateApplication) + returns (MsgCreateOrUpdateApplicationResponse); + + // UpdateProjectEnrollment allows a credit class issuer to evaluate a project + // application - either approving, requesting changes to, or + // rejecting it, or to terminate an existing enrollment. + // Any issuer in the credit class may update the project credit + // class enrollment status using this method. If more sophisticated rules are + // required to coordinate between different issuers, the credit class admin + // should set up an on or off-chain governance process to coordinate this. + // Issuers may not admit projects into credit classes using this method + // without the project first creating an application. For an issuer to + // admit a project into a credit class without an // application the CreateProject method should be used instead. // + // If a project has not yet been accepted then the issuer may change the + // status to either changes requested, accepted or rejected. If the status + // is already accepted, the issuer may only change the status to terminated. + // // Since Revision 3 - rpc EvaluateProjectEnrollment(MsgEvaluateProjectEnrollment) - returns (MsgEvaluateProjectEnrollmentResponse); + rpc UpdateProjectEnrollment(MsgUpdateProjectEnrollment) + returns (MsgUpdateProjectEnrollmentResponse); // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to @@ -347,8 +340,8 @@ message MsgCreateUnregisteredProjectResponse { string project_id = 1; } -// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. -message MsgUpdateProjectEnrollment { +// MsgCreateOrUpdateApplication is the Msg/CreateOrUpdateApplication request type. +message MsgCreateOrUpdateApplication { option (cosmos.msg.v1.signer) = "project_admin"; // project_admin is the address of the account that is the admin of the @@ -367,53 +360,40 @@ message MsgUpdateProjectEnrollment { // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. string metadata = 4; -} - -// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. -message MsgUpdateProjectEnrollmentResponse {} - -// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. -message MsgWithdrawProjectEnrollment { - option (cosmos.msg.v1.signer) = "project_admin"; - - // project_admin is the address of the account that is the admin of the - // project which is withdrawing its application to the credit class. - string project_admin = 1; - // application_id is the identifier of the application to withdraw. - uint64 application_id = 2; - - // metadata is any optional arbitrary string with a maximum length of 256 characters - // that includes or references any metadata relevant to the withdrawal. This - // will only be included in events. - string metadata = 3; + // withdraw is a boolean that indicates whether the application is being + // withdrawn rather than updated. + bool withdraw = 5; } -// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. -message MsgWithdrawProjectEnrollmentResponse {} +// MsgCreateOrUpdateApplicationResponse is the Msg/CreateOrUpdateApplication response type. +message MsgCreateOrUpdateApplicationResponse {} -// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. -message MsgEvaluateProjectEnrollment { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +message MsgUpdateProjectEnrollment { option (cosmos.msg.v1.signer) = "issuer"; // issuer is the address of the account that is the issuer of the credit class - // which is evaluating the application. + // which is updating the project enrollment status. string issuer = 1; - // application_id is the identifier of the application to evaluate. - uint64 application_id = 2; + // project_id is the identifier of the project. + string project_id = 2; - // evaluation is the evaluation of the application. - ProjectEnrollmentStatus evaluation = 3; + // class_id is the identifier of the credit class. + string class_id = 3; + + // new_status is the new status of the project enrollment. + ProjectEnrollmentStatus new_status = 4; // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes - // to, or rejecting the application. - string metadata = 4; + // to, or rejecting the application, or terminating the project. + string metadata = 5; } // MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. -message MsgEvaluateProjectEnrollmentResponse {} +message MsgUpdateProjectEnrollmentResponse {} // MsgCreateBatch is the Msg/CreateBatch request type. message MsgCreateBatch { diff --git a/x/ecocredit/base/types/v1/events.pb.go b/x/ecocredit/base/types/v1/events.pb.go index be7936e441..8e768a312c 100644 --- a/x/ecocredit/base/types/v1/events.pb.go +++ b/x/ecocredit/base/types/v1/events.pb.go @@ -22,6 +22,45 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +// Action describes an action taken on an application. +type EventUpdateApplication_Action int32 + +const ( + // ACTION_UNSPECIFIED is the default value for the action and is invalid. + EventUpdateApplication_ACTION_UNSPECIFIED EventUpdateApplication_Action = 0 + // ACTION_CREATE is the action taken when a project admin creates an + // application to a credit class. + EventUpdateApplication_ACTION_CREATE EventUpdateApplication_Action = 1 + // ACTION_UPDATE is the action taken when a project admin updates an + // application to a credit class. + EventUpdateApplication_ACTION_UPDATE EventUpdateApplication_Action = 2 + // ACTION_WITHDRAW is the action taken when a project admin withdraws an + // application to a credit class. + EventUpdateApplication_ACTION_WITHDRAW EventUpdateApplication_Action = 3 +) + +var EventUpdateApplication_Action_name = map[int32]string{ + 0: "ACTION_UNSPECIFIED", + 1: "ACTION_CREATE", + 2: "ACTION_UPDATE", + 3: "ACTION_WITHDRAW", +} + +var EventUpdateApplication_Action_value = map[string]int32{ + "ACTION_UNSPECIFIED": 0, + "ACTION_CREATE": 1, + "ACTION_UPDATE": 2, + "ACTION_WITHDRAW": 3, +} + +func (x EventUpdateApplication_Action) String() string { + return proto.EnumName(EventUpdateApplication_Action_name, int32(x)) +} + +func (EventUpdateApplication_Action) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_e32415575ff8b4b2, []int{19, 0} +} + // EventCreateClass is an event emitted when a credit class is created. type EventCreateClass struct { // class_id is the unique identifier of the credit class. @@ -1168,30 +1207,31 @@ func (m *EventBurnRegen) GetReason() string { return "" } -// EventUpdateProjectClass is emitted when a project admin submits or updates -// a project class relationship's metadata, usually relating to credit class -// application. -type EventUpdateProjectClass struct { +// EventUpdateApplication is emitted when a project admin creates, updates +// or withdraws a project's application to a credit class. +type EventUpdateApplication struct { // project_id is the unique identifier of the project that was updated. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // class_id is the unique identifier of the class that was updated. ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // new_project_metadata is the new project metadata. - NewProjectMetadata string `protobuf:"bytes,3,opt,name=new_project_metadata,json=newProjectMetadata,proto3" json:"new_project_metadata,omitempty"` + // action is the action that was taken on the application. + Action EventUpdateApplication_Action `protobuf:"varint,3,opt,name=action,proto3,enum=regen.ecocredit.v1.EventUpdateApplication_Action" json:"action,omitempty"` + // new_application_metadata is any new application metadata. + NewApplicationMetadata string `protobuf:"bytes,4,opt,name=new_application_metadata,json=newApplicationMetadata,proto3" json:"new_application_metadata,omitempty"` } -func (m *EventUpdateProjectClass) Reset() { *m = EventUpdateProjectClass{} } -func (m *EventUpdateProjectClass) String() string { return proto.CompactTextString(m) } -func (*EventUpdateProjectClass) ProtoMessage() {} -func (*EventUpdateProjectClass) Descriptor() ([]byte, []int) { +func (m *EventUpdateApplication) Reset() { *m = EventUpdateApplication{} } +func (m *EventUpdateApplication) String() string { return proto.CompactTextString(m) } +func (*EventUpdateApplication) ProtoMessage() {} +func (*EventUpdateApplication) Descriptor() ([]byte, []int) { return fileDescriptor_e32415575ff8b4b2, []int{19} } -func (m *EventUpdateProjectClass) XXX_Unmarshal(b []byte) error { +func (m *EventUpdateApplication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *EventUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *EventUpdateApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_EventUpdateProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_EventUpdateApplication.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1201,108 +1241,49 @@ func (m *EventUpdateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *EventUpdateProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_EventUpdateProjectClass.Merge(m, src) +func (m *EventUpdateApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventUpdateApplication.Merge(m, src) } -func (m *EventUpdateProjectClass) XXX_Size() int { +func (m *EventUpdateApplication) XXX_Size() int { return m.Size() } -func (m *EventUpdateProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_EventUpdateProjectClass.DiscardUnknown(m) +func (m *EventUpdateApplication) XXX_DiscardUnknown() { + xxx_messageInfo_EventUpdateApplication.DiscardUnknown(m) } -var xxx_messageInfo_EventUpdateProjectClass proto.InternalMessageInfo +var xxx_messageInfo_EventUpdateApplication proto.InternalMessageInfo -func (m *EventUpdateProjectClass) GetProjectId() string { +func (m *EventUpdateApplication) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *EventUpdateProjectClass) GetClassId() string { +func (m *EventUpdateApplication) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *EventUpdateProjectClass) GetNewProjectMetadata() string { - if m != nil { - return m.NewProjectMetadata - } - return "" -} - -// EventWithdrawProjectClass is emitted when a project admin withdraws a project -// from a credit class. -type EventWithdrawProjectClass struct { - // project_id is the unique identifier of the project which withdrew from the - // class. - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - // class_id is the unique identifier of the class that was withdrawn from. - ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` - // old_status is the old status of the project class relationship before withdrawal. - OldStatus ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` -} - -func (m *EventWithdrawProjectClass) Reset() { *m = EventWithdrawProjectClass{} } -func (m *EventWithdrawProjectClass) String() string { return proto.CompactTextString(m) } -func (*EventWithdrawProjectClass) ProtoMessage() {} -func (*EventWithdrawProjectClass) Descriptor() ([]byte, []int) { - return fileDescriptor_e32415575ff8b4b2, []int{20} -} -func (m *EventWithdrawProjectClass) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *EventWithdrawProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_EventWithdrawProjectClass.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *EventWithdrawProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_EventWithdrawProjectClass.Merge(m, src) -} -func (m *EventWithdrawProjectClass) XXX_Size() int { - return m.Size() -} -func (m *EventWithdrawProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_EventWithdrawProjectClass.DiscardUnknown(m) -} - -var xxx_messageInfo_EventWithdrawProjectClass proto.InternalMessageInfo - -func (m *EventWithdrawProjectClass) GetProjectId() string { +func (m *EventUpdateApplication) GetAction() EventUpdateApplication_Action { if m != nil { - return m.ProjectId + return m.Action } - return "" + return EventUpdateApplication_ACTION_UNSPECIFIED } -func (m *EventWithdrawProjectClass) GetClassId() string { +func (m *EventUpdateApplication) GetNewApplicationMetadata() string { if m != nil { - return m.ClassId + return m.NewApplicationMetadata } return "" } -func (m *EventWithdrawProjectClass) GetOldStatus() ProjectEnrollmentStatus { - if m != nil { - return m.OldStatus - } - return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED -} - -// EventEvaluateProjectClass is emitted when a project class relationship is -// evaluated by a credit class issuer. -type EventEvaluateProjectClass struct { +// EventUpdateProjectEnrollment is emitted when a credit class issuer updates +// the enrollment status of a project. +type EventUpdateProjectEnrollment struct { // issuer is the address of the credit class issuer which evaluated the // project. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` @@ -1315,22 +1296,22 @@ type EventEvaluateProjectClass struct { OldStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=old_status,json=oldStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"old_status,omitempty"` // new_status is the new status of the project class relationship. NewStatus ProjectEnrollmentStatus `protobuf:"varint,5,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` - // new_class_metadata is any new class metadata. - NewClassMetadata string `protobuf:"bytes,6,opt,name=new_class_metadata,json=newClassMetadata,proto3" json:"new_class_metadata,omitempty"` + // new_enrollment_metadata is any new enrollment metadata. + NewEnrollmentMetadata string `protobuf:"bytes,6,opt,name=new_enrollment_metadata,json=newEnrollmentMetadata,proto3" json:"new_enrollment_metadata,omitempty"` } -func (m *EventEvaluateProjectClass) Reset() { *m = EventEvaluateProjectClass{} } -func (m *EventEvaluateProjectClass) String() string { return proto.CompactTextString(m) } -func (*EventEvaluateProjectClass) ProtoMessage() {} -func (*EventEvaluateProjectClass) Descriptor() ([]byte, []int) { - return fileDescriptor_e32415575ff8b4b2, []int{21} +func (m *EventUpdateProjectEnrollment) Reset() { *m = EventUpdateProjectEnrollment{} } +func (m *EventUpdateProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*EventUpdateProjectEnrollment) ProtoMessage() {} +func (*EventUpdateProjectEnrollment) Descriptor() ([]byte, []int) { + return fileDescriptor_e32415575ff8b4b2, []int{20} } -func (m *EventEvaluateProjectClass) XXX_Unmarshal(b []byte) error { +func (m *EventUpdateProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *EventEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *EventUpdateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_EventEvaluateProjectClass.Marshal(b, m, deterministic) + return xxx_messageInfo_EventUpdateProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1340,61 +1321,62 @@ func (m *EventEvaluateProjectClass) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *EventEvaluateProjectClass) XXX_Merge(src proto.Message) { - xxx_messageInfo_EventEvaluateProjectClass.Merge(m, src) +func (m *EventUpdateProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventUpdateProjectEnrollment.Merge(m, src) } -func (m *EventEvaluateProjectClass) XXX_Size() int { +func (m *EventUpdateProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *EventEvaluateProjectClass) XXX_DiscardUnknown() { - xxx_messageInfo_EventEvaluateProjectClass.DiscardUnknown(m) +func (m *EventUpdateProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_EventUpdateProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_EventEvaluateProjectClass proto.InternalMessageInfo +var xxx_messageInfo_EventUpdateProjectEnrollment proto.InternalMessageInfo -func (m *EventEvaluateProjectClass) GetIssuer() string { +func (m *EventUpdateProjectEnrollment) GetIssuer() string { if m != nil { return m.Issuer } return "" } -func (m *EventEvaluateProjectClass) GetProjectId() string { +func (m *EventUpdateProjectEnrollment) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *EventEvaluateProjectClass) GetClassId() string { +func (m *EventUpdateProjectEnrollment) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *EventEvaluateProjectClass) GetOldStatus() ProjectEnrollmentStatus { +func (m *EventUpdateProjectEnrollment) GetOldStatus() ProjectEnrollmentStatus { if m != nil { return m.OldStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *EventEvaluateProjectClass) GetNewStatus() ProjectEnrollmentStatus { +func (m *EventUpdateProjectEnrollment) GetNewStatus() ProjectEnrollmentStatus { if m != nil { return m.NewStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *EventEvaluateProjectClass) GetNewClassMetadata() string { +func (m *EventUpdateProjectEnrollment) GetNewEnrollmentMetadata() string { if m != nil { - return m.NewClassMetadata + return m.NewEnrollmentMetadata } return "" } func init() { + proto.RegisterEnum("regen.ecocredit.v1.EventUpdateApplication_Action", EventUpdateApplication_Action_name, EventUpdateApplication_Action_value) proto.RegisterType((*EventCreateClass)(nil), "regen.ecocredit.v1.EventCreateClass") proto.RegisterType((*EventCreateProject)(nil), "regen.ecocredit.v1.EventCreateProject") proto.RegisterType((*EventCreateBatch)(nil), "regen.ecocredit.v1.EventCreateBatch") @@ -1414,68 +1396,72 @@ func init() { proto.RegisterType((*EventBridge)(nil), "regen.ecocredit.v1.EventBridge") proto.RegisterType((*EventBridgeReceive)(nil), "regen.ecocredit.v1.EventBridgeReceive") proto.RegisterType((*EventBurnRegen)(nil), "regen.ecocredit.v1.EventBurnRegen") - proto.RegisterType((*EventUpdateProjectClass)(nil), "regen.ecocredit.v1.EventUpdateProjectClass") - proto.RegisterType((*EventWithdrawProjectClass)(nil), "regen.ecocredit.v1.EventWithdrawProjectClass") - proto.RegisterType((*EventEvaluateProjectClass)(nil), "regen.ecocredit.v1.EventEvaluateProjectClass") + proto.RegisterType((*EventUpdateApplication)(nil), "regen.ecocredit.v1.EventUpdateApplication") + proto.RegisterType((*EventUpdateProjectEnrollment)(nil), "regen.ecocredit.v1.EventUpdateProjectEnrollment") } func init() { proto.RegisterFile("regen/ecocredit/v1/events.proto", fileDescriptor_e32415575ff8b4b2) } var fileDescriptor_e32415575ff8b4b2 = []byte{ - // 842 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x6f, 0x13, 0x3b, - 0x14, 0xed, 0xe4, 0xeb, 0x35, 0xee, 0x6b, 0x5e, 0x35, 0xea, 0xeb, 0x6b, 0xab, 0xbe, 0xb4, 0x1a, - 0x09, 0x51, 0x09, 0x9a, 0x90, 0x16, 0xa4, 0x22, 0x16, 0xa8, 0x09, 0x5d, 0x14, 0xa9, 0x02, 0x85, - 0x22, 0x3e, 0x36, 0x91, 0x67, 0x7c, 0x49, 0x5d, 0x26, 0x76, 0xe4, 0xf1, 0x24, 0xad, 0xc4, 0x96, - 0x3d, 0x4b, 0xb6, 0xac, 0xd8, 0xb1, 0x41, 0xe2, 0x37, 0xb0, 0xec, 0x92, 0x25, 0x6a, 0xff, 0x08, - 0x1a, 0x8f, 0x67, 0x92, 0x49, 0x42, 0x52, 0x4a, 0xd9, 0xf9, 0xde, 0xf8, 0xf8, 0x1c, 0xfb, 0xde, - 0x73, 0x33, 0x68, 0x55, 0x40, 0x13, 0x58, 0x19, 0x1c, 0xee, 0x08, 0x20, 0x54, 0x96, 0x3b, 0x95, - 0x32, 0x74, 0x80, 0x49, 0xaf, 0xd4, 0x16, 0x5c, 0x72, 0xd3, 0x54, 0x1b, 0x4a, 0xf1, 0x86, 0x52, - 0xa7, 0xb2, 0x5c, 0x1c, 0x01, 0x92, 0x27, 0x6d, 0xd0, 0x98, 0x91, 0xbf, 0x7b, 0x12, 0x4b, 0x08, - 0x7f, 0xb7, 0x36, 0xd0, 0xdc, 0x6e, 0xc0, 0x51, 0x13, 0x80, 0x25, 0xd4, 0x5c, 0xec, 0x79, 0xe6, - 0x12, 0x9a, 0x76, 0x82, 0x45, 0x83, 0x92, 0x45, 0x63, 0xcd, 0x58, 0xcf, 0xd7, 0xff, 0x52, 0xf1, - 0x1e, 0xb1, 0xb6, 0x90, 0xd9, 0xb7, 0xfd, 0xb1, 0xe0, 0x47, 0xe0, 0x48, 0xf3, 0x7f, 0x84, 0xda, - 0xe1, 0xb2, 0x07, 0xc9, 0xeb, 0xcc, 0x1e, 0xb1, 0x58, 0x82, 0xa3, 0x8a, 0xa5, 0x73, 0x68, 0xae, - 0xa2, 0x19, 0x3b, 0x58, 0x34, 0x08, 0x30, 0xde, 0xd2, 0x18, 0xa4, 0x52, 0x0f, 0x82, 0x8c, 0x79, - 0x17, 0xe5, 0xb9, 0xa0, 0x4d, 0xca, 0x1a, 0xf2, 0x78, 0x31, 0xb5, 0x66, 0xac, 0xcf, 0x6c, 0xae, - 0x94, 0x86, 0x1f, 0xa0, 0xf4, 0x48, 0x6d, 0x3a, 0x38, 0xae, 0x4f, 0x73, 0xbd, 0xb2, 0xde, 0xa0, - 0xbc, 0xe2, 0xdb, 0xa7, 0x4c, 0x4e, 0x26, 0xba, 0x8e, 0xfe, 0x91, 0x02, 0x13, 0x6c, 0xbb, 0xd0, - 0xc0, 0x2d, 0xee, 0x33, 0xa9, 0xe8, 0xf2, 0xf5, 0x42, 0x94, 0xde, 0x51, 0x59, 0xf3, 0x1a, 0x2a, - 0x08, 0x90, 0x54, 0x00, 0x89, 0xf6, 0xa5, 0xd5, 0xbe, 0x59, 0x9d, 0x0d, 0xb7, 0x59, 0x1e, 0xfa, - 0x37, 0x66, 0x57, 0x77, 0xad, 0x29, 0xad, 0xde, 0x1f, 0xbd, 0xf2, 0x17, 0x03, 0xcd, 0x2a, 0xd6, - 0x03, 0x81, 0x99, 0xf7, 0x0a, 0x84, 0xb9, 0x80, 0x72, 0x1e, 0x30, 0x02, 0x42, 0x13, 0xe9, 0xc8, - 0x5c, 0x41, 0x79, 0x01, 0x0e, 0x6d, 0x53, 0x88, 0x2f, 0xda, 0x4b, 0x0c, 0x6a, 0x4c, 0x5f, 0xe4, - 0xb5, 0x32, 0x17, 0x7c, 0xad, 0xec, 0xa8, 0xd7, 0x7a, 0x6f, 0xa0, 0x19, 0x25, 0xbc, 0xae, 0xd2, - 0xe6, 0x3c, 0xca, 0xf2, 0x2e, 0x8b, 0x55, 0x87, 0xc1, 0xa0, 0xac, 0xd4, 0x90, 0xac, 0x05, 0x94, - 0x4b, 0xd4, 0x44, 0x47, 0xa6, 0x85, 0xfe, 0x3e, 0xf2, 0x05, 0xf5, 0x08, 0x75, 0x24, 0xe5, 0x4c, - 0x6b, 0x4d, 0xe4, 0x02, 0xac, 0x00, 0xec, 0x71, 0xa6, 0x15, 0xea, 0xc8, 0x92, 0x5a, 0x59, 0x0d, - 0x33, 0x07, 0xdc, 0xab, 0x56, 0xd6, 0x63, 0xcd, 0x24, 0x58, 0x37, 0x75, 0xfb, 0x3c, 0x6d, 0x93, - 0xc8, 0x90, 0x3b, 0xa4, 0x45, 0xd9, 0x38, 0x57, 0xde, 0x46, 0xff, 0x0d, 0x62, 0xf6, 0x3c, 0xcf, - 0x07, 0x31, 0xd6, 0xcb, 0x77, 0xd0, 0xe2, 0x20, 0x6a, 0x1f, 0x24, 0x26, 0x58, 0xe2, 0x71, 0xb0, - 0xed, 0x04, 0x99, 0x1e, 0x01, 0xa1, 0xc4, 0x09, 0x73, 0xe0, 0x1e, 0x5a, 0x1e, 0x46, 0xc6, 0x94, - 0x13, 0xc1, 0xfd, 0x6a, 0x95, 0xb1, 0x62, 0xe8, 0x24, 0x67, 0x59, 0x15, 0x54, 0x50, 0xe0, 0x27, - 0x80, 0xdd, 0x8b, 0xcd, 0x1f, 0x6b, 0x5b, 0x4f, 0xba, 0x1d, 0x42, 0x42, 0x03, 0x1f, 0x9c, 0xb4, - 0x21, 0xe8, 0x27, 0x6c, 0xdb, 0x02, 0x3a, 0x14, 0xab, 0x7e, 0x0a, 0x71, 0x89, 0x9c, 0xf5, 0x29, - 0x6a, 0xe9, 0xaa, 0xa0, 0xa4, 0x09, 0x41, 0xa5, 0x25, 0x16, 0x4d, 0x90, 0x91, 0x13, 0xc3, 0x68, - 0x82, 0x13, 0x97, 0xd1, 0xb4, 0xc3, 0x99, 0x14, 0xd8, 0x89, 0x3a, 0x27, 0x8e, 0xfb, 0x7a, 0x2a, - 0x93, 0xe8, 0xa9, 0xb8, 0x45, 0xb3, 0x63, 0x5a, 0x34, 0x37, 0x74, 0xd5, 0x8f, 0x86, 0xbe, 0x6b, - 0x28, 0xb8, 0x0e, 0x0e, 0xd0, 0x0e, 0x4c, 0x28, 0xc8, 0xe5, 0x3b, 0x3f, 0x31, 0xe6, 0x32, 0xbf, - 0x34, 0xe6, 0x9e, 0xeb, 0x3a, 0x56, 0x7d, 0xc1, 0xea, 0x01, 0x22, 0x20, 0xb1, 0x7d, 0xd1, 0xb3, - 0xa5, 0x8e, 0xfa, 0xc8, 0x53, 0x3f, 0xb1, 0x5d, 0x3a, 0x61, 0xbb, 0xb7, 0xc6, 0xa8, 0xb6, 0x0e, - 0xff, 0x0f, 0x27, 0x3c, 0x44, 0xbf, 0x57, 0x52, 0x09, 0xaf, 0x98, 0xb7, 0xd0, 0x3c, 0x83, 0x6e, - 0x23, 0x42, 0xb7, 0x74, 0xc3, 0x6a, 0x6e, 0x93, 0x41, 0x77, 0xc0, 0x05, 0xd6, 0x07, 0x03, 0x2d, - 0x29, 0x1d, 0xcf, 0xa8, 0x3c, 0x24, 0x02, 0x77, 0xaf, 0x48, 0xc9, 0x43, 0x84, 0xb8, 0x4b, 0x1a, - 0xc1, 0x5f, 0xbf, 0xef, 0x29, 0xfe, 0xc2, 0xe6, 0x8d, 0x51, 0xaf, 0xae, 0xf9, 0x76, 0x99, 0xe0, - 0xae, 0xdb, 0x0a, 0x3c, 0xa3, 0x20, 0xf5, 0x3c, 0x77, 0x49, 0xb8, 0xb4, 0x3e, 0xa7, 0xb4, 0xc6, - 0xdd, 0x0e, 0x76, 0xfd, 0xc1, 0xd7, 0x5a, 0x40, 0x39, 0xaa, 0x86, 0x4f, 0x54, 0x91, 0x30, 0x1a, - 0xd0, 0x9e, 0x1a, 0xa7, 0x3d, 0x3d, 0x4e, 0x7b, 0xe6, 0x77, 0xb4, 0x07, 0x67, 0x05, 0x15, 0xd1, - 0x67, 0x65, 0x2f, 0x71, 0x16, 0x83, 0xae, 0x3e, 0xeb, 0x26, 0x0a, 0x2a, 0xd8, 0x08, 0x65, 0xc7, - 0xb5, 0x0d, 0xfd, 0x35, 0xc7, 0xa0, 0x9b, 0x18, 0xa9, 0xd5, 0x17, 0x5f, 0xcf, 0x8a, 0xc6, 0xe9, - 0x59, 0xd1, 0xf8, 0x7e, 0x56, 0x34, 0xde, 0x9d, 0x17, 0xa7, 0x4e, 0xcf, 0x8b, 0x53, 0xdf, 0xce, - 0x8b, 0x53, 0x2f, 0xef, 0x37, 0xa9, 0x3c, 0xf4, 0xed, 0x92, 0xc3, 0x5b, 0x65, 0xa5, 0x64, 0x83, - 0x81, 0xec, 0x72, 0xf1, 0x5a, 0x47, 0x2e, 0x90, 0x26, 0x88, 0xf2, 0x71, 0xdf, 0x57, 0x9c, 0x8d, - 0x3d, 0x08, 0xbf, 0xf3, 0xca, 0x9d, 0x8a, 0x9d, 0x53, 0xdf, 0x72, 0x5b, 0x3f, 0x02, 0x00, 0x00, - 0xff, 0xff, 0x3b, 0x43, 0x5f, 0xb0, 0x42, 0x0a, 0x00, 0x00, + // 917 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xda, 0x89, 0x89, 0x5f, 0x88, 0x1b, 0x16, 0x9a, 0x86, 0x28, 0xb8, 0xd5, 0x4a, 0x88, + 0x4a, 0xa8, 0xb6, 0x9c, 0x02, 0x0a, 0xe2, 0x80, 0x36, 0xb6, 0x11, 0x46, 0x6a, 0x1b, 0x6d, 0x1c, + 0x95, 0x3f, 0x07, 0x6b, 0xbc, 0xf3, 0x70, 0xa7, 0xac, 0x67, 0xac, 0xd9, 0xb1, 0x9d, 0x4a, 0x7c, + 0x08, 0x8e, 0x7c, 0x03, 0x6e, 0x9c, 0x10, 0x67, 0x8e, 0x1c, 0x7b, 0xe4, 0x88, 0x92, 0x2f, 0x82, + 0x76, 0x76, 0x76, 0xbd, 0x6b, 0x1b, 0x3b, 0x54, 0xf4, 0x36, 0xef, 0xed, 0xfb, 0xcd, 0xef, 0xcd, + 0x7b, 0xef, 0xf7, 0xb4, 0x70, 0x57, 0xe2, 0x00, 0x79, 0x1d, 0x7d, 0xe1, 0x4b, 0xa4, 0x4c, 0xd5, + 0x27, 0x8d, 0x3a, 0x4e, 0x90, 0xab, 0xb0, 0x36, 0x92, 0x42, 0x09, 0xdb, 0xd6, 0x01, 0xb5, 0x34, + 0xa0, 0x36, 0x69, 0x1c, 0x56, 0x97, 0x80, 0xd4, 0x8b, 0x11, 0x1a, 0xcc, 0xd2, 0xef, 0xa1, 0x22, + 0x0a, 0xe3, 0xef, 0xce, 0x03, 0xd8, 0x6b, 0x47, 0x1c, 0x4d, 0x89, 0x44, 0x61, 0x33, 0x20, 0x61, + 0x68, 0xbf, 0x0b, 0xdb, 0x7e, 0x74, 0xe8, 0x31, 0x7a, 0x60, 0xdd, 0xb3, 0xee, 0x97, 0xbd, 0x37, + 0xb4, 0xdd, 0xa1, 0xce, 0x43, 0xb0, 0x33, 0xe1, 0x67, 0x52, 0x3c, 0x47, 0x5f, 0xd9, 0xef, 0x01, + 0x8c, 0xe2, 0xe3, 0x0c, 0x52, 0x36, 0x9e, 0x0e, 0x75, 0x78, 0x8e, 0xe3, 0x94, 0x28, 0xff, 0x99, + 0x7d, 0x17, 0x76, 0xfa, 0xd1, 0xa1, 0x47, 0x91, 0x8b, 0xa1, 0xc1, 0x80, 0x76, 0xb5, 0x22, 0x8f, + 0xfd, 0x29, 0x94, 0x85, 0x64, 0x03, 0xc6, 0x7b, 0xea, 0xf2, 0xa0, 0x70, 0xcf, 0xba, 0xbf, 0x73, + 0x7c, 0x54, 0x5b, 0x2c, 0x40, 0xed, 0x89, 0x0e, 0xea, 0x5e, 0x7a, 0xdb, 0xc2, 0x9c, 0x9c, 0x1f, + 0xa1, 0xac, 0xf9, 0x1e, 0x31, 0xae, 0xd6, 0x13, 0x7d, 0x00, 0xb7, 0x94, 0x24, 0x94, 0xf4, 0x03, + 0xec, 0x91, 0xa1, 0x18, 0x73, 0xa5, 0xe9, 0xca, 0x5e, 0x25, 0x71, 0xbb, 0xda, 0x6b, 0xbf, 0x0f, + 0x15, 0x89, 0x8a, 0x49, 0xa4, 0x49, 0x5c, 0x51, 0xc7, 0xed, 0x1a, 0x6f, 0x1c, 0xe6, 0x84, 0x70, + 0x3b, 0x65, 0xd7, 0x6f, 0x6d, 0xea, 0x5c, 0xc3, 0xd7, 0xfa, 0xe4, 0xdf, 0x2d, 0xd8, 0xd5, 0xac, + 0x5d, 0x49, 0x78, 0xf8, 0x3d, 0x4a, 0x7b, 0x1f, 0x4a, 0x21, 0x72, 0x8a, 0xd2, 0x10, 0x19, 0xcb, + 0x3e, 0x82, 0xb2, 0x44, 0x9f, 0x8d, 0x18, 0xa6, 0x0f, 0x9d, 0x39, 0xe6, 0x73, 0x2c, 0xde, 0xa4, + 0x5a, 0x9b, 0x37, 0xac, 0xd6, 0xd6, 0xb2, 0x6a, 0xfd, 0x6c, 0xc1, 0x8e, 0x4e, 0xdc, 0xd3, 0x6e, + 0xfb, 0x1d, 0xd8, 0x12, 0x53, 0x9e, 0x66, 0x1d, 0x1b, 0xf3, 0x69, 0x15, 0x16, 0xd2, 0xda, 0x87, + 0x52, 0xae, 0x27, 0xc6, 0xb2, 0x1d, 0x78, 0xf3, 0xf9, 0x58, 0xb2, 0x90, 0x32, 0x5f, 0x31, 0xc1, + 0x4d, 0xae, 0x39, 0x5f, 0x84, 0x95, 0x48, 0x42, 0xc1, 0x4d, 0x86, 0xc6, 0x72, 0x94, 0xc9, 0xac, + 0x49, 0xb8, 0x8f, 0xc1, 0xff, 0x9d, 0xd9, 0x8c, 0x75, 0x33, 0xc7, 0x7a, 0x6c, 0xc6, 0xe7, 0x62, + 0x44, 0x13, 0x41, 0xba, 0x74, 0xc8, 0xf8, 0x2a, 0x55, 0x7e, 0x04, 0x77, 0xe6, 0x31, 0x9d, 0x30, + 0x1c, 0xa3, 0x5c, 0xa9, 0xe5, 0x8f, 0xe1, 0x60, 0x1e, 0xf5, 0x08, 0x15, 0xa1, 0x44, 0x91, 0x55, + 0xb0, 0x93, 0x1c, 0x99, 0x59, 0x01, 0x71, 0x8a, 0x6b, 0xf6, 0xc0, 0x67, 0x70, 0xb8, 0x88, 0x4c, + 0x29, 0xd7, 0x82, 0xb3, 0xd9, 0x6a, 0x61, 0xa5, 0xd0, 0x75, 0xca, 0x72, 0x1a, 0x50, 0xd1, 0xe0, + 0x73, 0x24, 0xc1, 0xcd, 0xf6, 0x8f, 0x73, 0x62, 0x36, 0x9d, 0x4b, 0x69, 0x2c, 0xe0, 0xee, 0x8b, + 0x11, 0x46, 0xf3, 0x44, 0xfa, 0x7d, 0x89, 0x13, 0x46, 0xf4, 0x3c, 0xc5, 0xb8, 0x9c, 0xcf, 0xf9, + 0x35, 0x19, 0xe9, 0x53, 0xc9, 0xe8, 0x00, 0xa3, 0x4e, 0x2b, 0x22, 0x07, 0xa8, 0x12, 0x25, 0xc6, + 0xd6, 0x1a, 0x25, 0x1e, 0xc2, 0xb6, 0x2f, 0xb8, 0x92, 0xc4, 0x4f, 0x26, 0x27, 0xb5, 0x33, 0x33, + 0xb5, 0x99, 0x9b, 0xa9, 0x74, 0x44, 0xb7, 0x56, 0x8c, 0x68, 0x69, 0xe1, 0xa9, 0xbf, 0x58, 0xe6, + 0xad, 0x71, 0xc2, 0x1e, 0xfa, 0xc8, 0x26, 0xb8, 0xa6, 0x21, 0xaf, 0x3e, 0xf9, 0xb9, 0x35, 0xb7, + 0xf9, 0x9f, 0xd6, 0xdc, 0xd7, 0xa6, 0x8f, 0xa7, 0x63, 0xc9, 0xbd, 0x08, 0x11, 0x91, 0xf4, 0xc7, + 0x72, 0x26, 0x4b, 0x63, 0x65, 0xc8, 0x0b, 0xff, 0x22, 0xbb, 0x62, 0x4e, 0x76, 0xbf, 0x15, 0x60, + 0x3f, 0x33, 0x5f, 0xee, 0x68, 0x14, 0x30, 0x5f, 0xf7, 0x73, 0x5d, 0x1d, 0xb2, 0x52, 0x29, 0xe4, + 0xa4, 0x62, 0x77, 0xa0, 0x44, 0xe2, 0xbd, 0x13, 0x91, 0x55, 0x8e, 0x1b, 0xcb, 0x9e, 0xb9, 0x9c, + 0xb5, 0xe6, 0x6a, 0xa0, 0x67, 0x2e, 0xb0, 0x4f, 0xe0, 0x80, 0xe3, 0xb4, 0x47, 0x66, 0x11, 0xbd, + 0xa1, 0x19, 0x7f, 0x33, 0x04, 0xfb, 0x1c, 0xa7, 0x99, 0x0b, 0x12, 0x71, 0x38, 0xdf, 0x41, 0xc9, + 0x4d, 0x16, 0x9d, 0xed, 0x36, 0xbb, 0x9d, 0x27, 0x8f, 0x7b, 0x17, 0x8f, 0xcf, 0xcf, 0xda, 0xcd, + 0xce, 0x17, 0x9d, 0x76, 0x6b, 0x6f, 0xc3, 0x7e, 0x0b, 0x76, 0x8d, 0xbf, 0xe9, 0xb5, 0xdd, 0x6e, + 0x7b, 0xcf, 0xca, 0xb8, 0x2e, 0xce, 0x5a, 0x91, 0xab, 0x60, 0xbf, 0x0d, 0xb7, 0x8c, 0xeb, 0x69, + 0xa7, 0xfb, 0x65, 0xcb, 0x73, 0x9f, 0xee, 0x15, 0x9d, 0x3f, 0x0a, 0x70, 0xb4, 0xa8, 0xe9, 0x36, + 0x97, 0x22, 0x08, 0x86, 0x18, 0xd7, 0x9b, 0xe9, 0x55, 0x94, 0xf4, 0x27, 0xb6, 0xe6, 0x8a, 0x5a, + 0x58, 0x55, 0xd4, 0x62, 0xbe, 0xa8, 0x5f, 0x01, 0x88, 0x80, 0xf6, 0xa2, 0x9f, 0x98, 0x71, 0xa8, + 0xdf, 0x5e, 0x39, 0xfe, 0x70, 0x59, 0x61, 0x17, 0x92, 0x39, 0xd7, 0x10, 0xaf, 0x2c, 0x02, 0x1a, + 0x1f, 0xa3, 0xbb, 0xa2, 0xaa, 0x9a, 0xbb, 0xb6, 0x5e, 0xe1, 0x2e, 0x8e, 0x53, 0x73, 0xd7, 0x27, + 0x70, 0x27, 0xba, 0x0b, 0xd3, 0x90, 0x59, 0x83, 0x62, 0xc9, 0xdd, 0xe6, 0x38, 0x9d, 0x5d, 0x90, + 0xf4, 0xe7, 0xf4, 0x9b, 0x3f, 0xaf, 0xaa, 0xd6, 0xcb, 0xab, 0xaa, 0xf5, 0xf7, 0x55, 0xd5, 0xfa, + 0xe9, 0xba, 0xba, 0xf1, 0xf2, 0xba, 0xba, 0xf1, 0xd7, 0x75, 0x75, 0xe3, 0xdb, 0xcf, 0x07, 0x4c, + 0x3d, 0x1b, 0xf7, 0x6b, 0xbe, 0x18, 0xd6, 0x75, 0x4e, 0x0f, 0x38, 0xaa, 0xa9, 0x90, 0x3f, 0x18, + 0x2b, 0x40, 0x3a, 0x40, 0x59, 0xbf, 0xcc, 0xfc, 0xdd, 0xf5, 0x49, 0x88, 0xf1, 0xff, 0x5f, 0x7d, + 0xd2, 0xe8, 0x97, 0xf4, 0x3f, 0xde, 0xc3, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x04, 0x08, 0x0a, + 0x2c, 0x5a, 0x0a, 0x00, 0x00, } func (m *EventCreateClass) Marshal() (dAtA []byte, err error) { @@ -2238,7 +2224,7 @@ func (m *EventBurnRegen) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *EventUpdateProjectClass) Marshal() (dAtA []byte, err error) { +func (m *EventUpdateApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2248,62 +2234,25 @@ func (m *EventUpdateProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *EventUpdateProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *EventUpdateApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *EventUpdateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *EventUpdateApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewProjectMetadata) > 0 { - i -= len(m.NewProjectMetadata) - copy(dAtA[i:], m.NewProjectMetadata) - i = encodeVarintEvents(dAtA, i, uint64(len(m.NewProjectMetadata))) - i-- - dAtA[i] = 0x1a - } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintEvents(dAtA, i, uint64(len(m.ClassId))) + if len(m.NewApplicationMetadata) > 0 { + i -= len(m.NewApplicationMetadata) + copy(dAtA[i:], m.NewApplicationMetadata) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NewApplicationMetadata))) i-- - dAtA[i] = 0x12 - } - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintEvents(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *EventWithdrawProjectClass) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x22 } - return dAtA[:n], nil -} - -func (m *EventWithdrawProjectClass) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *EventWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.OldStatus != 0 { - i = encodeVarintEvents(dAtA, i, uint64(m.OldStatus)) + if m.Action != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.Action)) i-- dAtA[i] = 0x18 } @@ -2324,7 +2273,7 @@ func (m *EventWithdrawProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *EventEvaluateProjectClass) Marshal() (dAtA []byte, err error) { +func (m *EventUpdateProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2334,20 +2283,20 @@ func (m *EventEvaluateProjectClass) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *EventEvaluateProjectClass) MarshalTo(dAtA []byte) (int, error) { +func (m *EventUpdateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *EventEvaluateProjectClass) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *EventUpdateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.NewClassMetadata) > 0 { - i -= len(m.NewClassMetadata) - copy(dAtA[i:], m.NewClassMetadata) - i = encodeVarintEvents(dAtA, i, uint64(len(m.NewClassMetadata))) + if len(m.NewEnrollmentMetadata) > 0 { + i -= len(m.NewEnrollmentMetadata) + copy(dAtA[i:], m.NewEnrollmentMetadata) + i = encodeVarintEvents(dAtA, i, uint64(len(m.NewEnrollmentMetadata))) i-- dAtA[i] = 0x32 } @@ -2743,7 +2692,7 @@ func (m *EventBurnRegen) Size() (n int) { return n } -func (m *EventUpdateProjectClass) Size() (n int) { +func (m *EventUpdateApplication) Size() (n int) { if m == nil { return 0 } @@ -2757,34 +2706,17 @@ func (m *EventUpdateProjectClass) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } - l = len(m.NewProjectMetadata) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) - } - return n -} - -func (m *EventWithdrawProjectClass) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ProjectId) - if l > 0 { - n += 1 + l + sovEvents(uint64(l)) + if m.Action != 0 { + n += 1 + sovEvents(uint64(m.Action)) } - l = len(m.ClassId) + l = len(m.NewApplicationMetadata) if l > 0 { n += 1 + l + sovEvents(uint64(l)) } - if m.OldStatus != 0 { - n += 1 + sovEvents(uint64(m.OldStatus)) - } return n } -func (m *EventEvaluateProjectClass) Size() (n int) { +func (m *EventUpdateProjectEnrollment) Size() (n int) { if m == nil { return 0 } @@ -2808,7 +2740,7 @@ func (m *EventEvaluateProjectClass) Size() (n int) { if m.NewStatus != 0 { n += 1 + sovEvents(uint64(m.NewStatus)) } - l = len(m.NewClassMetadata) + l = len(m.NewEnrollmentMetadata) if l > 0 { n += 1 + l + sovEvents(uint64(l)) } @@ -5191,7 +5123,7 @@ func (m *EventBurnRegen) Unmarshal(dAtA []byte) error { } return nil } -func (m *EventUpdateProjectClass) Unmarshal(dAtA []byte) error { +func (m *EventUpdateApplication) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5214,10 +5146,10 @@ func (m *EventUpdateProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventUpdateProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: EventUpdateApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventUpdateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventUpdateApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5285,92 +5217,10 @@ func (m *EventUpdateProjectClass) Unmarshal(dAtA []byte) error { m.ClassId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NewProjectMetadata", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NewProjectMetadata = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvents(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEvents - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: EventWithdrawProjectClass: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: EventWithdrawProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) } - var stringLen uint64 + m.Action = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowEvents @@ -5380,27 +5230,14 @@ func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Action |= EventUpdateApplication_Action(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProjectId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewApplicationMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5428,27 +5265,8 @@ func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ClassId = string(dAtA[iNdEx:postIndex]) + m.NewApplicationMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OldStatus", wireType) - } - m.OldStatus = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OldStatus |= ProjectEnrollmentStatus(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -5470,7 +5288,7 @@ func (m *EventWithdrawProjectClass) Unmarshal(dAtA []byte) error { } return nil } -func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { +func (m *EventUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5493,10 +5311,10 @@ func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: EventEvaluateProjectClass: wiretype end group for non-group") + return fmt.Errorf("proto: EventUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: EventEvaluateProjectClass: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: EventUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5635,7 +5453,7 @@ func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { } case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NewClassMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewEnrollmentMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5663,7 +5481,7 @@ func (m *EventEvaluateProjectClass) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NewClassMetadata = string(dAtA[iNdEx:postIndex]) + m.NewEnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index e7f1aeb1f9..459e56c15a 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -1234,14 +1234,12 @@ type ProjectEnrollment struct { ClassKey uint64 `protobuf:"varint,3,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // status is the status of the enrollment. Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` - // project_metadata is any arbitrary metadata set by the project - // admin. This should primarily be used to store metadata regarding the project's - // application to the credit class. - ProjectMetadata string `protobuf:"bytes,5,opt,name=project_metadata,json=projectMetadata,proto3" json:"project_metadata,omitempty"` - // class_metadata is any arbitrary metadata set by a credit - // class issuer. This should primarily be used to store metadata regarding the - // project's application to the credit class. - ClassMetadata string `protobuf:"bytes,6,opt,name=class_metadata,json=classMetadata,proto3" json:"class_metadata,omitempty"` + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` } func (m *ProjectEnrollment) Reset() { *m = ProjectEnrollment{} } @@ -1298,16 +1296,16 @@ func (m *ProjectEnrollment) GetStatus() ProjectEnrollmentStatus { return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *ProjectEnrollment) GetProjectMetadata() string { +func (m *ProjectEnrollment) GetApplicationMetadata() string { if m != nil { - return m.ProjectMetadata + return m.ApplicationMetadata } return "" } -func (m *ProjectEnrollment) GetClassMetadata() string { +func (m *ProjectEnrollment) GetEnrollmentMetadata() string { if m != nil { - return m.ClassMetadata + return m.EnrollmentMetadata } return "" } @@ -1336,95 +1334,96 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1402 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4f, 0x73, 0xdb, 0x54, - 0x10, 0x8f, 0x64, 0x3b, 0xb1, 0xd7, 0xff, 0x94, 0x97, 0x26, 0x51, 0x43, 0x71, 0x8a, 0x68, 0x69, - 0xda, 0x06, 0x99, 0x14, 0x98, 0x01, 0x33, 0x43, 0xc7, 0x71, 0x54, 0x08, 0x6d, 0xd3, 0xa0, 0xb8, - 0x07, 0x7a, 0x31, 0xb2, 0xf4, 0xea, 0xa8, 0xb5, 0x25, 0x23, 0x3d, 0xa7, 0xc9, 0x95, 0x0f, 0xc0, - 0x70, 0xe2, 0xc0, 0x30, 0x7c, 0x05, 0xbe, 0x00, 0x47, 0x0e, 0x70, 0xeb, 0x0c, 0x17, 0x8e, 0x4c, - 0xfb, 0x01, 0x98, 0x61, 0x38, 0x71, 0x62, 0xde, 0xea, 0xc9, 0x96, 0x5c, 0x27, 0xed, 0x70, 0xd3, - 0xee, 0xdb, 0x3f, 0xbf, 0xfd, 0xed, 0xae, 0xf4, 0x04, 0xb5, 0x80, 0xf6, 0xa8, 0x57, 0xa7, 0xb6, - 0x6f, 0x07, 0xd4, 0x71, 0x59, 0xfd, 0x68, 0xab, 0x1e, 0x32, 0x8b, 0x51, 0x7d, 0x18, 0xf8, 0xcc, - 0x27, 0x04, 0xcf, 0xf5, 0xf1, 0xb9, 0x7e, 0xb4, 0xb5, 0x56, 0xb3, 0xfd, 0x70, 0xe0, 0x87, 0xf5, - 0xae, 0x15, 0xd2, 0xfa, 0xd1, 0x56, 0x97, 0x32, 0x6b, 0xab, 0x6e, 0xfb, 0xae, 0x17, 0xf9, 0xac, - 0xad, 0x8a, 0x73, 0x3f, 0x18, 0xf0, 0x70, 0x7e, 0x30, 0x10, 0x07, 0xeb, 0x3d, 0xdf, 0xef, 0xf5, - 0x69, 0x1d, 0xa5, 0xee, 0xe8, 0x61, 0x9d, 0xb9, 0x03, 0x1a, 0x32, 0x6b, 0x30, 0x8c, 0x0c, 0xb4, - 0x1f, 0x24, 0x80, 0x16, 0xe6, 0x69, 0x9f, 0x0c, 0x29, 0xd1, 0xa0, 0x64, 0x75, 0xbb, 0x01, 0x3d, - 0x72, 0x2d, 0xe6, 0xfa, 0x9e, 0x2a, 0x5d, 0x94, 0x36, 0x0a, 0x66, 0x4a, 0x47, 0x08, 0x64, 0x3d, - 0x6b, 0x40, 0x55, 0x19, 0xcf, 0xf0, 0x99, 0xeb, 0x46, 0x9e, 0xcb, 0xd4, 0x4c, 0xa4, 0xe3, 0xcf, - 0xe4, 0x02, 0x14, 0x86, 0x01, 0xb5, 0xdd, 0x90, 0x07, 0xca, 0x5e, 0x94, 0x36, 0xca, 0xe6, 0x44, - 0xd1, 0xb8, 0xf4, 0xf7, 0x8f, 0xbf, 0x7f, 0x93, 0xa9, 0x41, 0x25, 0x9d, 0x91, 0x40, 0x14, 0x5d, - 0x91, 0x54, 0x49, 0x95, 0xb4, 0xdf, 0x24, 0xc8, 0xb5, 0xfa, 0x56, 0x18, 0x12, 0x05, 0x32, 0x8f, - 0xe9, 0x09, 0x02, 0xca, 0x9a, 0xfc, 0x91, 0x54, 0x40, 0x76, 0x1d, 0x81, 0x42, 0x76, 0x1d, 0x72, - 0x0e, 0x72, 0x96, 0x33, 0x70, 0x3d, 0x04, 0x51, 0x32, 0x23, 0x81, 0xac, 0x41, 0x7e, 0x40, 0x99, - 0xe5, 0x58, 0xcc, 0x42, 0x10, 0x05, 0x73, 0x2c, 0x93, 0x4d, 0x20, 0x11, 0xc7, 0x1d, 0x76, 0x32, - 0xa4, 0x9d, 0x08, 0x87, 0x9a, 0x43, 0x2b, 0xc5, 0x1e, 0xb3, 0xd2, 0x44, 0x7d, 0xe3, 0x63, 0x44, - 0xfc, 0x01, 0x2c, 0x20, 0x12, 0x45, 0x22, 0x79, 0x0e, 0x80, 0x03, 0x25, 0x05, 0x91, 0x5a, 0x91, - 0xc9, 0xca, 0xac, 0x98, 0x4a, 0x46, 0x95, 0xb5, 0x2f, 0xa1, 0x88, 0xa5, 0xec, 0x86, 0xe1, 0x88, - 0x06, 0xe4, 0x35, 0x28, 0xd8, 0x5c, 0xec, 0x4c, 0xca, 0xca, 0xa3, 0xe2, 0x36, 0x3d, 0x21, 0x2b, - 0x30, 0xef, 0xa2, 0x19, 0xd6, 0x57, 0x32, 0x85, 0xd4, 0xb8, 0x80, 0x18, 0x56, 0x80, 0x80, 0x32, - 0x76, 0xde, 0x14, 0x96, 0x19, 0xed, 0x27, 0x19, 0x16, 0xf6, 0x03, 0xff, 0x11, 0xb5, 0xd9, 0xff, - 0xe6, 0x6b, 0x3d, 0x09, 0x8b, 0x13, 0x96, 0xdd, 0x96, 0x55, 0x29, 0x01, 0x4d, 0x83, 0xd2, 0xa3, - 0x51, 0xe0, 0x86, 0x8e, 0x6b, 0xe3, 0x88, 0x44, 0x74, 0xa5, 0x74, 0x29, 0xd2, 0xe7, 0xa7, 0x48, - 0x7f, 0x03, 0x4a, 0x01, 0x7d, 0x48, 0x03, 0xea, 0xd9, 0xb4, 0xe3, 0x3a, 0xea, 0x02, 0x9e, 0x17, - 0xc7, 0xba, 0x5d, 0xa7, 0x71, 0x88, 0x55, 0x76, 0x67, 0x31, 0x4d, 0xa0, 0x94, 0x28, 0xdc, 0x51, - 0xe4, 0x24, 0xfb, 0x19, 0xa2, 0xa4, 0x83, 0x2b, 0x59, 0xb2, 0x06, 0x2b, 0x13, 0x87, 0xd4, 0x59, - 0x4e, 0xcd, 0x6a, 0xbf, 0x64, 0x20, 0xb7, 0x6d, 0x31, 0xfb, 0x70, 0x06, 0x5f, 0xa7, 0xf4, 0x80, - 0xac, 0x43, 0x71, 0x18, 0x91, 0x8c, 0x1c, 0x65, 0xd0, 0x03, 0x84, 0x8a, 0x33, 0x74, 0x0e, 0x72, - 0x0e, 0xf5, 0xfc, 0x81, 0x98, 0xb7, 0x48, 0x48, 0x71, 0x92, 0x9b, 0xe2, 0xe4, 0x43, 0x80, 0x90, - 0x59, 0x01, 0xeb, 0x38, 0x16, 0xa3, 0xc8, 0x58, 0xf1, 0xc6, 0x9a, 0x1e, 0xed, 0xae, 0x1e, 0xef, - 0xae, 0xde, 0x8e, 0x77, 0xd7, 0x2c, 0xa0, 0xf5, 0x8e, 0xc5, 0x28, 0x79, 0x1f, 0xf2, 0xd4, 0x73, - 0x22, 0xc7, 0x85, 0x97, 0x3a, 0x2e, 0x50, 0xcf, 0x41, 0xb7, 0x9b, 0x50, 0xe6, 0xe5, 0x58, 0x9c, - 0x0b, 0xf4, 0xcd, 0xbf, 0xd4, 0xb7, 0x14, 0x3b, 0x60, 0x00, 0x02, 0x59, 0x7f, 0x48, 0x3d, 0xb5, - 0x70, 0x51, 0xda, 0xc8, 0x9b, 0xf8, 0x9c, 0x1e, 0x69, 0x48, 0x8f, 0x74, 0xe3, 0x01, 0x36, 0xb5, - 0x3d, 0x69, 0x6a, 0x51, 0xd0, 0x84, 0x7d, 0xad, 0xa6, 0x48, 0x55, 0x64, 0x52, 0x49, 0x52, 0xa2, - 0x64, 0x08, 0xc4, 0xdd, 0x50, 0xb2, 0xa4, 0x9c, 0xc8, 0xa3, 0xe4, 0xd4, 0x9c, 0xf6, 0xb5, 0x04, - 0x65, 0xdc, 0xad, 0x03, 0xfa, 0xd5, 0x88, 0xf7, 0xf7, 0x94, 0xd5, 0x96, 0x66, 0xaf, 0x36, 0x79, - 0x13, 0xca, 0x1e, 0x3d, 0x66, 0x9d, 0x50, 0xb8, 0x63, 0xc7, 0xb3, 0x66, 0x89, 0x2b, 0xe3, 0x90, - 0x8d, 0x1a, 0x16, 0xa0, 0xc2, 0xb9, 0x99, 0xa1, 0xe7, 0xb5, 0x47, 0x50, 0x15, 0xcb, 0x37, 0x46, - 0x71, 0xe6, 0x8e, 0xbf, 0x52, 0xd2, 0x65, 0x4c, 0x5a, 0x85, 0x62, 0x32, 0xd2, 0x82, 0xe6, 0x41, - 0x19, 0xc7, 0x76, 0x9c, 0x69, 0x6a, 0x28, 0xa5, 0x17, 0x86, 0xf2, 0x95, 0xb2, 0xad, 0x62, 0xb6, - 0x45, 0x28, 0xa7, 0xa3, 0xe5, 0xb5, 0x7f, 0x24, 0x28, 0x61, 0xc2, 0x6d, 0xab, 0x6f, 0x89, 0xca, - 0xba, 0x5c, 0x4e, 0x56, 0x86, 0x0a, 0x9e, 0x4b, 0x85, 0x05, 0xcb, 0x71, 0x02, 0x1a, 0x86, 0x62, - 0x75, 0x62, 0x91, 0x5c, 0x81, 0x2a, 0x0b, 0x2c, 0xc7, 0xea, 0xf6, 0x69, 0xc7, 0x1a, 0xf8, 0x23, - 0x2f, 0xfe, 0x64, 0x54, 0x62, 0x75, 0x13, 0xb5, 0xe4, 0x32, 0x54, 0x02, 0xca, 0xdc, 0x80, 0x3a, - 0xb1, 0x5d, 0xb4, 0x4c, 0x65, 0xa1, 0x15, 0x66, 0x57, 0xa0, 0x4a, 0x43, 0x3b, 0xf0, 0x9f, 0x4c, - 0xec, 0xa2, 0xdd, 0xaa, 0xc4, 0xea, 0xc8, 0xb0, 0xf1, 0x1e, 0x56, 0xa6, 0xc3, 0x12, 0x2c, 0x0a, - 0x2c, 0x9b, 0x63, 0xfc, 0x64, 0x19, 0x16, 0xc7, 0xc2, 0xa6, 0x38, 0x56, 0x24, 0xb5, 0xa0, 0xfd, - 0x2c, 0x41, 0x31, 0xe2, 0x79, 0x34, 0x1c, 0xf6, 0x4f, 0xce, 0xae, 0x7a, 0x46, 0x6d, 0xf2, 0x2b, - 0xd6, 0x96, 0x99, 0x55, 0xdb, 0x55, 0x50, 0x6c, 0xce, 0x75, 0xbf, 0x3f, 0x4d, 0x42, 0x75, 0xac, - 0x17, 0xd5, 0x25, 0xa6, 0x64, 0x82, 0x0f, 0xb4, 0x11, 0x94, 0xef, 0x05, 0x6e, 0xcf, 0xf5, 0xda, - 0xc7, 0xbb, 0x9e, 0x43, 0x8f, 0xcf, 0x9e, 0xc7, 0xe9, 0xef, 0xc3, 0x0a, 0xcc, 0x87, 0xfe, 0x28, - 0xb0, 0xa9, 0x80, 0x27, 0xa4, 0xc6, 0x3a, 0x26, 0x3b, 0x0f, 0xcb, 0xb0, 0x94, 0x7c, 0x15, 0x6f, - 0x0a, 0xe3, 0xa2, 0xf6, 0x9d, 0x24, 0xa6, 0xb3, 0xe5, 0x7b, 0x2c, 0xb0, 0x6c, 0x76, 0x36, 0x6f, - 0x29, 0x50, 0xf2, 0x14, 0xa8, 0x35, 0xc8, 0xdb, 0x22, 0x8a, 0x80, 0x31, 0x96, 0x1b, 0x75, 0x04, - 0x72, 0x35, 0x55, 0x35, 0x51, 0x81, 0x4c, 0x50, 0xc5, 0xa6, 0x78, 0x9b, 0x28, 0x69, 0x1f, 0xc1, - 0x32, 0xbe, 0x25, 0x5a, 0x01, 0xb5, 0x98, 0x1f, 0x34, 0xfb, 0x7d, 0xff, 0x49, 0xdf, 0x0d, 0x19, - 0x1f, 0x58, 0xea, 0xf1, 0x0e, 0x39, 0x88, 0x2e, 0x6f, 0xc6, 0x62, 0x23, 0xff, 0x2f, 0xcf, 0x21, - 0xe7, 0xcb, 0xda, 0x0e, 0x2c, 0xa1, 0x03, 0x75, 0x92, 0x31, 0x92, 0xb3, 0x2e, 0xa5, 0x66, 0xbd, - 0xb1, 0x84, 0xf0, 0xca, 0x50, 0x98, 0x58, 0x54, 0xb4, 0x26, 0xe4, 0xd1, 0xfd, 0x16, 0xa5, 0xe4, - 0x3a, 0x64, 0x1e, 0x52, 0x8a, 0x6e, 0xc5, 0x1b, 0xe7, 0xf5, 0xe8, 0x0e, 0xa7, 0xf3, 0x3b, 0x9e, - 0x2e, 0xee, 0x78, 0x7a, 0xcb, 0x77, 0x3d, 0x93, 0x5b, 0x8d, 0x81, 0x54, 0xb5, 0xdb, 0x40, 0x04, - 0x90, 0xed, 0xc0, 0x75, 0x7a, 0xb4, 0x75, 0x68, 0xb9, 0x1e, 0x79, 0x1d, 0xc0, 0xe6, 0x0f, 0x1d, - 0xbc, 0x9b, 0x45, 0x2f, 0xba, 0x02, 0x6a, 0xf6, 0xac, 0x01, 0x6d, 0xac, 0x20, 0x18, 0x05, 0x4a, - 0x29, 0x33, 0x45, 0xfb, 0x5e, 0x86, 0x45, 0xf1, 0xd6, 0x32, 0xbc, 0xc0, 0xef, 0xf7, 0x07, 0xd4, - 0x63, 0x2f, 0x7f, 0x9b, 0xa4, 0x7a, 0x96, 0x99, 0xea, 0x59, 0x0b, 0xe6, 0xf9, 0x85, 0x76, 0x14, - 0xe2, 0xb8, 0x56, 0x6e, 0x5c, 0xd7, 0x5f, 0xbc, 0xd2, 0xea, 0x2f, 0x24, 0x3d, 0x40, 0x17, 0x53, - 0xb8, 0xf2, 0xe9, 0x8f, 0x21, 0x4c, 0x7d, 0x36, 0xab, 0x42, 0x7f, 0x37, 0xfe, 0x7a, 0x5e, 0x86, - 0x4a, 0x04, 0x66, 0xea, 0xce, 0x51, 0x46, 0x6d, 0x6c, 0xd6, 0x78, 0x07, 0x29, 0xb8, 0x06, 0xab, - 0xb0, 0x9c, 0x28, 0x6e, 0x73, 0x5c, 0x47, 0xfa, 0xb3, 0x22, 0xa9, 0x8b, 0xd7, 0xfe, 0x92, 0x60, - 0xf5, 0x14, 0x9c, 0xe4, 0x2a, 0x5c, 0xde, 0x37, 0xef, 0x7d, 0x66, 0xb4, 0xda, 0x1d, 0x63, 0xcf, - 0xbc, 0x77, 0xe7, 0xce, 0x5d, 0x63, 0xaf, 0xdd, 0x39, 0x68, 0x37, 0xdb, 0xf7, 0x0f, 0x3a, 0xf7, - 0xf7, 0x0e, 0xf6, 0x8d, 0xd6, 0xee, 0xad, 0x5d, 0x63, 0x47, 0x99, 0x23, 0x6f, 0x81, 0x76, 0xba, - 0x69, 0xb3, 0xd5, 0x32, 0xf6, 0xdb, 0xc6, 0x8e, 0x22, 0x91, 0x3a, 0x5c, 0x3f, 0xdd, 0xae, 0xf5, - 0x69, 0x73, 0xef, 0x13, 0xe3, 0xa0, 0x63, 0x1a, 0x9f, 0xdf, 0x37, 0x0e, 0xb8, 0x83, 0x7c, 0x76, - 0x60, 0xd3, 0xe0, 0x07, 0xc6, 0x8e, 0x92, 0x21, 0x1b, 0x70, 0xe9, 0x74, 0xbb, 0xb6, 0x61, 0xde, - 0xdd, 0xdd, 0x6b, 0x72, 0xcb, 0xec, 0xf6, 0x17, 0xbf, 0x3e, 0xab, 0x49, 0x4f, 0x9f, 0xd5, 0xa4, - 0x3f, 0x9f, 0xd5, 0xa4, 0x6f, 0x9f, 0xd7, 0xe6, 0x9e, 0x3e, 0xaf, 0xcd, 0xfd, 0xf1, 0xbc, 0x36, - 0xf7, 0xe0, 0x66, 0xcf, 0x65, 0x87, 0xa3, 0xae, 0x6e, 0xfb, 0x83, 0x3a, 0xb6, 0xf3, 0x6d, 0x8f, - 0xb2, 0x27, 0x7e, 0xf0, 0x58, 0x48, 0x7d, 0xea, 0xf4, 0x68, 0x50, 0x3f, 0x4e, 0xfc, 0xd8, 0xe0, - 0xdf, 0x0a, 0xff, 0x46, 0x86, 0xfc, 0x9f, 0x65, 0x1e, 0xaf, 0x14, 0xef, 0xfe, 0x17, 0x00, 0x00, - 0xff, 0xff, 0x24, 0x45, 0x44, 0xa3, 0x00, 0x0d, 0x00, 0x00, + // 1415 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x73, 0xdb, 0x54, + 0x17, 0x8e, 0xfc, 0x91, 0xd8, 0xc7, 0x1f, 0x51, 0x6e, 0xbe, 0xd4, 0xbc, 0x7d, 0x9d, 0xbe, 0x7a, + 0x5b, 0x9a, 0xb6, 0xc1, 0x26, 0x05, 0x66, 0xc0, 0xcc, 0xd0, 0x71, 0x1c, 0x17, 0x42, 0xdb, 0x34, + 0x28, 0xee, 0x82, 0x6e, 0xcc, 0xb5, 0x74, 0x9b, 0xa8, 0x95, 0x25, 0x23, 0x5d, 0xa7, 0xc9, 0x96, + 0x1f, 0xc0, 0xb0, 0x62, 0xc5, 0xf0, 0x0b, 0x98, 0xe1, 0x0f, 0xb0, 0x64, 0x01, 0xbb, 0xce, 0xb0, + 0x61, 0xc9, 0xb4, 0x3f, 0x80, 0x19, 0x86, 0x15, 0x2b, 0xe6, 0x1e, 0x5d, 0xc9, 0x92, 0xeb, 0xa4, + 0x1d, 0x76, 0x3a, 0xe7, 0x9e, 0x8f, 0xe7, 0x3c, 0xe7, 0x1c, 0xe9, 0x0a, 0x6a, 0x3e, 0x3b, 0x64, + 0x6e, 0x83, 0x99, 0x9e, 0xe9, 0x33, 0xcb, 0xe6, 0x8d, 0xe3, 0xad, 0x46, 0xc0, 0x29, 0x67, 0xf5, + 0xa1, 0xef, 0x71, 0x8f, 0x10, 0x3c, 0xaf, 0xc7, 0xe7, 0xf5, 0xe3, 0xad, 0xb5, 0x9a, 0xe9, 0x05, + 0x03, 0x2f, 0x68, 0xf4, 0x69, 0xc0, 0x1a, 0xc7, 0x5b, 0x7d, 0xc6, 0xe9, 0x56, 0xc3, 0xf4, 0x6c, + 0x37, 0xf4, 0x59, 0x5b, 0x95, 0xe7, 0x9e, 0x3f, 0x10, 0xe1, 0x3c, 0x7f, 0x20, 0x0f, 0xd6, 0x0f, + 0x3d, 0xef, 0xd0, 0x61, 0x0d, 0x94, 0xfa, 0xa3, 0x47, 0x0d, 0x6e, 0x0f, 0x58, 0xc0, 0xe9, 0x60, + 0x18, 0x1a, 0xe8, 0xdf, 0x2a, 0x00, 0x6d, 0xcc, 0xd3, 0x3d, 0x1d, 0x32, 0xa2, 0x43, 0x99, 0xf6, + 0xfb, 0x3e, 0x3b, 0xb6, 0x29, 0xb7, 0x3d, 0x57, 0x53, 0x2e, 0x29, 0x1b, 0x45, 0x23, 0xa5, 0x23, + 0x04, 0x72, 0x2e, 0x1d, 0x30, 0x2d, 0x83, 0x67, 0xf8, 0x2c, 0x74, 0x23, 0xd7, 0xe6, 0x5a, 0x36, + 0xd4, 0x89, 0x67, 0x72, 0x11, 0x8a, 0x43, 0x9f, 0x99, 0x76, 0x20, 0x02, 0xe5, 0x2e, 0x29, 0x1b, + 0x15, 0x63, 0xac, 0x68, 0x5e, 0xfe, 0xf3, 0xbb, 0x5f, 0xbf, 0xca, 0xd6, 0xa0, 0x9a, 0xce, 0x48, + 0x20, 0x8c, 0xae, 0x2a, 0x9a, 0xa2, 0x29, 0xfa, 0x2f, 0x0a, 0xe4, 0xdb, 0x0e, 0x0d, 0x02, 0xa2, + 0x42, 0xf6, 0x09, 0x3b, 0x45, 0x40, 0x39, 0x43, 0x3c, 0x92, 0x2a, 0x64, 0x6c, 0x4b, 0xa2, 0xc8, + 0xd8, 0x16, 0x59, 0x82, 0x3c, 0xb5, 0x06, 0xb6, 0x8b, 0x20, 0xca, 0x46, 0x28, 0x90, 0x35, 0x28, + 0x0c, 0x18, 0xa7, 0x16, 0xe5, 0x14, 0x41, 0x14, 0x8d, 0x58, 0x26, 0x9b, 0x40, 0x42, 0x8e, 0x7b, + 0xfc, 0x74, 0xc8, 0x7a, 0x21, 0x0e, 0x2d, 0x8f, 0x56, 0xaa, 0x19, 0xb3, 0xd2, 0x42, 0x7d, 0xf3, + 0x43, 0x44, 0xfc, 0x1e, 0xcc, 0x21, 0x12, 0x55, 0x21, 0x05, 0x01, 0x40, 0x00, 0x25, 0x45, 0x99, + 0x5a, 0xcd, 0x90, 0x95, 0x69, 0x31, 0xd5, 0xac, 0x96, 0xd1, 0x3f, 0x87, 0x12, 0x96, 0xb2, 0x1b, + 0x04, 0x23, 0xe6, 0x93, 0xff, 0x40, 0xd1, 0x14, 0x62, 0x6f, 0x5c, 0x56, 0x01, 0x15, 0x77, 0xd8, + 0x29, 0x59, 0x81, 0x59, 0x1b, 0xcd, 0xb0, 0xbe, 0xb2, 0x21, 0xa5, 0xe6, 0x45, 0xc4, 0xb0, 0x02, + 0x04, 0xd4, 0xd8, 0x79, 0x53, 0x5a, 0x66, 0xf5, 0x1f, 0x32, 0x30, 0xb7, 0xef, 0x7b, 0x8f, 0x99, + 0xc9, 0xff, 0x35, 0x5f, 0xeb, 0x49, 0x58, 0x82, 0xb0, 0xdc, 0x76, 0x46, 0x53, 0x12, 0xd0, 0x74, + 0x28, 0x3f, 0x1e, 0xf9, 0x76, 0x60, 0xd9, 0x26, 0x8e, 0x48, 0x48, 0x57, 0x4a, 0x97, 0x22, 0x7d, + 0x76, 0x82, 0xf4, 0xff, 0x41, 0xd9, 0x67, 0x8f, 0x98, 0xcf, 0x5c, 0x93, 0xf5, 0x6c, 0x4b, 0x9b, + 0xc3, 0xf3, 0x52, 0xac, 0xdb, 0xb5, 0x9a, 0x47, 0x58, 0x65, 0x7f, 0x1a, 0xd3, 0x04, 0xca, 0x89, + 0xc2, 0x2d, 0x35, 0x93, 0x64, 0x3f, 0x4b, 0xd4, 0x74, 0x70, 0x35, 0x47, 0xd6, 0x60, 0x65, 0xec, + 0x90, 0x3a, 0xcb, 0x6b, 0x39, 0xfd, 0xa7, 0x2c, 0xe4, 0xb7, 0x29, 0x37, 0x8f, 0xa6, 0xf0, 0x75, + 0x46, 0x0f, 0xc8, 0x3a, 0x94, 0x86, 0x21, 0xc9, 0xc8, 0x51, 0x16, 0x3d, 0x40, 0xaa, 0x04, 0x43, + 0x4b, 0x90, 0xb7, 0x98, 0xeb, 0x0d, 0xe4, 0xbc, 0x85, 0x42, 0x8a, 0x93, 0xfc, 0x04, 0x27, 0xef, + 0x03, 0x04, 0x9c, 0xfa, 0xbc, 0x67, 0x51, 0xce, 0x90, 0xb1, 0xd2, 0xcd, 0xb5, 0x7a, 0xb8, 0xbb, + 0xf5, 0x68, 0x77, 0xeb, 0xdd, 0x68, 0x77, 0x8d, 0x22, 0x5a, 0xef, 0x50, 0xce, 0xc8, 0xbb, 0x50, + 0x60, 0xae, 0x15, 0x3a, 0xce, 0xbd, 0xd2, 0x71, 0x8e, 0xb9, 0x16, 0xba, 0xdd, 0x82, 0x8a, 0x28, + 0x87, 0x0a, 0x2e, 0xd0, 0xb7, 0xf0, 0x4a, 0xdf, 0x72, 0xe4, 0x80, 0x01, 0x08, 0xe4, 0xbc, 0x21, + 0x73, 0xb5, 0xe2, 0x25, 0x65, 0xa3, 0x60, 0xe0, 0x73, 0x7a, 0xa4, 0x21, 0x3d, 0xd2, 0xcd, 0x87, + 0xd8, 0xd4, 0xee, 0xb8, 0xa9, 0x25, 0x49, 0x13, 0xf6, 0x75, 0x3e, 0x45, 0xaa, 0x9a, 0x21, 0xd5, + 0x24, 0x25, 0x6a, 0x96, 0x40, 0xd4, 0x0d, 0x35, 0x47, 0x2a, 0x89, 0x3c, 0x6a, 0x5e, 0xcb, 0xeb, + 0x5f, 0x2a, 0x50, 0xc1, 0xdd, 0x3a, 0x60, 0x5f, 0x8c, 0x44, 0x7f, 0xcf, 0x58, 0x6d, 0x65, 0xfa, + 0x6a, 0x93, 0xff, 0x43, 0xc5, 0x65, 0x27, 0xbc, 0x17, 0x48, 0x77, 0xec, 0x78, 0xce, 0x28, 0x0b, + 0x65, 0x14, 0xb2, 0x59, 0xc3, 0x02, 0x34, 0x58, 0x9a, 0x1a, 0x7a, 0x56, 0x7f, 0x0c, 0xf3, 0x72, + 0xf9, 0x62, 0x14, 0xe7, 0xee, 0xf8, 0x6b, 0x25, 0x5d, 0xc6, 0xa4, 0xf3, 0x50, 0x4a, 0x46, 0x9a, + 0xd3, 0x5d, 0xa8, 0xe0, 0xd8, 0xc6, 0x99, 0x26, 0x86, 0x52, 0x79, 0x69, 0x28, 0x5f, 0x2b, 0xdb, + 0x2a, 0x66, 0x5b, 0x80, 0x4a, 0x3a, 0x5a, 0x41, 0xff, 0x4b, 0x81, 0x32, 0x26, 0xdc, 0xa6, 0x0e, + 0x95, 0x95, 0xf5, 0x85, 0x9c, 0xac, 0x0c, 0x15, 0x22, 0x97, 0x06, 0x73, 0xd4, 0xb2, 0x7c, 0x16, + 0x04, 0x72, 0x75, 0x22, 0x91, 0x5c, 0x85, 0x79, 0xee, 0x53, 0x8b, 0xf6, 0x1d, 0xd6, 0xa3, 0x03, + 0x6f, 0xe4, 0x46, 0x9f, 0x8c, 0x6a, 0xa4, 0x6e, 0xa1, 0x96, 0x5c, 0x81, 0xaa, 0xcf, 0xb8, 0xed, + 0x33, 0x2b, 0xb2, 0x0b, 0x97, 0xa9, 0x22, 0xb5, 0xd2, 0xec, 0x2a, 0xcc, 0xb3, 0xc0, 0xf4, 0xbd, + 0xa7, 0x63, 0xbb, 0x70, 0xb7, 0xaa, 0x91, 0x3a, 0x34, 0x6c, 0xbe, 0x83, 0x95, 0xd5, 0x61, 0x11, + 0x16, 0x24, 0x96, 0xcd, 0x18, 0x3f, 0x59, 0x86, 0x85, 0x58, 0xd8, 0x94, 0xc7, 0xaa, 0xa2, 0x15, + 0xf5, 0x1f, 0x15, 0x28, 0x85, 0x3c, 0x8f, 0x86, 0x43, 0xe7, 0xf4, 0xfc, 0xaa, 0xa7, 0xd4, 0x96, + 0x79, 0xcd, 0xda, 0xb2, 0xd3, 0x6a, 0xbb, 0x06, 0xaa, 0x29, 0xb8, 0x76, 0x9c, 0x49, 0x12, 0xe6, + 0x63, 0xbd, 0xac, 0x2e, 0x31, 0x25, 0x63, 0x7c, 0xa0, 0x8f, 0xa0, 0x72, 0xdf, 0xb7, 0x0f, 0x6d, + 0xb7, 0x7b, 0xb2, 0xeb, 0x5a, 0xec, 0xe4, 0xfc, 0x79, 0x9c, 0xfc, 0x3e, 0xac, 0xc0, 0x6c, 0xe0, + 0x8d, 0x7c, 0x93, 0x49, 0x78, 0x52, 0x6a, 0xae, 0x63, 0xb2, 0x0b, 0xb0, 0x0c, 0x8b, 0xc9, 0x57, + 0xf1, 0xa6, 0x34, 0x2e, 0xe9, 0xdf, 0x28, 0x72, 0x3a, 0xdb, 0x9e, 0xcb, 0x7d, 0x6a, 0xf2, 0xf3, + 0x79, 0x4b, 0x81, 0xca, 0x4c, 0x80, 0x5a, 0x83, 0x82, 0x29, 0xa3, 0x48, 0x18, 0xb1, 0xdc, 0x6c, + 0x20, 0x90, 0x6b, 0xa9, 0xaa, 0x89, 0x06, 0x64, 0x8c, 0x2a, 0x32, 0xc5, 0xdb, 0x44, 0x59, 0xff, + 0x00, 0x96, 0xf1, 0x2d, 0xd1, 0xf6, 0x19, 0xe5, 0x9e, 0xdf, 0x72, 0x1c, 0xef, 0xa9, 0x63, 0x07, + 0x5c, 0x0c, 0x2c, 0x73, 0x45, 0x87, 0x2c, 0x44, 0x57, 0x30, 0x22, 0xb1, 0x59, 0xf8, 0x5b, 0xe4, + 0xc8, 0x14, 0x2a, 0xfa, 0x0e, 0x2c, 0xa2, 0x03, 0xb3, 0x92, 0x31, 0x92, 0xb3, 0xae, 0xa4, 0x66, + 0xbd, 0xb9, 0x88, 0xf0, 0x2a, 0x50, 0x1c, 0x5b, 0x54, 0xf5, 0x16, 0x14, 0xd0, 0xfd, 0x36, 0x63, + 0xe4, 0x06, 0x64, 0x1f, 0x31, 0x86, 0x6e, 0xa5, 0x9b, 0x17, 0xea, 0xe1, 0x1d, 0xae, 0x2e, 0xee, + 0x78, 0x75, 0x79, 0xc7, 0xab, 0xb7, 0x3d, 0xdb, 0x35, 0x84, 0x55, 0x0c, 0x64, 0x5e, 0xbf, 0x03, + 0x44, 0x02, 0xd9, 0xf6, 0x6d, 0xeb, 0x90, 0xb5, 0x8f, 0xa8, 0xed, 0x92, 0xff, 0x02, 0x98, 0xe2, + 0xa1, 0x87, 0x77, 0xb3, 0xf0, 0x45, 0x57, 0x44, 0xcd, 0x1e, 0x1d, 0xb0, 0xe6, 0x0a, 0x82, 0x51, + 0xa1, 0x9c, 0x32, 0x53, 0xf5, 0xef, 0x33, 0xb0, 0x20, 0xdf, 0x5a, 0x1d, 0xd7, 0xf7, 0x1c, 0x67, + 0xc0, 0x5c, 0xfe, 0xea, 0xb7, 0x49, 0xaa, 0x67, 0xd9, 0x89, 0x9e, 0xb5, 0x61, 0x56, 0x5c, 0x68, + 0x47, 0x01, 0x8e, 0x6b, 0xf5, 0xe6, 0x8d, 0xfa, 0xcb, 0x57, 0xda, 0xfa, 0x4b, 0x49, 0x0f, 0xd0, + 0xc5, 0x90, 0xae, 0x64, 0x0b, 0x96, 0xe8, 0x70, 0xe8, 0xd8, 0x26, 0x5e, 0x0b, 0x7b, 0x13, 0x9f, + 0xce, 0xc5, 0xc4, 0xd9, 0xbd, 0xe8, 0x2b, 0xda, 0x80, 0x45, 0x16, 0x87, 0xeb, 0x4d, 0x5c, 0x40, + 0xc8, 0xf8, 0x28, 0x72, 0x68, 0xbe, 0x85, 0xa4, 0x5c, 0x87, 0x55, 0x58, 0x4e, 0x94, 0xbb, 0x19, + 0x57, 0x96, 0xfe, 0xd0, 0x28, 0xda, 0xc2, 0xf5, 0x3f, 0x14, 0x58, 0x3d, 0x03, 0x39, 0xb9, 0x06, + 0x57, 0xf6, 0x8d, 0xfb, 0x9f, 0x74, 0xda, 0xdd, 0x5e, 0x67, 0xcf, 0xb8, 0x7f, 0xf7, 0xee, 0xbd, + 0xce, 0x5e, 0xb7, 0x77, 0xd0, 0x6d, 0x75, 0x1f, 0x1c, 0xf4, 0x1e, 0xec, 0x1d, 0xec, 0x77, 0xda, + 0xbb, 0xb7, 0x77, 0x3b, 0x3b, 0xea, 0x0c, 0x79, 0x03, 0xf4, 0xb3, 0x4d, 0x5b, 0xed, 0x76, 0x67, + 0xbf, 0xdb, 0xd9, 0x51, 0x15, 0xd2, 0x80, 0x1b, 0x67, 0xdb, 0xb5, 0x3f, 0x6e, 0xed, 0x7d, 0xd4, + 0x39, 0xe8, 0x19, 0x9d, 0x4f, 0x1f, 0x74, 0x0e, 0x84, 0x43, 0xe6, 0xfc, 0xc0, 0x46, 0x47, 0x1c, + 0x74, 0x76, 0xd4, 0x2c, 0xd9, 0x80, 0xcb, 0x67, 0xdb, 0x75, 0x3b, 0xc6, 0xbd, 0xdd, 0xbd, 0x96, + 0xb0, 0xcc, 0x6d, 0x7f, 0xf6, 0xf3, 0xf3, 0x9a, 0xf2, 0xec, 0x79, 0x4d, 0xf9, 0xfd, 0x79, 0x4d, + 0xf9, 0xfa, 0x45, 0x6d, 0xe6, 0xd9, 0x8b, 0xda, 0xcc, 0x6f, 0x2f, 0x6a, 0x33, 0x0f, 0x6f, 0x1d, + 0xda, 0xfc, 0x68, 0xd4, 0xaf, 0x9b, 0xde, 0xa0, 0x81, 0x0d, 0x7e, 0xd3, 0x65, 0xfc, 0xa9, 0xe7, + 0x3f, 0x91, 0x92, 0xc3, 0xac, 0x43, 0xe6, 0x37, 0x4e, 0x12, 0xbf, 0x3a, 0xf8, 0xff, 0x22, 0xbe, + 0x9a, 0x81, 0xf8, 0x8b, 0x99, 0xc5, 0x4b, 0xc6, 0xdb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x33, + 0x3c, 0x85, 0x93, 0x12, 0x0d, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -2176,17 +2175,17 @@ func (m *ProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.ClassMetadata) > 0 { - i -= len(m.ClassMetadata) - copy(dAtA[i:], m.ClassMetadata) - i = encodeVarintState(dAtA, i, uint64(len(m.ClassMetadata))) + if len(m.EnrollmentMetadata) > 0 { + i -= len(m.EnrollmentMetadata) + copy(dAtA[i:], m.EnrollmentMetadata) + i = encodeVarintState(dAtA, i, uint64(len(m.EnrollmentMetadata))) i-- dAtA[i] = 0x32 } - if len(m.ProjectMetadata) > 0 { - i -= len(m.ProjectMetadata) - copy(dAtA[i:], m.ProjectMetadata) - i = encodeVarintState(dAtA, i, uint64(len(m.ProjectMetadata))) + if len(m.ApplicationMetadata) > 0 { + i -= len(m.ApplicationMetadata) + copy(dAtA[i:], m.ApplicationMetadata) + i = encodeVarintState(dAtA, i, uint64(len(m.ApplicationMetadata))) i-- dAtA[i] = 0x2a } @@ -2570,11 +2569,11 @@ func (m *ProjectEnrollment) Size() (n int) { if m.Status != 0 { n += 1 + sovState(uint64(m.Status)) } - l = len(m.ProjectMetadata) + l = len(m.ApplicationMetadata) if l > 0 { n += 1 + l + sovState(uint64(l)) } - l = len(m.ClassMetadata) + l = len(m.EnrollmentMetadata) if l > 0 { n += 1 + l + sovState(uint64(l)) } @@ -4941,7 +4940,7 @@ func (m *ProjectEnrollment) Unmarshal(dAtA []byte) error { } case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4969,11 +4968,11 @@ func (m *ProjectEnrollment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProjectMetadata = string(dAtA[iNdEx:postIndex]) + m.ApplicationMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClassMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EnrollmentMetadata", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5001,7 +5000,7 @@ func (m *ProjectEnrollment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ClassMetadata = string(dAtA[iNdEx:postIndex]) + m.EnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index f3fea4d01d..c68ce80da4 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -536,8 +536,8 @@ func (m *MsgCreateUnregisteredProjectResponse) GetProjectId() string { return "" } -// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. -type MsgUpdateProjectEnrollment struct { +// MsgCreateOrUpdateApplication is the Msg/CreateOrUpdateApplication request type. +type MsgCreateOrUpdateApplication struct { // project_admin is the address of the account that is the admin of the // project which is applying to the credit class. ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` @@ -551,20 +551,23 @@ type MsgUpdateProjectEnrollment struct { // that includes or references any metadata relevant to the application. // This could be used as a digital reference to the actual contents of the application. Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // withdraw is a boolean that indicates whether the application is being + // withdrawn rather than updated. + Withdraw bool `protobuf:"varint,5,opt,name=withdraw,proto3" json:"withdraw,omitempty"` } -func (m *MsgUpdateProjectEnrollment) Reset() { *m = MsgUpdateProjectEnrollment{} } -func (m *MsgUpdateProjectEnrollment) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectEnrollment) ProtoMessage() {} -func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { +func (m *MsgCreateOrUpdateApplication) Reset() { *m = MsgCreateOrUpdateApplication{} } +func (m *MsgCreateOrUpdateApplication) String() string { return proto.CompactTextString(m) } +func (*MsgCreateOrUpdateApplication) ProtoMessage() {} +func (*MsgCreateOrUpdateApplication) Descriptor() ([]byte, []int) { return fileDescriptor_2b8ae49f50a3ddbd, []int{8} } -func (m *MsgUpdateProjectEnrollment) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateOrUpdateApplication) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgUpdateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateOrUpdateApplication) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgUpdateProjectEnrollment.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateOrUpdateApplication.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -574,166 +577,69 @@ func (m *MsgUpdateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ( return b[:n], nil } } -func (m *MsgUpdateProjectEnrollment) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectEnrollment.Merge(m, src) +func (m *MsgCreateOrUpdateApplication) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateOrUpdateApplication.Merge(m, src) } -func (m *MsgUpdateProjectEnrollment) XXX_Size() int { +func (m *MsgCreateOrUpdateApplication) XXX_Size() int { return m.Size() } -func (m *MsgUpdateProjectEnrollment) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectEnrollment.DiscardUnknown(m) +func (m *MsgCreateOrUpdateApplication) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateOrUpdateApplication.DiscardUnknown(m) } -var xxx_messageInfo_MsgUpdateProjectEnrollment proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateOrUpdateApplication proto.InternalMessageInfo -func (m *MsgUpdateProjectEnrollment) GetProjectAdmin() string { +func (m *MsgCreateOrUpdateApplication) GetProjectAdmin() string { if m != nil { return m.ProjectAdmin } return "" } -func (m *MsgUpdateProjectEnrollment) GetProjectId() string { +func (m *MsgCreateOrUpdateApplication) GetProjectId() string { if m != nil { return m.ProjectId } return "" } -func (m *MsgUpdateProjectEnrollment) GetClassId() string { +func (m *MsgCreateOrUpdateApplication) GetClassId() string { if m != nil { return m.ClassId } return "" } -func (m *MsgUpdateProjectEnrollment) GetMetadata() string { +func (m *MsgCreateOrUpdateApplication) GetMetadata() string { if m != nil { return m.Metadata } return "" } -// MsgUpdateProjectEnrollmentResponse is the Msg/UpdateProjectEnrollment response type. -type MsgUpdateProjectEnrollmentResponse struct { -} - -func (m *MsgUpdateProjectEnrollmentResponse) Reset() { *m = MsgUpdateProjectEnrollmentResponse{} } -func (m *MsgUpdateProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } -func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} -func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{9} -} -func (m *MsgUpdateProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgUpdateProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgUpdateProjectEnrollmentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Merge(m, src) -} -func (m *MsgUpdateProjectEnrollmentResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgUpdateProjectEnrollmentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgUpdateProjectEnrollmentResponse proto.InternalMessageInfo - -// MsgWithdrawProjectEnrollment is the Msg/WithdrawProjectEnrollment request type. -type MsgWithdrawProjectEnrollment struct { - // project_admin is the address of the account that is the admin of the - // project which is withdrawing its application to the credit class. - ProjectAdmin string `protobuf:"bytes,1,opt,name=project_admin,json=projectAdmin,proto3" json:"project_admin,omitempty"` - // application_id is the identifier of the application to withdraw. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // metadata is any optional arbitrary string with a maximum length of 256 characters - // that includes or references any metadata relevant to the withdrawal. This - // will only be included in events. - Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (m *MsgWithdrawProjectEnrollment) Reset() { *m = MsgWithdrawProjectEnrollment{} } -func (m *MsgWithdrawProjectEnrollment) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawProjectEnrollment) ProtoMessage() {} -func (*MsgWithdrawProjectEnrollment) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{10} -} -func (m *MsgWithdrawProjectEnrollment) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgWithdrawProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgWithdrawProjectEnrollment.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgWithdrawProjectEnrollment) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawProjectEnrollment.Merge(m, src) -} -func (m *MsgWithdrawProjectEnrollment) XXX_Size() int { - return m.Size() -} -func (m *MsgWithdrawProjectEnrollment) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawProjectEnrollment.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgWithdrawProjectEnrollment proto.InternalMessageInfo - -func (m *MsgWithdrawProjectEnrollment) GetProjectAdmin() string { - if m != nil { - return m.ProjectAdmin - } - return "" -} - -func (m *MsgWithdrawProjectEnrollment) GetApplicationId() uint64 { - if m != nil { - return m.ApplicationId - } - return 0 -} - -func (m *MsgWithdrawProjectEnrollment) GetMetadata() string { +func (m *MsgCreateOrUpdateApplication) GetWithdraw() bool { if m != nil { - return m.Metadata + return m.Withdraw } - return "" + return false } -// MsgWithdrawProjectEnrollmentResponse is the Msg/WithdrawProjectEnrollment response type. -type MsgWithdrawProjectEnrollmentResponse struct { +// MsgCreateOrUpdateApplicationResponse is the Msg/CreateOrUpdateApplication response type. +type MsgCreateOrUpdateApplicationResponse struct { } -func (m *MsgWithdrawProjectEnrollmentResponse) Reset() { *m = MsgWithdrawProjectEnrollmentResponse{} } -func (m *MsgWithdrawProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } -func (*MsgWithdrawProjectEnrollmentResponse) ProtoMessage() {} -func (*MsgWithdrawProjectEnrollmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{11} +func (m *MsgCreateOrUpdateApplicationResponse) Reset() { *m = MsgCreateOrUpdateApplicationResponse{} } +func (m *MsgCreateOrUpdateApplicationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateOrUpdateApplicationResponse) ProtoMessage() {} +func (*MsgCreateOrUpdateApplicationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{9} } -func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateOrUpdateApplicationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateOrUpdateApplicationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateOrUpdateApplicationResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -743,45 +649,47 @@ func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Marshal(b []byte, determinist return b[:n], nil } } -func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.Merge(m, src) +func (m *MsgCreateOrUpdateApplicationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateOrUpdateApplicationResponse.Merge(m, src) } -func (m *MsgWithdrawProjectEnrollmentResponse) XXX_Size() int { +func (m *MsgCreateOrUpdateApplicationResponse) XXX_Size() int { return m.Size() } -func (m *MsgWithdrawProjectEnrollmentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse.DiscardUnknown(m) +func (m *MsgCreateOrUpdateApplicationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateOrUpdateApplicationResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgWithdrawProjectEnrollmentResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateOrUpdateApplicationResponse proto.InternalMessageInfo -// MsgEvaluateProjectEnrollment is the Msg/EvaluateProjectEnrollment request type. -type MsgEvaluateProjectEnrollment struct { +// MsgUpdateProjectEnrollment is the Msg/UpdateProjectEnrollment request type. +type MsgUpdateProjectEnrollment struct { // issuer is the address of the account that is the issuer of the credit class - // which is evaluating the application. + // which is updating the project enrollment status. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` - // application_id is the identifier of the application to evaluate. - ApplicationId uint64 `protobuf:"varint,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` - // evaluation is the evaluation of the application. - Evaluation ProjectEnrollmentStatus `protobuf:"varint,3,opt,name=evaluation,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"evaluation,omitempty"` + // project_id is the identifier of the project. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the identifier of the credit class. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // new_status is the new status of the project enrollment. + NewStatus ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=new_status,json=newStatus,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"new_status,omitempty"` // metadata is any optiopnal arbitrary string with a maximum length of 256 characters // that includes or references the reason for the approving, requesting changes - // to, or rejecting the application. - Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // to, or rejecting the application, or terminating the project. + Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } -func (m *MsgEvaluateProjectEnrollment) Reset() { *m = MsgEvaluateProjectEnrollment{} } -func (m *MsgEvaluateProjectEnrollment) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateProjectEnrollment) ProtoMessage() {} -func (*MsgEvaluateProjectEnrollment) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{12} +func (m *MsgUpdateProjectEnrollment) Reset() { *m = MsgUpdateProjectEnrollment{} } +func (m *MsgUpdateProjectEnrollment) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectEnrollment) ProtoMessage() {} +func (*MsgUpdateProjectEnrollment) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{10} } -func (m *MsgEvaluateProjectEnrollment) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectEnrollment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateProjectEnrollment.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectEnrollment.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -791,40 +699,47 @@ func (m *MsgEvaluateProjectEnrollment) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgEvaluateProjectEnrollment) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateProjectEnrollment.Merge(m, src) +func (m *MsgUpdateProjectEnrollment) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectEnrollment.Merge(m, src) } -func (m *MsgEvaluateProjectEnrollment) XXX_Size() int { +func (m *MsgUpdateProjectEnrollment) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateProjectEnrollment) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateProjectEnrollment.DiscardUnknown(m) +func (m *MsgUpdateProjectEnrollment) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectEnrollment.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateProjectEnrollment proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectEnrollment proto.InternalMessageInfo -func (m *MsgEvaluateProjectEnrollment) GetIssuer() string { +func (m *MsgUpdateProjectEnrollment) GetIssuer() string { if m != nil { return m.Issuer } return "" } -func (m *MsgEvaluateProjectEnrollment) GetApplicationId() uint64 { +func (m *MsgUpdateProjectEnrollment) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *MsgUpdateProjectEnrollment) GetClassId() string { if m != nil { - return m.ApplicationId + return m.ClassId } - return 0 + return "" } -func (m *MsgEvaluateProjectEnrollment) GetEvaluation() ProjectEnrollmentStatus { +func (m *MsgUpdateProjectEnrollment) GetNewStatus() ProjectEnrollmentStatus { if m != nil { - return m.Evaluation + return m.NewStatus } return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED } -func (m *MsgEvaluateProjectEnrollment) GetMetadata() string { +func (m *MsgUpdateProjectEnrollment) GetMetadata() string { if m != nil { return m.Metadata } @@ -832,21 +747,21 @@ func (m *MsgEvaluateProjectEnrollment) GetMetadata() string { } // MsgEvaluateProjectEnrollmentResponse is the Msg/EvaluateProjectEnrollment response type. -type MsgEvaluateProjectEnrollmentResponse struct { +type MsgUpdateProjectEnrollmentResponse struct { } -func (m *MsgEvaluateProjectEnrollmentResponse) Reset() { *m = MsgEvaluateProjectEnrollmentResponse{} } -func (m *MsgEvaluateProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } -func (*MsgEvaluateProjectEnrollmentResponse) ProtoMessage() {} -func (*MsgEvaluateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{13} +func (m *MsgUpdateProjectEnrollmentResponse) Reset() { *m = MsgUpdateProjectEnrollmentResponse{} } +func (m *MsgUpdateProjectEnrollmentResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectEnrollmentResponse) ProtoMessage() {} +func (*MsgUpdateProjectEnrollmentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{11} } -func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -856,17 +771,17 @@ func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Marshal(b []byte, determinist return b[:n], nil } } -func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.Merge(m, src) +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.Merge(m, src) } -func (m *MsgEvaluateProjectEnrollmentResponse) XXX_Size() int { +func (m *MsgUpdateProjectEnrollmentResponse) XXX_Size() int { return m.Size() } -func (m *MsgEvaluateProjectEnrollmentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse.DiscardUnknown(m) +func (m *MsgUpdateProjectEnrollmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectEnrollmentResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgEvaluateProjectEnrollmentResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgUpdateProjectEnrollmentResponse proto.InternalMessageInfo // MsgCreateBatch is the Msg/CreateBatch request type. type MsgCreateBatch struct { @@ -905,7 +820,7 @@ func (m *MsgCreateBatch) Reset() { *m = MsgCreateBatch{} } func (m *MsgCreateBatch) String() string { return proto.CompactTextString(m) } func (*MsgCreateBatch) ProtoMessage() {} func (*MsgCreateBatch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{14} + return fileDescriptor_2b8ae49f50a3ddbd, []int{12} } func (m *MsgCreateBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1000,7 +915,7 @@ func (m *MsgCreateBatchResponse) Reset() { *m = MsgCreateBatchResponse{} func (m *MsgCreateBatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateBatchResponse) ProtoMessage() {} func (*MsgCreateBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{15} + return fileDescriptor_2b8ae49f50a3ddbd, []int{13} } func (m *MsgCreateBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1056,7 +971,7 @@ func (m *MsgMintBatchCredits) Reset() { *m = MsgMintBatchCredits{} } func (m *MsgMintBatchCredits) String() string { return proto.CompactTextString(m) } func (*MsgMintBatchCredits) ProtoMessage() {} func (*MsgMintBatchCredits) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{16} + return fileDescriptor_2b8ae49f50a3ddbd, []int{14} } func (m *MsgMintBatchCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1121,7 +1036,7 @@ func (m *MsgMintBatchCreditsResponse) Reset() { *m = MsgMintBatchCredits func (m *MsgMintBatchCreditsResponse) String() string { return proto.CompactTextString(m) } func (*MsgMintBatchCreditsResponse) ProtoMessage() {} func (*MsgMintBatchCreditsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{17} + return fileDescriptor_2b8ae49f50a3ddbd, []int{15} } func (m *MsgMintBatchCreditsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1163,7 +1078,7 @@ func (m *MsgSealBatch) Reset() { *m = MsgSealBatch{} } func (m *MsgSealBatch) String() string { return proto.CompactTextString(m) } func (*MsgSealBatch) ProtoMessage() {} func (*MsgSealBatch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{18} + return fileDescriptor_2b8ae49f50a3ddbd, []int{16} } func (m *MsgSealBatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,7 +1129,7 @@ func (m *MsgSealBatchResponse) Reset() { *m = MsgSealBatchResponse{} } func (m *MsgSealBatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgSealBatchResponse) ProtoMessage() {} func (*MsgSealBatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{19} + return fileDescriptor_2b8ae49f50a3ddbd, []int{17} } func (m *MsgSealBatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1257,7 +1172,7 @@ func (m *MsgSend) Reset() { *m = MsgSend{} } func (m *MsgSend) String() string { return proto.CompactTextString(m) } func (*MsgSend) ProtoMessage() {} func (*MsgSend) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{20} + return fileDescriptor_2b8ae49f50a3ddbd, []int{18} } func (m *MsgSend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1341,7 +1256,7 @@ func (m *MsgSend_SendCredits) Reset() { *m = MsgSend_SendCredits{} } func (m *MsgSend_SendCredits) String() string { return proto.CompactTextString(m) } func (*MsgSend_SendCredits) ProtoMessage() {} func (*MsgSend_SendCredits) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{20, 0} + return fileDescriptor_2b8ae49f50a3ddbd, []int{18, 0} } func (m *MsgSend_SendCredits) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1413,7 +1328,7 @@ func (m *MsgSendResponse) Reset() { *m = MsgSendResponse{} } func (m *MsgSendResponse) String() string { return proto.CompactTextString(m) } func (*MsgSendResponse) ProtoMessage() {} func (*MsgSendResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{21} + return fileDescriptor_2b8ae49f50a3ddbd, []int{19} } func (m *MsgSendResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1467,7 +1382,7 @@ func (m *MsgRetire) Reset() { *m = MsgRetire{} } func (m *MsgRetire) String() string { return proto.CompactTextString(m) } func (*MsgRetire) ProtoMessage() {} func (*MsgRetire) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{22} + return fileDescriptor_2b8ae49f50a3ddbd, []int{20} } func (m *MsgRetire) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1532,7 +1447,7 @@ func (m *MsgRetireResponse) Reset() { *m = MsgRetireResponse{} } func (m *MsgRetireResponse) String() string { return proto.CompactTextString(m) } func (*MsgRetireResponse) ProtoMessage() {} func (*MsgRetireResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{23} + return fileDescriptor_2b8ae49f50a3ddbd, []int{21} } func (m *MsgRetireResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1576,7 +1491,7 @@ func (m *MsgCancel) Reset() { *m = MsgCancel{} } func (m *MsgCancel) String() string { return proto.CompactTextString(m) } func (*MsgCancel) ProtoMessage() {} func (*MsgCancel) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{24} + return fileDescriptor_2b8ae49f50a3ddbd, []int{22} } func (m *MsgCancel) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1634,7 +1549,7 @@ func (m *MsgCancelResponse) Reset() { *m = MsgCancelResponse{} } func (m *MsgCancelResponse) String() string { return proto.CompactTextString(m) } func (*MsgCancelResponse) ProtoMessage() {} func (*MsgCancelResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{25} + return fileDescriptor_2b8ae49f50a3ddbd, []int{23} } func (m *MsgCancelResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1679,7 +1594,7 @@ func (m *MsgUpdateClassAdmin) Reset() { *m = MsgUpdateClassAdmin{} } func (m *MsgUpdateClassAdmin) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassAdmin) ProtoMessage() {} func (*MsgUpdateClassAdmin) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{26} + return fileDescriptor_2b8ae49f50a3ddbd, []int{24} } func (m *MsgUpdateClassAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1737,7 +1652,7 @@ func (m *MsgUpdateClassAdminResponse) Reset() { *m = MsgUpdateClassAdmin func (m *MsgUpdateClassAdminResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassAdminResponse) ProtoMessage() {} func (*MsgUpdateClassAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{27} + return fileDescriptor_2b8ae49f50a3ddbd, []int{25} } func (m *MsgUpdateClassAdminResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1784,7 +1699,7 @@ func (m *MsgUpdateClassIssuers) Reset() { *m = MsgUpdateClassIssuers{} } func (m *MsgUpdateClassIssuers) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassIssuers) ProtoMessage() {} func (*MsgUpdateClassIssuers) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{28} + return fileDescriptor_2b8ae49f50a3ddbd, []int{26} } func (m *MsgUpdateClassIssuers) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1849,7 +1764,7 @@ func (m *MsgUpdateClassIssuersResponse) Reset() { *m = MsgUpdateClassIss func (m *MsgUpdateClassIssuersResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassIssuersResponse) ProtoMessage() {} func (*MsgUpdateClassIssuersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{29} + return fileDescriptor_2b8ae49f50a3ddbd, []int{27} } func (m *MsgUpdateClassIssuersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1894,7 +1809,7 @@ func (m *MsgUpdateClassMetadata) Reset() { *m = MsgUpdateClassMetadata{} func (m *MsgUpdateClassMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassMetadata) ProtoMessage() {} func (*MsgUpdateClassMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{30} + return fileDescriptor_2b8ae49f50a3ddbd, []int{28} } func (m *MsgUpdateClassMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1952,7 +1867,7 @@ func (m *MsgUpdateClassMetadataResponse) Reset() { *m = MsgUpdateClassMe func (m *MsgUpdateClassMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassMetadataResponse) ProtoMessage() {} func (*MsgUpdateClassMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{31} + return fileDescriptor_2b8ae49f50a3ddbd, []int{29} } func (m *MsgUpdateClassMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1997,7 +1912,7 @@ func (m *MsgUpdateProjectAdmin) Reset() { *m = MsgUpdateProjectAdmin{} } func (m *MsgUpdateProjectAdmin) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectAdmin) ProtoMessage() {} func (*MsgUpdateProjectAdmin) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{32} + return fileDescriptor_2b8ae49f50a3ddbd, []int{30} } func (m *MsgUpdateProjectAdmin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2055,7 +1970,7 @@ func (m *MsgUpdateProjectAdminResponse) Reset() { *m = MsgUpdateProjectA func (m *MsgUpdateProjectAdminResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectAdminResponse) ProtoMessage() {} func (*MsgUpdateProjectAdminResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{33} + return fileDescriptor_2b8ae49f50a3ddbd, []int{31} } func (m *MsgUpdateProjectAdminResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2100,7 +2015,7 @@ func (m *MsgUpdateProjectMetadata) Reset() { *m = MsgUpdateProjectMetada func (m *MsgUpdateProjectMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectMetadata) ProtoMessage() {} func (*MsgUpdateProjectMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{34} + return fileDescriptor_2b8ae49f50a3ddbd, []int{32} } func (m *MsgUpdateProjectMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2159,7 +2074,7 @@ func (m *MsgUpdateProjectMetadataResponse) Reset() { *m = MsgUpdateProje func (m *MsgUpdateProjectMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateProjectMetadataResponse) ProtoMessage() {} func (*MsgUpdateProjectMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{35} + return fileDescriptor_2b8ae49f50a3ddbd, []int{33} } func (m *MsgUpdateProjectMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2204,7 +2119,7 @@ func (m *MsgBridge) Reset() { *m = MsgBridge{} } func (m *MsgBridge) String() string { return proto.CompactTextString(m) } func (*MsgBridge) ProtoMessage() {} func (*MsgBridge) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{36} + return fileDescriptor_2b8ae49f50a3ddbd, []int{34} } func (m *MsgBridge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2279,7 +2194,7 @@ func (m *MsgUpdateBatchMetadata) Reset() { *m = MsgUpdateBatchMetadata{} func (m *MsgUpdateBatchMetadata) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBatchMetadata) ProtoMessage() {} func (*MsgUpdateBatchMetadata) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{37} + return fileDescriptor_2b8ae49f50a3ddbd, []int{35} } func (m *MsgUpdateBatchMetadata) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2340,7 +2255,7 @@ func (m *MsgUpdateBatchMetadataResponse) Reset() { *m = MsgUpdateBatchMe func (m *MsgUpdateBatchMetadataResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateBatchMetadataResponse) ProtoMessage() {} func (*MsgUpdateBatchMetadataResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{38} + return fileDescriptor_2b8ae49f50a3ddbd, []int{36} } func (m *MsgUpdateBatchMetadataResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2377,7 +2292,7 @@ func (m *MsgBridgeResponse) Reset() { *m = MsgBridgeResponse{} } func (m *MsgBridgeResponse) String() string { return proto.CompactTextString(m) } func (*MsgBridgeResponse) ProtoMessage() {} func (*MsgBridgeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{39} + return fileDescriptor_2b8ae49f50a3ddbd, []int{37} } func (m *MsgBridgeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2426,7 +2341,7 @@ func (m *MsgBridgeReceive) Reset() { *m = MsgBridgeReceive{} } func (m *MsgBridgeReceive) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive) ProtoMessage() {} func (*MsgBridgeReceive) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{40} + return fileDescriptor_2b8ae49f50a3ddbd, []int{38} } func (m *MsgBridgeReceive) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2512,7 +2427,7 @@ func (m *MsgBridgeReceive_Batch) Reset() { *m = MsgBridgeReceive_Batch{} func (m *MsgBridgeReceive_Batch) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive_Batch) ProtoMessage() {} func (*MsgBridgeReceive_Batch) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{40, 0} + return fileDescriptor_2b8ae49f50a3ddbd, []int{38, 0} } func (m *MsgBridgeReceive_Batch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2592,7 +2507,7 @@ func (m *MsgBridgeReceive_Project) Reset() { *m = MsgBridgeReceive_Proje func (m *MsgBridgeReceive_Project) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceive_Project) ProtoMessage() {} func (*MsgBridgeReceive_Project) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{40, 1} + return fileDescriptor_2b8ae49f50a3ddbd, []int{38, 1} } func (m *MsgBridgeReceive_Project) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2656,7 +2571,7 @@ func (m *MsgBridgeReceiveResponse) Reset() { *m = MsgBridgeReceiveRespon func (m *MsgBridgeReceiveResponse) String() string { return proto.CompactTextString(m) } func (*MsgBridgeReceiveResponse) ProtoMessage() {} func (*MsgBridgeReceiveResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{41} + return fileDescriptor_2b8ae49f50a3ddbd, []int{39} } func (m *MsgBridgeReceiveResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2713,7 +2628,7 @@ func (m *MsgAddClassCreator) Reset() { *m = MsgAddClassCreator{} } func (m *MsgAddClassCreator) String() string { return proto.CompactTextString(m) } func (*MsgAddClassCreator) ProtoMessage() {} func (*MsgAddClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{42} + return fileDescriptor_2b8ae49f50a3ddbd, []int{40} } func (m *MsgAddClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2766,7 +2681,7 @@ func (m *MsgAddClassCreatorResponse) Reset() { *m = MsgAddClassCreatorRe func (m *MsgAddClassCreatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddClassCreatorResponse) ProtoMessage() {} func (*MsgAddClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{43} + return fileDescriptor_2b8ae49f50a3ddbd, []int{41} } func (m *MsgAddClassCreatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2810,7 +2725,7 @@ func (m *MsgSetClassCreatorAllowlist) Reset() { *m = MsgSetClassCreatorA func (m *MsgSetClassCreatorAllowlist) String() string { return proto.CompactTextString(m) } func (*MsgSetClassCreatorAllowlist) ProtoMessage() {} func (*MsgSetClassCreatorAllowlist) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{44} + return fileDescriptor_2b8ae49f50a3ddbd, []int{42} } func (m *MsgSetClassCreatorAllowlist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2864,7 +2779,7 @@ func (m *MsgSetClassCreatorAllowlistResponse) Reset() { *m = MsgSetClass func (m *MsgSetClassCreatorAllowlistResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetClassCreatorAllowlistResponse) ProtoMessage() {} func (*MsgSetClassCreatorAllowlistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{45} + return fileDescriptor_2b8ae49f50a3ddbd, []int{43} } func (m *MsgSetClassCreatorAllowlistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2907,7 +2822,7 @@ func (m *MsgRemoveClassCreator) Reset() { *m = MsgRemoveClassCreator{} } func (m *MsgRemoveClassCreator) String() string { return proto.CompactTextString(m) } func (*MsgRemoveClassCreator) ProtoMessage() {} func (*MsgRemoveClassCreator) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{46} + return fileDescriptor_2b8ae49f50a3ddbd, []int{44} } func (m *MsgRemoveClassCreator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2960,7 +2875,7 @@ func (m *MsgRemoveClassCreatorResponse) Reset() { *m = MsgRemoveClassCre func (m *MsgRemoveClassCreatorResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveClassCreatorResponse) ProtoMessage() {} func (*MsgRemoveClassCreatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{47} + return fileDescriptor_2b8ae49f50a3ddbd, []int{45} } func (m *MsgRemoveClassCreatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3004,7 +2919,7 @@ func (m *MsgUpdateClassFee) Reset() { *m = MsgUpdateClassFee{} } func (m *MsgUpdateClassFee) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassFee) ProtoMessage() {} func (*MsgUpdateClassFee) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{48} + return fileDescriptor_2b8ae49f50a3ddbd, []int{46} } func (m *MsgUpdateClassFee) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3057,7 +2972,7 @@ func (m *MsgUpdateClassFeeResponse) Reset() { *m = MsgUpdateClassFeeResp func (m *MsgUpdateClassFeeResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateClassFeeResponse) ProtoMessage() {} func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{49} + return fileDescriptor_2b8ae49f50a3ddbd, []int{47} } func (m *MsgUpdateClassFeeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3101,7 +3016,7 @@ func (m *MsgAddAllowedBridgeChain) Reset() { *m = MsgAddAllowedBridgeCha func (m *MsgAddAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChain) ProtoMessage() {} func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{50} + return fileDescriptor_2b8ae49f50a3ddbd, []int{48} } func (m *MsgAddAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3155,7 +3070,7 @@ func (m *MsgAddAllowedBridgeChainResponse) Reset() { *m = MsgAddAllowedB func (m *MsgAddAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{51} + return fileDescriptor_2b8ae49f50a3ddbd, []int{49} } func (m *MsgAddAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3199,7 +3114,7 @@ func (m *MsgRemoveAllowedBridgeChain) Reset() { *m = MsgRemoveAllowedBri func (m *MsgRemoveAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{52} + return fileDescriptor_2b8ae49f50a3ddbd, []int{50} } func (m *MsgRemoveAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3253,7 +3168,7 @@ func (m *MsgRemoveAllowedBridgeChainResponse) Reset() { *m = MsgRemoveAl func (m *MsgRemoveAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{53} + return fileDescriptor_2b8ae49f50a3ddbd, []int{51} } func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3299,7 +3214,7 @@ func (m *MsgBurnRegen) Reset() { *m = MsgBurnRegen{} } func (m *MsgBurnRegen) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegen) ProtoMessage() {} func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{54} + return fileDescriptor_2b8ae49f50a3ddbd, []int{52} } func (m *MsgBurnRegen) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3359,7 +3274,7 @@ func (m *MsgBurnRegenResponse) Reset() { *m = MsgBurnRegenResponse{} } func (m *MsgBurnRegenResponse) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegenResponse) ProtoMessage() {} func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{55} + return fileDescriptor_2b8ae49f50a3ddbd, []int{53} } func (m *MsgBurnRegenResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3397,12 +3312,10 @@ func init() { proto.RegisterType((*MsgCreateProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateProjectResponse") proto.RegisterType((*MsgCreateUnregisteredProject)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProject") proto.RegisterType((*MsgCreateUnregisteredProjectResponse)(nil), "regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse") + proto.RegisterType((*MsgCreateOrUpdateApplication)(nil), "regen.ecocredit.v1.MsgCreateOrUpdateApplication") + proto.RegisterType((*MsgCreateOrUpdateApplicationResponse)(nil), "regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse") proto.RegisterType((*MsgUpdateProjectEnrollment)(nil), "regen.ecocredit.v1.MsgUpdateProjectEnrollment") proto.RegisterType((*MsgUpdateProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse") - proto.RegisterType((*MsgWithdrawProjectEnrollment)(nil), "regen.ecocredit.v1.MsgWithdrawProjectEnrollment") - proto.RegisterType((*MsgWithdrawProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgWithdrawProjectEnrollmentResponse") - proto.RegisterType((*MsgEvaluateProjectEnrollment)(nil), "regen.ecocredit.v1.MsgEvaluateProjectEnrollment") - proto.RegisterType((*MsgEvaluateProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.MsgEvaluateProjectEnrollmentResponse") proto.RegisterType((*MsgCreateBatch)(nil), "regen.ecocredit.v1.MsgCreateBatch") proto.RegisterType((*MsgCreateBatchResponse)(nil), "regen.ecocredit.v1.MsgCreateBatchResponse") proto.RegisterType((*MsgMintBatchCredits)(nil), "regen.ecocredit.v1.MsgMintBatchCredits") @@ -3453,144 +3366,142 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2181 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x8f, 0x1b, 0x49, - 0x15, 0x4f, 0xdb, 0x9e, 0x0f, 0x3f, 0x67, 0x26, 0x49, 0x27, 0x3b, 0x71, 0x7a, 0x32, 0x9e, 0x89, - 0x93, 0x6c, 0x26, 0x1f, 0x6b, 0x33, 0xb3, 0x40, 0x48, 0x10, 0x0a, 0x33, 0xb3, 0x89, 0x18, 0x90, - 0x97, 0x55, 0x27, 0xab, 0x15, 0x2b, 0x90, 0xd5, 0xee, 0xae, 0xf4, 0x74, 0xb0, 0xbb, 0xad, 0xee, - 0xf2, 0xcc, 0x44, 0x20, 0xa4, 0x20, 0x24, 0xae, 0x7b, 0x46, 0x1c, 0x90, 0x38, 0x72, 0x41, 0xfc, - 0x0b, 0x5c, 0x38, 0xae, 0x84, 0x10, 0xdc, 0x16, 0x25, 0x48, 0xfc, 0x07, 0x9c, 0x38, 0xa0, 0xae, - 0xaa, 0xae, 0xae, 0xb2, 0xbb, 0xba, 0xdb, 0x59, 0xf6, 0x12, 0xb9, 0xab, 0xde, 0xc7, 0xef, 0xbd, - 0x7a, 0x55, 0xef, 0x23, 0x03, 0xeb, 0x21, 0x72, 0x91, 0xdf, 0x45, 0x76, 0x60, 0x87, 0xc8, 0xf1, - 0x70, 0xf7, 0x78, 0xa7, 0x8b, 0x4f, 0x3b, 0xe3, 0x30, 0xc0, 0x81, 0xae, 0x93, 0xcd, 0x0e, 0xdf, - 0xec, 0x1c, 0xef, 0x18, 0x2d, 0x3b, 0x88, 0x46, 0x41, 0xd4, 0x1d, 0x58, 0x11, 0xea, 0x1e, 0xef, - 0x0c, 0x10, 0xb6, 0x76, 0xba, 0x76, 0xe0, 0xf9, 0x94, 0xc7, 0xb8, 0xcc, 0xf6, 0x47, 0x91, 0x1b, - 0xcb, 0x1a, 0x45, 0x2e, 0xdb, 0xb8, 0xe4, 0x06, 0x6e, 0x40, 0x7e, 0x76, 0xe3, 0x5f, 0x6c, 0x75, - 0xd3, 0x0d, 0x02, 0x77, 0x88, 0xba, 0xe4, 0x6b, 0x30, 0x79, 0xde, 0xc5, 0xde, 0x08, 0x45, 0xd8, - 0x1a, 0x8d, 0x19, 0x41, 0x2b, 0x03, 0x60, 0x84, 0x2d, 0x8c, 0x72, 0xf6, 0xf1, 0xcb, 0x31, 0x8a, - 0xe8, 0x7e, 0xfb, 0x95, 0x06, 0xe7, 0x7b, 0x91, 0xbb, 0xe7, 0x38, 0x07, 0x64, 0xff, 0xd9, 0xcb, - 0x31, 0xd2, 0xaf, 0x42, 0xdd, 0x9a, 0xe0, 0xa3, 0x20, 0xf4, 0xf0, 0xcb, 0xa6, 0xb6, 0xa5, 0x6d, - 0xd7, 0xcd, 0x74, 0x41, 0x7f, 0x04, 0x0d, 0x2a, 0xab, 0x1f, 0x0b, 0x6a, 0x56, 0xb6, 0xb4, 0xed, - 0xc6, 0x6e, 0xab, 0x33, 0xeb, 0x8c, 0x4e, 0x2a, 0xd2, 0x04, 0x9b, 0xff, 0x7e, 0xb8, 0xfa, 0xcb, - 0x7f, 0xff, 0xf1, 0x4e, 0x2a, 0xb0, 0x6d, 0x40, 0x73, 0x1a, 0x82, 0x89, 0xa2, 0x71, 0xe0, 0x47, - 0xa8, 0xfd, 0x67, 0x0d, 0x56, 0x7b, 0x91, 0x7b, 0x10, 0x22, 0x0b, 0xa3, 0x83, 0xa1, 0x15, 0x45, - 0xfa, 0x25, 0x58, 0xb0, 0x9c, 0x91, 0xe7, 0x33, 0x64, 0xf4, 0x43, 0x6f, 0xc2, 0x92, 0x17, 0x45, - 0x13, 0x14, 0x46, 0xcd, 0xca, 0x56, 0x75, 0xbb, 0x6e, 0x26, 0x9f, 0xba, 0x01, 0xcb, 0x23, 0x84, - 0x2d, 0xc7, 0xc2, 0x56, 0xb3, 0x4a, 0x58, 0xf8, 0xb7, 0x7e, 0x0f, 0x74, 0xc1, 0x96, 0xbe, 0x35, - 0x18, 0x84, 0xe8, 0xb8, 0x59, 0x23, 0x54, 0xe7, 0x53, 0xc8, 0x7b, 0x64, 0x5d, 0xbf, 0x0b, 0xd5, - 0xe7, 0x08, 0x35, 0x17, 0x88, 0xc5, 0x57, 0x3a, 0xf4, 0x28, 0x3b, 0xf1, 0x51, 0x77, 0xd8, 0x51, - 0x77, 0x0e, 0x02, 0xcf, 0x37, 0x63, 0xaa, 0x87, 0x10, 0x5b, 0x49, 0xc1, 0xb5, 0xdf, 0x87, 0x35, - 0xd9, 0x88, 0xc4, 0x3e, 0xfd, 0x0a, 0x2c, 0xdb, 0xf1, 0x42, 0xdf, 0x73, 0x98, 0x3d, 0x4b, 0xe4, - 0xfb, 0xd0, 0x69, 0xff, 0x89, 0x1e, 0x0d, 0xe5, 0xfa, 0x28, 0x0c, 0x5e, 0x20, 0x1b, 0x2b, 0x8c, - 0x17, 0xa5, 0x54, 0x24, 0x29, 0xb9, 0xd6, 0xb7, 0xe1, 0xec, 0x8b, 0x49, 0xe8, 0x45, 0x8e, 0x67, - 0x63, 0x2f, 0xf0, 0x99, 0xdd, 0xd2, 0x9a, 0x7e, 0x0d, 0xce, 0x86, 0xe8, 0x39, 0x0a, 0x91, 0x6f, - 0xa3, 0x58, 0xfc, 0x02, 0xa1, 0x69, 0xf0, 0xb5, 0x43, 0x47, 0xb2, 0xf4, 0x01, 0x39, 0x4b, 0x09, - 0x33, 0xb7, 0x75, 0x03, 0x60, 0x4c, 0x97, 0x52, 0x6b, 0xeb, 0x6c, 0xe5, 0xd0, 0x69, 0xff, 0x5e, - 0x83, 0xab, 0x9c, 0xf7, 0x63, 0x3f, 0x44, 0xae, 0x17, 0x61, 0x14, 0x22, 0x27, 0xdf, 0x76, 0xd1, - 0xc0, 0x4a, 0x81, 0x81, 0xd5, 0x12, 0x06, 0xd6, 0xf2, 0x0d, 0x7c, 0x0c, 0x37, 0xf2, 0x40, 0x96, - 0x35, 0xf6, 0x0f, 0x1a, 0x18, 0xbd, 0xc8, 0xfd, 0x78, 0xec, 0xa4, 0x8e, 0x7a, 0xec, 0x87, 0xc1, - 0x70, 0x38, 0x42, 0x3e, 0xd6, 0xaf, 0xc3, 0x4a, 0xc2, 0x2d, 0x9a, 0x7c, 0x96, 0x2d, 0xee, 0x11, - 0xcb, 0x65, 0x15, 0x95, 0x29, 0x15, 0x52, 0x50, 0x54, 0xd5, 0x41, 0x51, 0x93, 0x7d, 0xf6, 0x50, - 0x8f, 0x8d, 0x95, 0xb5, 0xb7, 0x6f, 0x40, 0x5b, 0x0d, 0x96, 0xdf, 0xd5, 0xdf, 0xd0, 0x03, 0xfc, - 0xc4, 0xc3, 0x47, 0x4e, 0x68, 0x9d, 0xbc, 0xa5, 0x55, 0x37, 0x61, 0xd5, 0x1a, 0x8f, 0x87, 0x9e, - 0x6d, 0xc5, 0xc7, 0x93, 0x58, 0x56, 0x33, 0x57, 0x84, 0xd5, 0xfc, 0xb8, 0xce, 0x34, 0xe1, 0x5d, - 0x72, 0x6e, 0x4a, 0x6c, 0xdc, 0x88, 0xbf, 0x52, 0x23, 0x1e, 0x1f, 0x5b, 0xc3, 0x49, 0xe6, 0xd1, - 0xac, 0xc1, 0x22, 0x7d, 0x59, 0x18, 0x7a, 0xf6, 0x55, 0x16, 0xf7, 0x0f, 0x00, 0x10, 0x95, 0x9d, - 0x04, 0xe4, 0xea, 0xee, 0xdd, 0xac, 0xc7, 0x73, 0x46, 0xf3, 0x53, 0x6c, 0xe1, 0x49, 0x64, 0x0a, - 0xec, 0xb9, 0xe7, 0xd8, 0x88, 0x9d, 0xc0, 0xc0, 0x31, 0xeb, 0x95, 0x46, 0x71, 0xeb, 0xff, 0x5b, - 0x11, 0x9e, 0xdb, 0x7d, 0x0b, 0xdb, 0x47, 0x4a, 0x7b, 0x0b, 0xa2, 0xef, 0x3b, 0xb0, 0x1c, 0x13, - 0x5a, 0xbe, 0x8d, 0x9a, 0xd5, 0xad, 0xea, 0x76, 0x63, 0xf7, 0x5a, 0x96, 0x95, 0x44, 0xc7, 0x21, - 0x23, 0x34, 0x39, 0x4b, 0x9e, 0x65, 0xfa, 0x23, 0x80, 0x08, 0x5b, 0x21, 0xee, 0xc7, 0xe1, 0xc8, - 0x5e, 0x63, 0xa3, 0x43, 0x33, 0x65, 0x27, 0xc9, 0x94, 0x9d, 0x67, 0x49, 0xa6, 0xdc, 0xaf, 0x7d, - 0xf6, 0xc5, 0xa6, 0x66, 0xd6, 0x09, 0xcf, 0x07, 0x16, 0x46, 0xfa, 0xb7, 0x61, 0x19, 0xf9, 0x0e, - 0x65, 0x5f, 0x2c, 0xc9, 0xbe, 0x84, 0x7c, 0x87, 0x30, 0xeb, 0x50, 0x0b, 0xc6, 0xc8, 0x6f, 0x2e, - 0x6d, 0x69, 0xdb, 0xcb, 0x26, 0xf9, 0xad, 0x3f, 0x80, 0x7a, 0x10, 0x7a, 0xae, 0xe7, 0xf7, 0xf1, - 0x69, 0x73, 0x99, 0x48, 0xbc, 0x9a, 0x65, 0xed, 0x0f, 0x09, 0xd1, 0xb3, 0x53, 0x73, 0x39, 0x60, - 0xbf, 0xe4, 0x63, 0x7a, 0x20, 0xe4, 0x09, 0xe2, 0x19, 0xfe, 0x9c, 0x6c, 0x42, 0x63, 0x10, 0x2f, - 0xf4, 0x1d, 0xe4, 0x07, 0x23, 0x76, 0x14, 0x40, 0x96, 0x3e, 0x88, 0x57, 0xda, 0x7f, 0xd3, 0xe0, - 0x62, 0x2f, 0x72, 0x7b, 0x9e, 0x8f, 0x09, 0x27, 0xcd, 0xa5, 0x91, 0xf2, 0xf8, 0xa6, 0x04, 0x56, - 0xa6, 0x05, 0x7e, 0xd9, 0x03, 0x94, 0x5c, 0x52, 0x7b, 0x7b, 0x97, 0x6c, 0xc0, 0x7a, 0x86, 0x59, - 0x3c, 0x60, 0x9f, 0xc1, 0xd9, 0x5e, 0xe4, 0x3e, 0x45, 0xd6, 0x30, 0x3f, 0x5a, 0x8b, 0xcc, 0x95, - 0x95, 0xae, 0xc1, 0x25, 0x51, 0x2a, 0xd7, 0xf6, 0x9f, 0x0a, 0x2c, 0x91, 0x0d, 0xdf, 0x89, 0x35, - 0x45, 0xc8, 0x77, 0x52, 0x4d, 0xf4, 0x2b, 0x2e, 0x9e, 0x42, 0x64, 0x7b, 0x63, 0x0f, 0xf9, 0x38, - 0xb9, 0x16, 0x7c, 0x41, 0xdf, 0x83, 0x25, 0x6a, 0x7b, 0xc4, 0x9c, 0x7a, 0x2b, 0xcb, 0x29, 0x4c, - 0x47, 0x27, 0xfe, 0x27, 0xb1, 0x38, 0xe1, 0x33, 0xfe, 0xa5, 0x41, 0x43, 0xd8, 0x28, 0x0c, 0x0d, - 0xfd, 0x16, 0x9c, 0xc3, 0xa1, 0xe5, 0x58, 0x83, 0x21, 0xea, 0x5b, 0xa3, 0x60, 0xc2, 0x71, 0xad, - 0x26, 0xcb, 0x7b, 0x64, 0x35, 0x7e, 0xc2, 0x42, 0x84, 0xbd, 0x10, 0x39, 0x09, 0x1d, 0x7d, 0x59, - 0x57, 0xd8, 0x2a, 0x23, 0xbb, 0x0f, 0x97, 0xe9, 0x42, 0xfc, 0x74, 0xf4, 0x33, 0x2a, 0x88, 0xb5, - 0x74, 0xfb, 0xfb, 0x62, 0xaa, 0xbd, 0x0b, 0x17, 0x04, 0xc6, 0x10, 0x59, 0x51, 0xe0, 0xb3, 0x82, - 0xe2, 0x7c, 0xba, 0x61, 0x92, 0x75, 0x76, 0x20, 0xd4, 0xa9, 0xed, 0x0b, 0x70, 0x8e, 0xf9, 0x84, - 0x9f, 0xc5, 0xef, 0x34, 0xa8, 0xf7, 0x22, 0xd7, 0x24, 0x7c, 0x71, 0x6d, 0x10, 0x9c, 0xf8, 0xfc, - 0x30, 0xe8, 0x87, 0xfe, 0x8d, 0xd4, 0xdb, 0x15, 0xe2, 0xed, 0x75, 0x75, 0x99, 0x9a, 0x7a, 0xb8, - 0x54, 0xd9, 0xb0, 0x06, 0x8b, 0xcc, 0x00, 0x6a, 0x33, 0xfb, 0x62, 0xb5, 0x02, 0x51, 0xdf, 0xbe, - 0x08, 0x17, 0x38, 0x42, 0x8e, 0xfb, 0xe7, 0x04, 0xf6, 0x41, 0x7c, 0x49, 0x86, 0xff, 0x5f, 0xd8, - 0x29, 0xa4, 0x6a, 0x01, 0x24, 0xaa, 0x9d, 0x43, 0x0a, 0xc8, 0xd3, 0x41, 0xd3, 0x3b, 0x29, 0x4f, - 0x69, 0x26, 0x9e, 0xbb, 0xd6, 0x5c, 0x87, 0xba, 0x8f, 0x4e, 0x58, 0x6e, 0x67, 0x49, 0xd9, 0x47, - 0x27, 0x44, 0x9a, 0x54, 0x44, 0xd1, 0x4b, 0x3d, 0xad, 0x90, 0xe3, 0xf9, 0xad, 0x06, 0xef, 0xc8, - 0xfb, 0x87, 0xac, 0x96, 0x9f, 0x1b, 0xd2, 0x26, 0x34, 0x2c, 0xc7, 0xe9, 0x27, 0xad, 0x41, 0x95, - 0xb4, 0x06, 0x60, 0x39, 0x4e, 0x22, 0x91, 0xc4, 0xfc, 0x28, 0x38, 0x46, 0x9c, 0xa6, 0x46, 0x68, - 0x56, 0xe8, 0x2a, 0x23, 0x93, 0xd0, 0x6f, 0xc2, 0x46, 0x26, 0x3a, 0x8e, 0xff, 0x94, 0x3c, 0xe3, - 0x02, 0x41, 0x2f, 0x49, 0x5d, 0x73, 0xe3, 0xbf, 0x06, 0x67, 0x63, 0x97, 0x4e, 0x95, 0x3a, 0x0d, - 0x1f, 0x9d, 0x24, 0x32, 0x25, 0x68, 0x5b, 0xd0, 0xca, 0xd6, 0xcc, 0xb1, 0x4d, 0x04, 0xd7, 0x7e, - 0x24, 0xd6, 0x5d, 0xd9, 0xd0, 0x0a, 0xb2, 0x7c, 0xe9, 0x13, 0x17, 0x7d, 0x26, 0xaa, 0xe5, 0xb8, - 0x7e, 0x41, 0x1a, 0x07, 0x89, 0xa0, 0xc0, 0x6b, 0x05, 0xd0, 0xe6, 0xf4, 0x5c, 0x1b, 0xb6, 0x54, - 0xfa, 0xc5, 0x02, 0x37, 0xbe, 0xbb, 0xfb, 0xa1, 0xe7, 0xb8, 0xaa, 0x27, 0x67, 0x0d, 0x16, 0xb1, - 0x15, 0xba, 0x28, 0x79, 0x63, 0xd9, 0x97, 0x9c, 0x16, 0xaa, 0xd3, 0x69, 0x41, 0xb8, 0xf1, 0xb5, - 0xf2, 0x37, 0x5e, 0xba, 0xd9, 0xaf, 0x34, 0x21, 0xea, 0x48, 0xda, 0xe2, 0xfe, 0x7b, 0xeb, 0x1a, - 0xa0, 0x84, 0x0f, 0xa5, 0xbc, 0x29, 0x86, 0x9f, 0x04, 0x81, 0xbb, 0x90, 0xbe, 0x3f, 0xd4, 0x83, - 0x7c, 0xf1, 0x8b, 0x1a, 0xe9, 0x74, 0x93, 0x55, 0x1b, 0x79, 0xc7, 0x48, 0x09, 0x3a, 0xe7, 0xb2, - 0x3c, 0x81, 0x25, 0x76, 0xfe, 0x04, 0x69, 0x63, 0xf7, 0x9e, 0x22, 0xb9, 0x4a, 0x9a, 0x92, 0x4a, - 0xdb, 0x4c, 0x98, 0xf5, 0xef, 0xc2, 0x02, 0x71, 0x02, 0xab, 0x5b, 0xee, 0x94, 0x92, 0x42, 0x2b, - 0x05, 0xca, 0x28, 0x57, 0x3f, 0x0b, 0xf3, 0x54, 0x3f, 0xc6, 0xdf, 0x35, 0x58, 0xa0, 0xb5, 0x8c, - 0x14, 0x32, 0xda, 0x74, 0xc8, 0xac, 0xc1, 0xa2, 0x94, 0xcc, 0xd9, 0xd7, 0x54, 0x75, 0x5c, 0xfd, - 0x72, 0xd5, 0x71, 0x6d, 0xde, 0xea, 0x58, 0xac, 0xdb, 0x17, 0xe4, 0xba, 0xdd, 0x18, 0xc2, 0x52, - 0xd2, 0xca, 0x4f, 0x37, 0xdd, 0xda, 0x4c, 0xd3, 0x3d, 0x93, 0x84, 0x2b, 0x19, 0x49, 0x38, 0xaf, - 0x09, 0x94, 0x02, 0xf3, 0x53, 0xf2, 0xba, 0x48, 0x07, 0x56, 0xba, 0xb4, 0x2e, 0x78, 0x68, 0xda, - 0x3f, 0x06, 0x9d, 0x8d, 0xaf, 0xe2, 0x30, 0x24, 0xc5, 0x7b, 0x10, 0x16, 0xcc, 0xd0, 0x9a, 0xe4, - 0xbe, 0xc7, 0x84, 0x3c, 0x86, 0xe9, 0xe7, 0xcc, 0x70, 0xec, 0x2a, 0x99, 0x13, 0x4c, 0x49, 0xe7, - 0x37, 0x07, 0x91, 0x44, 0xfa, 0x14, 0x61, 0x71, 0x77, 0x6f, 0x38, 0x0c, 0x4e, 0x86, 0x5e, 0x84, - 0x8b, 0x41, 0x20, 0x3f, 0x2e, 0xff, 0xa8, 0x51, 0xcb, 0x66, 0xf2, 0x39, 0x03, 0xe2, 0x26, 0x5c, - 0xcf, 0x51, 0xc3, 0xd1, 0xf4, 0x49, 0x6e, 0x31, 0x49, 0xe2, 0xfc, 0x4a, 0x9c, 0x41, 0xb3, 0xc8, - 0xac, 0x02, 0x8e, 0xc0, 0x27, 0xcf, 0x8b, 0x90, 0xff, 0x9e, 0xa0, 0xa2, 0x71, 0x26, 0x1b, 0xea, - 0x55, 0x4a, 0x0d, 0xf5, 0xa6, 0x01, 0xad, 0xc3, 0x95, 0x19, 0x7d, 0x1c, 0x8c, 0x9b, 0xcc, 0x35, - 0x89, 0xa7, 0x90, 0x43, 0xc3, 0xef, 0xe0, 0xc8, 0xf2, 0xfc, 0x02, 0x4c, 0x1b, 0x00, 0x76, 0x4c, - 0xd6, 0xf7, 0xad, 0x11, 0x4a, 0x22, 0x8e, 0xac, 0x7c, 0x68, 0x8d, 0x66, 0x51, 0xd0, 0xdc, 0x95, - 0xa9, 0x88, 0x83, 0x79, 0x41, 0x22, 0x85, 0xba, 0xee, 0xab, 0xc6, 0x43, 0xc3, 0x45, 0xa5, 0x8b, - 0x43, 0xb2, 0x49, 0xef, 0xb6, 0x3f, 0x09, 0x7d, 0x33, 0x7e, 0x19, 0xe3, 0x17, 0x6d, 0x30, 0x09, - 0xd3, 0x8c, 0xca, 0xbe, 0x94, 0x2f, 0x9d, 0xaa, 0xde, 0xa5, 0x37, 0x9f, 0x32, 0xb3, 0x56, 0x8e, - 0x2b, 0x49, 0x94, 0xef, 0xbe, 0x6a, 0x42, 0xb5, 0x17, 0xb9, 0xfa, 0x4f, 0xa0, 0x21, 0x0e, 0x97, - 0xdb, 0x8a, 0xb7, 0x5e, 0xa0, 0x31, 0xee, 0x14, 0xd3, 0xf0, 0xc7, 0xc5, 0x86, 0x15, 0x79, 0x80, - 0x7b, 0x23, 0x97, 0x99, 0x51, 0x19, 0xf7, 0xca, 0x50, 0x71, 0x25, 0xbf, 0xd6, 0xe0, 0x8a, 0x7a, - 0x6c, 0xfa, 0xb5, 0x5c, 0x59, 0x19, 0x1c, 0xc6, 0xb7, 0xe6, 0xe5, 0xe0, 0x48, 0x5e, 0x69, 0x70, - 0x59, 0x35, 0xd3, 0xec, 0x28, 0xa4, 0x2a, 0xe8, 0x8d, 0x6f, 0xce, 0x47, 0x2f, 0x79, 0x43, 0x3d, - 0x83, 0x54, 0x79, 0x43, 0xc9, 0xa1, 0xf4, 0x46, 0xe1, 0x2c, 0x91, 0x20, 0x51, 0x0f, 0x12, 0x55, - 0x48, 0x94, 0x1c, 0x4a, 0x24, 0x85, 0x73, 0xbd, 0x34, 0xca, 0x69, 0x65, 0x91, 0x1f, 0xe5, 0x84, - 0xa6, 0x20, 0xca, 0xe5, 0xe9, 0xd4, 0x10, 0xce, 0xcf, 0x0c, 0x9e, 0x54, 0x83, 0x8d, 0x69, 0x42, - 0xa3, 0x5b, 0x92, 0x90, 0x6b, 0xfb, 0x04, 0xea, 0xe9, 0xc0, 0x67, 0x4b, 0x39, 0x3f, 0x61, 0x14, - 0xc6, 0x76, 0x11, 0x05, 0x17, 0xfc, 0x3d, 0xa8, 0x91, 0xd1, 0xce, 0x7a, 0xce, 0x4c, 0xc6, 0xb8, - 0x9e, 0xb3, 0xc9, 0x25, 0x7d, 0x08, 0x8b, 0x6c, 0x30, 0xb1, 0xa1, 0x20, 0xa7, 0xdb, 0xc6, 0xcd, - 0xdc, 0x6d, 0x51, 0x1e, 0x9b, 0x18, 0xa8, 0xe4, 0xd1, 0x6d, 0xa5, 0x3c, 0xb9, 0xe3, 0x8f, 0x0f, - 0x6c, 0xa6, 0xdd, 0xbf, 0x95, 0x7b, 0xdf, 0x52, 0x42, 0xe5, 0x81, 0xa9, 0xfa, 0x79, 0x3d, 0x04, - 0x3d, 0xa3, 0x97, 0xbf, 0x5d, 0x2c, 0x86, 0x91, 0x1a, 0x3b, 0xa5, 0x49, 0xb9, 0xce, 0x09, 0x5c, - 0xcc, 0x6a, 0xc0, 0xef, 0x14, 0x4b, 0x4a, 0x68, 0x8d, 0xdd, 0xf2, 0xb4, 0xb3, 0xa6, 0x4a, 0xbd, - 0xf5, 0xed, 0x32, 0x4f, 0x19, 0x75, 0xee, 0x4e, 0x69, 0x52, 0xae, 0xf3, 0x67, 0xf0, 0x4e, 0x76, - 0xdf, 0x7c, 0xaf, 0x8c, 0x2c, 0x6e, 0xee, 0xd7, 0xe7, 0xa1, 0x9e, 0xf5, 0xb3, 0xdc, 0x72, 0xe6, - 0xfb, 0x59, 0xa2, 0x2d, 0xf0, 0x73, 0x66, 0x1f, 0x19, 0x5f, 0x08, 0xd6, 0x86, 0x6f, 0xe4, 0x76, - 0x67, 0xca, 0x0b, 0x21, 0xb7, 0xa0, 0x71, 0x9e, 0x96, 0xdb, 0xcf, 0x1b, 0x65, 0x9a, 0x3e, 0xa3, - 0x54, 0x83, 0x29, 0x2a, 0x91, 0xff, 0xa3, 0x5d, 0xa5, 0x44, 0xa2, 0x52, 0x2a, 0xc9, 0xfc, 0x1f, - 0x73, 0xfd, 0x57, 0x1a, 0x34, 0x95, 0x0d, 0x41, 0x57, 0xf9, 0x78, 0x65, 0x33, 0x18, 0xf7, 0xe7, - 0x64, 0xe0, 0x30, 0x3c, 0x38, 0x37, 0xdd, 0x12, 0xbd, 0x9b, 0x63, 0x87, 0x40, 0x67, 0x74, 0xca, - 0xd1, 0x89, 0x77, 0x2e, 0xa3, 0xe7, 0xb8, 0xad, 0x7c, 0x59, 0xa7, 0x49, 0x95, 0x77, 0x4e, 0xdd, - 0x68, 0xe8, 0xcf, 0x61, 0x75, 0xaa, 0xcb, 0xb8, 0x59, 0xfc, 0x5a, 0x3c, 0x41, 0xc8, 0x78, 0xaf, - 0x14, 0x99, 0x78, 0xb7, 0xb3, 0x1b, 0x88, 0x9c, 0xa0, 0x98, 0xa5, 0x56, 0xde, 0xed, 0xdc, 0x9e, - 0x81, 0x84, 0x92, 0xb2, 0x63, 0xe8, 0xe6, 0x3a, 0x2d, 0x03, 0xc3, 0xfd, 0x39, 0x19, 0xc4, 0x7c, - 0x9f, 0x36, 0x09, 0xaa, 0x7c, 0xcf, 0x29, 0x94, 0xf9, 0x7e, 0xa6, 0x07, 0xd8, 0xff, 0xd1, 0x5f, - 0x5e, 0xb7, 0xb4, 0xcf, 0x5f, 0xb7, 0xb4, 0x7f, 0xbe, 0x6e, 0x69, 0x9f, 0xbd, 0x69, 0x9d, 0xf9, - 0xfc, 0x4d, 0xeb, 0xcc, 0x3f, 0xde, 0xb4, 0xce, 0x7c, 0xfa, 0xc8, 0xf5, 0xf0, 0xd1, 0x64, 0xd0, - 0xb1, 0x83, 0x51, 0x97, 0x48, 0x7b, 0xcf, 0x47, 0xf8, 0x24, 0x08, 0x7f, 0xca, 0xbe, 0x86, 0xc8, - 0x71, 0x51, 0xd8, 0x3d, 0x15, 0xfe, 0xb0, 0x86, 0xfc, 0xc5, 0x0f, 0xf9, 0xd3, 0x9a, 0xee, 0xf1, - 0xce, 0x60, 0x91, 0x8c, 0x4a, 0xde, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x0e, 0xcc, - 0xac, 0x41, 0x24, 0x00, 0x00, + // 2150 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x0f, 0x25, 0xd9, 0x96, 0x9e, 0x1c, 0x27, 0x61, 0xb2, 0x8e, 0x42, 0xc7, 0xb2, 0xa3, 0x24, + 0x1b, 0xe7, 0xcf, 0x4a, 0xb5, 0xb7, 0x6d, 0x9a, 0x14, 0x45, 0x6a, 0x7b, 0x37, 0xa8, 0x17, 0xd0, + 0xee, 0x42, 0xc9, 0xa2, 0xe8, 0xa2, 0x85, 0x40, 0x91, 0x13, 0x9a, 0xa9, 0x44, 0x0a, 0xe4, 0xc8, + 0x72, 0xd0, 0xa2, 0x40, 0x8a, 0x02, 0xbd, 0xee, 0xb9, 0xe8, 0xa1, 0x40, 0xbf, 0x40, 0xd1, 0xaf, + 0xd0, 0x4b, 0x7b, 0xdb, 0x4b, 0xd1, 0xde, 0xb6, 0x48, 0x0a, 0xf4, 0x1b, 0xb4, 0x97, 0x1e, 0x8a, + 0xf9, 0xc3, 0x11, 0x87, 0xe2, 0x90, 0x54, 0xd2, 0xbd, 0x18, 0x9c, 0x99, 0x37, 0xef, 0xfd, 0xde, + 0x9b, 0x37, 0xef, 0xcf, 0x58, 0xb0, 0x11, 0x20, 0x07, 0x79, 0x1d, 0x64, 0xf9, 0x56, 0x80, 0x6c, + 0x17, 0x77, 0x4e, 0x76, 0x3b, 0xf8, 0xb4, 0x3d, 0x0e, 0x7c, 0xec, 0xeb, 0x3a, 0x5d, 0x6c, 0x8b, + 0xc5, 0xf6, 0xc9, 0xae, 0xd1, 0xb4, 0xfc, 0x70, 0xe4, 0x87, 0x9d, 0x81, 0x19, 0xa2, 0xce, 0xc9, + 0xee, 0x00, 0x61, 0x73, 0xb7, 0x63, 0xf9, 0xae, 0xc7, 0xf6, 0x18, 0x97, 0xf9, 0xfa, 0x28, 0x74, + 0x08, 0xaf, 0x51, 0xe8, 0xf0, 0x85, 0x4b, 0x8e, 0xef, 0xf8, 0xf4, 0xb3, 0x43, 0xbe, 0xf8, 0xec, + 0x96, 0xe3, 0xfb, 0xce, 0x10, 0x75, 0xe8, 0x68, 0x30, 0x79, 0xd6, 0xc1, 0xee, 0x08, 0x85, 0xd8, + 0x1c, 0x8d, 0x39, 0x41, 0x33, 0x05, 0x60, 0x88, 0x4d, 0x8c, 0x32, 0xd6, 0xf1, 0x8b, 0x31, 0x0a, + 0xd9, 0x7a, 0xeb, 0xa5, 0x06, 0xe7, 0xbb, 0xa1, 0xb3, 0x6f, 0xdb, 0x87, 0x74, 0xfd, 0xe9, 0x8b, + 0x31, 0xd2, 0xaf, 0x42, 0xcd, 0x9c, 0xe0, 0x63, 0x3f, 0x70, 0xf1, 0x8b, 0x86, 0xb6, 0xad, 0xed, + 0xd4, 0x7a, 0xb3, 0x09, 0xfd, 0x11, 0xd4, 0x19, 0xaf, 0x3e, 0x61, 0xd4, 0x28, 0x6d, 0x6b, 0x3b, + 0xf5, 0xbd, 0x66, 0x7b, 0xde, 0x18, 0xed, 0x19, 0xcb, 0x1e, 0x58, 0xe2, 0xfb, 0xe1, 0xda, 0x2f, + 0xff, 0xf5, 0x87, 0x3b, 0x33, 0x86, 0x2d, 0x03, 0x1a, 0x49, 0x08, 0x3d, 0x14, 0x8e, 0x7d, 0x2f, + 0x44, 0xad, 0x3f, 0x69, 0xb0, 0xd6, 0x0d, 0x9d, 0xc3, 0x00, 0x99, 0x18, 0x1d, 0x0e, 0xcd, 0x30, + 0xd4, 0x2f, 0xc1, 0x92, 0x69, 0x8f, 0x5c, 0x8f, 0x23, 0x63, 0x03, 0xbd, 0x01, 0x2b, 0x6e, 0x18, + 0x4e, 0x50, 0x10, 0x36, 0x4a, 0xdb, 0xe5, 0x9d, 0x5a, 0x2f, 0x1a, 0xea, 0x06, 0x54, 0x47, 0x08, + 0x9b, 0xb6, 0x89, 0xcd, 0x46, 0x99, 0x6e, 0x11, 0x63, 0xfd, 0x1e, 0xe8, 0x31, 0x5d, 0xfa, 0xe6, + 0x60, 0x10, 0xa0, 0x93, 0x46, 0x85, 0x52, 0x9d, 0x9f, 0x41, 0xde, 0xa7, 0xf3, 0xfa, 0x5d, 0x28, + 0x3f, 0x43, 0xa8, 0xb1, 0x44, 0x35, 0xbe, 0xd2, 0x66, 0x47, 0xd9, 0x26, 0x47, 0xdd, 0xe6, 0x47, + 0xdd, 0x3e, 0xf4, 0x5d, 0xaf, 0x47, 0xa8, 0x1e, 0x02, 0xd1, 0x92, 0x81, 0x6b, 0xbd, 0x0f, 0xeb, + 0xb2, 0x12, 0x91, 0x7e, 0xfa, 0x15, 0xa8, 0x5a, 0x64, 0xa2, 0xef, 0xda, 0x5c, 0x9f, 0x15, 0x3a, + 0x3e, 0xb2, 0x5b, 0x7f, 0x64, 0x47, 0xc3, 0x76, 0x7d, 0x1a, 0xf8, 0xcf, 0x91, 0x85, 0x15, 0xca, + 0xc7, 0xb9, 0x94, 0x24, 0x2e, 0x99, 0xda, 0xb7, 0x60, 0xf5, 0xf9, 0x24, 0x70, 0x43, 0xdb, 0xb5, + 0xb0, 0xeb, 0x7b, 0x5c, 0x6f, 0x69, 0x4e, 0xbf, 0x06, 0xab, 0x01, 0x7a, 0x86, 0x02, 0xe4, 0x59, + 0x88, 0xb0, 0x5f, 0xa2, 0x34, 0x75, 0x31, 0x77, 0x64, 0x4b, 0x9a, 0x3e, 0xa0, 0x67, 0x29, 0x61, + 0x16, 0xba, 0x6e, 0x02, 0x8c, 0xd9, 0xd4, 0x4c, 0xdb, 0x1a, 0x9f, 0x39, 0xb2, 0x5b, 0xbf, 0xd7, + 0xe0, 0xaa, 0xd8, 0xfb, 0x99, 0x17, 0x20, 0xc7, 0x0d, 0x31, 0x0a, 0x90, 0x9d, 0xad, 0x7b, 0x5c, + 0xc1, 0x52, 0x8e, 0x82, 0xe5, 0x02, 0x0a, 0x56, 0xb2, 0x15, 0xfc, 0x10, 0x6e, 0x64, 0x81, 0x2c, + 0xaa, 0xec, 0x5f, 0xe2, 0xca, 0x7e, 0x12, 0x7c, 0x36, 0xb6, 0x4d, 0x8c, 0xf6, 0xc7, 0xe3, 0xa1, + 0x6b, 0x99, 0x14, 0xd6, 0x75, 0x38, 0x1b, 0xed, 0x8f, 0x2b, 0xbd, 0xca, 0x27, 0xf7, 0xa9, 0xee, + 0xb2, 0x90, 0x52, 0x42, 0x88, 0xe4, 0x16, 0x65, 0xb5, 0x5b, 0x54, 0x12, 0x56, 0x33, 0xa0, 0x3a, + 0x75, 0xf1, 0xb1, 0x1d, 0x98, 0x53, 0x7a, 0xdc, 0xd5, 0x9e, 0x18, 0x3f, 0xd4, 0x89, 0x29, 0x64, + 0x64, 0xad, 0x77, 0x63, 0x26, 0x49, 0x51, 0x45, 0xdc, 0xe5, 0xd7, 0x1a, 0x18, 0xdd, 0xd0, 0x61, + 0x04, 0xdc, 0x5e, 0x1f, 0x7a, 0x81, 0x3f, 0x1c, 0x8e, 0x90, 0x87, 0xf5, 0x75, 0x58, 0x66, 0x57, + 0x96, 0xab, 0xca, 0x47, 0x6f, 0xa1, 0xe4, 0x47, 0x00, 0x1e, 0x9a, 0xf6, 0x49, 0x3c, 0x9c, 0x84, + 0x54, 0xcd, 0xb5, 0xbd, 0xbb, 0x69, 0x81, 0x6a, 0x0e, 0xcc, 0x13, 0xba, 0xa5, 0x57, 0xf3, 0xd0, + 0x94, 0x7d, 0x4a, 0x06, 0x5b, 0x92, 0x0d, 0xf6, 0xb0, 0x4e, 0x8c, 0xc2, 0xe1, 0xb6, 0x6e, 0x40, + 0x4b, 0xad, 0xa4, 0xb0, 0xc5, 0x7f, 0x4b, 0xb1, 0xb8, 0x76, 0x60, 0x62, 0xeb, 0xf8, 0x4d, 0xf5, + 0xff, 0x1e, 0x54, 0x09, 0xa1, 0xe9, 0x59, 0xa8, 0x51, 0xde, 0x2e, 0xef, 0xd4, 0xf7, 0xae, 0xa5, + 0xa9, 0x48, 0x65, 0x1c, 0x71, 0xc2, 0x9e, 0xd8, 0x92, 0xe9, 0x08, 0x8f, 0x00, 0x42, 0x6c, 0x06, + 0xb8, 0x4f, 0x74, 0xe1, 0x61, 0xcf, 0x68, 0xb3, 0x94, 0xd4, 0x8e, 0x52, 0x52, 0xfb, 0x69, 0x94, + 0x92, 0x0e, 0x2a, 0x5f, 0x7c, 0xb5, 0xa5, 0xf5, 0x6a, 0x74, 0xcf, 0x07, 0x26, 0x46, 0xfa, 0x77, + 0xa1, 0x8a, 0x3c, 0x9b, 0x6d, 0x5f, 0x2e, 0xb8, 0x7d, 0x05, 0x79, 0x36, 0xdd, 0xac, 0x43, 0xc5, + 0x1f, 0x23, 0xaf, 0xb1, 0x42, 0x5d, 0x90, 0x7e, 0xeb, 0x0f, 0xa0, 0xe6, 0x07, 0xae, 0xe3, 0x7a, + 0x7d, 0x7c, 0xda, 0xa8, 0x52, 0x8e, 0x57, 0xd3, 0xb4, 0xfd, 0x84, 0x12, 0x3d, 0x3d, 0xed, 0x55, + 0x7d, 0xfe, 0x25, 0x1f, 0xd2, 0x83, 0x58, 0x40, 0xa6, 0x96, 0x11, 0xf7, 0x76, 0x0b, 0xea, 0x03, + 0x32, 0xd1, 0xb7, 0x91, 0xe7, 0x8f, 0xf8, 0x51, 0x00, 0x9d, 0xfa, 0x80, 0xcc, 0xb4, 0xfe, 0xaa, + 0xc1, 0xc5, 0x6e, 0xe8, 0x74, 0x5d, 0x0f, 0xd3, 0x9d, 0x2c, 0x69, 0x85, 0xca, 0xe3, 0x4b, 0x30, + 0x2c, 0x25, 0x19, 0xbe, 0xed, 0x01, 0x4a, 0x26, 0xa9, 0xbc, 0xb9, 0x49, 0x36, 0x61, 0x23, 0x45, + 0x2d, 0xe1, 0xb0, 0x4f, 0x61, 0xb5, 0x1b, 0x3a, 0x4f, 0x90, 0x39, 0xcc, 0xf6, 0xd6, 0x3c, 0x75, + 0x65, 0xa1, 0xeb, 0x70, 0x29, 0xce, 0x55, 0x48, 0xfb, 0x77, 0x09, 0x56, 0xe8, 0x82, 0x67, 0x13, + 0x49, 0x21, 0xf2, 0xec, 0x99, 0x24, 0x36, 0x22, 0x55, 0x4a, 0x80, 0x2c, 0x77, 0xec, 0x22, 0x0f, + 0x47, 0xd7, 0x42, 0x4c, 0xe8, 0xfb, 0xb0, 0xc2, 0x74, 0x0f, 0xb9, 0x51, 0x6f, 0xa5, 0x19, 0x85, + 0xcb, 0x68, 0x93, 0x3f, 0x91, 0xc6, 0xd1, 0x3e, 0xe3, 0x9f, 0x1a, 0xd4, 0x63, 0x0b, 0xb9, 0xae, + 0xa1, 0xdf, 0x82, 0x73, 0x38, 0x30, 0x6d, 0x73, 0x30, 0x44, 0x7d, 0x73, 0xe4, 0x4f, 0x04, 0xae, + 0xb5, 0x68, 0x7a, 0x9f, 0xce, 0xea, 0x37, 0x61, 0x2d, 0x40, 0xd8, 0x0d, 0x90, 0x1d, 0xd1, 0xb1, + 0xc8, 0x75, 0x96, 0xcf, 0x72, 0xb2, 0xfb, 0x70, 0x99, 0x4d, 0x90, 0xd0, 0xd1, 0x4f, 0x49, 0xd5, + 0xeb, 0xb3, 0xe5, 0x8f, 0xe2, 0x39, 0xed, 0x2e, 0x5c, 0x88, 0x6d, 0x0c, 0x90, 0x19, 0xfa, 0x1e, + 0x8f, 0x5a, 0xe7, 0x67, 0x0b, 0x3d, 0x3a, 0xcf, 0x0f, 0x84, 0x19, 0xb5, 0x75, 0x01, 0xce, 0x71, + 0x9b, 0x88, 0xb3, 0xf8, 0x9d, 0x06, 0xb5, 0x6e, 0xe8, 0xf4, 0xe8, 0x3e, 0x92, 0x84, 0xfd, 0xa9, + 0x27, 0x0e, 0x83, 0x0d, 0xf4, 0x6f, 0xcd, 0xac, 0x5d, 0xa2, 0xd6, 0xde, 0x50, 0xd7, 0x83, 0x33, + 0x0b, 0x17, 0xca, 0xcf, 0xeb, 0xb0, 0xcc, 0x15, 0x60, 0x3a, 0xf3, 0x11, 0x4f, 0xca, 0x54, 0x7c, + 0xeb, 0x22, 0x5c, 0x10, 0x08, 0x05, 0xee, 0x9f, 0x53, 0xd8, 0x87, 0xe4, 0x92, 0x0c, 0xff, 0xbf, + 0xb0, 0x67, 0x90, 0xca, 0x39, 0x90, 0x98, 0x74, 0x01, 0xc9, 0xa7, 0xa1, 0x83, 0xe5, 0x06, 0x5a, + 0x07, 0xb2, 0x34, 0xbe, 0x70, 0x51, 0xb7, 0x01, 0x24, 0x33, 0xf1, 0xc2, 0x80, 0x57, 0x75, 0x1e, + 0x9a, 0x52, 0x6e, 0x52, 0xb5, 0xc2, 0x2e, 0x75, 0x52, 0xa0, 0xc0, 0xf3, 0x5b, 0x0d, 0xde, 0x91, + 0xd7, 0x8f, 0x78, 0xd1, 0xbc, 0x30, 0xa4, 0x2d, 0xa8, 0x9b, 0xb6, 0xdd, 0x8f, 0x6a, 0xf0, 0x32, + 0xad, 0xc1, 0xc1, 0xb4, 0xed, 0x88, 0x23, 0xf5, 0xf9, 0x91, 0x7f, 0x82, 0x04, 0x4d, 0x85, 0xd2, + 0x9c, 0x65, 0xb3, 0x9c, 0x4c, 0x42, 0xbf, 0x05, 0x9b, 0xa9, 0xe8, 0x04, 0xfe, 0x53, 0x1a, 0xc6, + 0x63, 0x04, 0xdd, 0x28, 0x75, 0x2d, 0x8c, 0xff, 0x1a, 0xac, 0x12, 0x93, 0x26, 0x6a, 0xe5, 0xba, + 0x87, 0xa6, 0x11, 0x4f, 0x09, 0xda, 0x36, 0x34, 0xd3, 0x25, 0x0b, 0x6c, 0x93, 0x98, 0x69, 0x3f, + 0x8d, 0x17, 0x6d, 0xe9, 0xd0, 0x72, 0xb2, 0x7c, 0xe1, 0x13, 0x8f, 0xdb, 0x2c, 0x2e, 0x56, 0xe0, + 0xfa, 0x05, 0xad, 0xd0, 0x25, 0x82, 0x1c, 0xab, 0xe5, 0x40, 0x5b, 0xd0, 0x72, 0x2d, 0xd8, 0x56, + 0xc9, 0x17, 0x18, 0x7f, 0xc3, 0x42, 0xce, 0x41, 0xe0, 0xda, 0x8e, 0x2a, 0xe4, 0xac, 0xc3, 0x32, + 0x36, 0x03, 0x07, 0x45, 0x31, 0x96, 0x8f, 0xe4, 0xb4, 0x50, 0x4e, 0xa6, 0x85, 0xd8, 0x8d, 0xaf, + 0x14, 0xbf, 0xf1, 0xd2, 0xcd, 0x7e, 0xa9, 0xc5, 0xbc, 0x8e, 0xa6, 0x2d, 0x61, 0xbf, 0x37, 0xae, + 0x01, 0x0a, 0xd8, 0x50, 0xca, 0x9b, 0x71, 0xf7, 0x93, 0x20, 0x08, 0x13, 0xb2, 0xf8, 0xc3, 0x2c, + 0x28, 0x26, 0xbf, 0xaa, 0xd0, 0x96, 0x32, 0x9a, 0xb5, 0x90, 0x7b, 0x82, 0x94, 0xa0, 0x33, 0x2e, + 0xcb, 0x63, 0x58, 0xe1, 0xe7, 0x4f, 0x91, 0xd6, 0xf7, 0xee, 0x29, 0x92, 0xab, 0x24, 0x29, 0x2a, + 0xb3, 0x7b, 0xd1, 0x66, 0xfd, 0xfb, 0xb0, 0x44, 0x8d, 0xc0, 0xeb, 0x96, 0x3b, 0x85, 0xb8, 0xb0, + 0x4a, 0x81, 0x6d, 0x94, 0xab, 0x9f, 0xa5, 0x45, 0xaa, 0x1f, 0xe3, 0x6f, 0x1a, 0x2c, 0xb1, 0x5a, + 0x46, 0x72, 0x19, 0x2d, 0xe9, 0x32, 0xeb, 0xb0, 0x2c, 0x25, 0x73, 0x3e, 0x4a, 0x54, 0xc7, 0xe5, + 0xb7, 0xab, 0x8e, 0x2b, 0x8b, 0x56, 0xc7, 0x19, 0xfd, 0x88, 0x31, 0x84, 0x95, 0xa8, 0x67, 0x4e, + 0x76, 0xb7, 0xda, 0x5c, 0x77, 0x3b, 0x97, 0x84, 0x4b, 0x29, 0x49, 0x38, 0xe3, 0x15, 0x41, 0x76, + 0xcc, 0xcf, 0x69, 0x74, 0x91, 0x0e, 0xac, 0x70, 0x69, 0x9d, 0x13, 0x68, 0x5a, 0x3f, 0x06, 0x9d, + 0xbf, 0x13, 0x11, 0x37, 0xa4, 0xc5, 0xbb, 0x1f, 0xe4, 0x3c, 0x56, 0x35, 0xe8, 0x7d, 0x27, 0x84, + 0xc2, 0x87, 0xd9, 0x70, 0xee, 0x15, 0xea, 0x2a, 0x6d, 0x4e, 0x13, 0xdc, 0xc5, 0xcd, 0x41, 0x34, + 0x91, 0x3e, 0x41, 0x38, 0xbe, 0xba, 0x3f, 0x1c, 0xfa, 0xd3, 0xa1, 0x1b, 0xe2, 0x7c, 0x10, 0xc8, + 0x23, 0xe5, 0x1f, 0x53, 0xaa, 0xda, 0x8b, 0x86, 0x73, 0x20, 0x6e, 0xc2, 0xf5, 0x0c, 0x31, 0x02, + 0x4d, 0x9f, 0xe6, 0x96, 0x1e, 0x4d, 0x9c, 0x5f, 0x8b, 0x31, 0x58, 0x16, 0x99, 0x17, 0x20, 0x10, + 0x78, 0x34, 0xbc, 0xc4, 0xf2, 0xdf, 0x63, 0x94, 0xf7, 0x6e, 0xc8, 0x5f, 0xcf, 0x4a, 0x85, 0x5e, + 0xcf, 0x92, 0x80, 0x36, 0xe0, 0xca, 0x9c, 0x3c, 0x01, 0xc6, 0x89, 0x1e, 0x10, 0xa9, 0xa5, 0x90, + 0xcd, 0xdc, 0xef, 0xf0, 0xd8, 0x74, 0xbd, 0x1c, 0x4c, 0x9b, 0x00, 0x16, 0x21, 0xeb, 0x7b, 0xe6, + 0x08, 0x45, 0x1e, 0x47, 0x67, 0x3e, 0x36, 0x47, 0xf3, 0x28, 0x58, 0xee, 0x4a, 0x15, 0x24, 0xc0, + 0x3c, 0xa7, 0x9e, 0xc2, 0x4c, 0xf7, 0x75, 0xe3, 0x61, 0xee, 0xa2, 0x92, 0x25, 0x20, 0x59, 0xb4, + 0x77, 0x3b, 0x98, 0x04, 0x5e, 0x8f, 0x44, 0x46, 0x12, 0xd1, 0x06, 0x93, 0x60, 0x96, 0x51, 0xf9, + 0x48, 0x19, 0xe9, 0x54, 0xf5, 0x2e, 0xbb, 0xf9, 0x6c, 0x33, 0x6f, 0xe5, 0x84, 0x90, 0x48, 0xf8, + 0xde, 0x7f, 0xd6, 0xa1, 0xdc, 0x0d, 0x1d, 0xfd, 0x27, 0x50, 0x8f, 0xbf, 0xe2, 0xb6, 0x14, 0xb1, + 0x3e, 0x46, 0x63, 0xdc, 0xc9, 0xa7, 0x11, 0xc1, 0xc5, 0x82, 0xb3, 0xf2, 0x4b, 0xe9, 0x8d, 0xcc, + 0xcd, 0x9c, 0xca, 0xb8, 0x57, 0x84, 0x4a, 0x08, 0xf9, 0xb5, 0x06, 0x57, 0xd4, 0xef, 0x93, 0xdf, + 0xc8, 0xe4, 0x95, 0xb2, 0xc3, 0xf8, 0xce, 0xa2, 0x3b, 0x52, 0x90, 0xa4, 0x3d, 0x1e, 0x66, 0x23, + 0x49, 0xd9, 0x91, 0x83, 0x24, 0xe3, 0x55, 0x4f, 0x7f, 0xa9, 0xc1, 0x65, 0xd5, 0x93, 0x5e, 0x5b, + 0xc1, 0x55, 0x41, 0x6f, 0x7c, 0x7b, 0x31, 0x7a, 0x81, 0x41, 0xf8, 0x16, 0xcb, 0xe7, 0xd9, 0xbe, + 0x45, 0x69, 0x72, 0x7c, 0x4b, 0x7e, 0x13, 0x1a, 0xc2, 0xf9, 0xb9, 0xe7, 0x1e, 0xd5, 0x73, 0x42, + 0x92, 0xd0, 0xe8, 0x14, 0x24, 0x14, 0xd2, 0x7e, 0x08, 0xb5, 0xd9, 0x33, 0xcb, 0xb6, 0xf2, 0xd5, + 0x82, 0x53, 0x18, 0x3b, 0x79, 0x14, 0x82, 0xf1, 0x0f, 0xa0, 0x42, 0x1f, 0x54, 0x36, 0x32, 0x5e, + 0x42, 0x8c, 0xeb, 0x19, 0x8b, 0x82, 0xd3, 0xc7, 0xb0, 0xcc, 0x9f, 0x03, 0x36, 0x15, 0xe4, 0x6c, + 0xd9, 0xb8, 0x99, 0xb9, 0x1c, 0xe7, 0xc7, 0xfb, 0x74, 0x15, 0x3f, 0xb6, 0xac, 0xe4, 0x27, 0xf7, + 0xd9, 0xe4, 0xc0, 0xe6, 0x9a, 0xec, 0x5b, 0x99, 0xbe, 0x35, 0x23, 0x54, 0x1e, 0x98, 0xaa, 0x8b, + 0xd6, 0x03, 0xd0, 0x53, 0x3a, 0xe8, 0xdb, 0xf9, 0x6c, 0x38, 0xa9, 0xb1, 0x5b, 0x98, 0x54, 0xc8, + 0x9c, 0xc0, 0xc5, 0xb4, 0xb6, 0xf7, 0x4e, 0x3e, 0xa7, 0x88, 0xd6, 0xd8, 0x2b, 0x4e, 0x3b, 0xaf, + 0xaa, 0xd4, 0xd1, 0xde, 0x2e, 0x72, 0x6d, 0x99, 0x71, 0x77, 0x0b, 0x93, 0x0a, 0x99, 0x3f, 0x83, + 0x77, 0xd2, 0xbb, 0xd5, 0x7b, 0x45, 0x78, 0x09, 0x75, 0xbf, 0xb9, 0x08, 0xf5, 0xbc, 0x9d, 0xe5, + 0x46, 0x2f, 0xdb, 0xce, 0x12, 0x6d, 0x8e, 0x9d, 0x53, 0xbb, 0x37, 0x72, 0x21, 0x78, 0xf3, 0xbb, + 0x99, 0xd9, 0x13, 0x29, 0x2f, 0x84, 0xdc, 0xf8, 0x91, 0xec, 0x28, 0x37, 0x7d, 0x37, 0x8a, 0xb4, + 0x5a, 0x46, 0xa1, 0xb6, 0x2e, 0x2e, 0x44, 0xfe, 0x3f, 0xb2, 0x4a, 0x88, 0x44, 0xa5, 0x14, 0x92, + 0xfa, 0x0f, 0x61, 0xfd, 0x57, 0x1a, 0x34, 0x94, 0x65, 0x78, 0x47, 0x19, 0xbc, 0xd2, 0x37, 0x18, + 0xf7, 0x17, 0xdc, 0x20, 0x60, 0xb8, 0x70, 0x2e, 0xd9, 0x88, 0xbc, 0x9b, 0xa1, 0x47, 0x8c, 0xce, + 0x68, 0x17, 0xa3, 0x8b, 0xdf, 0xb9, 0x94, 0x4a, 0xff, 0xb6, 0x32, 0xb2, 0x26, 0x49, 0x95, 0x77, + 0x4e, 0x5d, 0xde, 0xeb, 0xcf, 0x60, 0x2d, 0x51, 0xdb, 0xdf, 0xcc, 0x8f, 0x16, 0x8f, 0x11, 0x32, + 0xde, 0x2b, 0x44, 0x16, 0xbf, 0xdb, 0xe9, 0x65, 0x7b, 0x86, 0x53, 0xcc, 0x53, 0x2b, 0xef, 0x76, + 0x66, 0xa5, 0x4e, 0x5d, 0x49, 0x59, 0xa7, 0x77, 0x32, 0x8d, 0x96, 0x82, 0xe1, 0xfe, 0x82, 0x1b, + 0xe2, 0xf9, 0x7e, 0x56, 0x9a, 0xab, 0xf2, 0xbd, 0xa0, 0x50, 0xe6, 0xfb, 0xb9, 0xca, 0xfb, 0xe0, + 0x47, 0x7f, 0x7e, 0xd5, 0xd4, 0xbe, 0x7c, 0xd5, 0xd4, 0xfe, 0xf1, 0xaa, 0xa9, 0x7d, 0xf1, 0xba, + 0x79, 0xe6, 0xcb, 0xd7, 0xcd, 0x33, 0x7f, 0x7f, 0xdd, 0x3c, 0xf3, 0xf9, 0x23, 0xc7, 0xc5, 0xc7, + 0x93, 0x41, 0xdb, 0xf2, 0x47, 0x1d, 0xca, 0xed, 0x3d, 0x0f, 0xe1, 0xa9, 0x1f, 0xfc, 0x94, 0x8f, + 0x86, 0xc8, 0x76, 0x50, 0xd0, 0x39, 0x8d, 0xfd, 0x6e, 0x84, 0xfe, 0xa0, 0x85, 0xfe, 0x72, 0xa4, + 0x73, 0xb2, 0x3b, 0x58, 0xa6, 0x0f, 0x14, 0xef, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x36, 0xbb, + 0xd0, 0x69, 0x20, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3622,35 +3533,30 @@ type MsgClient interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectEnrollment creates a new project credit class application, updates - // an existing one or updates an existing relationship when changes are requested. - // A project may be enrolled in at most one credit class per credit type - // but can be enrolled in multiple credit classes across different credit - // types. This can be useful, for example for issuing pre-financing forward contracts - // while making progress towards issuing credits in an outcome based program. - // Projects that are already accepted into a credit class can only update - // their metadata when an issuer has changed the status of the relations - // to "changes requested". + // CreateOrUpdateApplicaton creates a new project credit class application, updates + // the metadata for an existing one when changes have been requested, or withdraws + // the application. // // Since Revision 3 - UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) - // WithdrawProjectEnrollment withdraws a project from a credit class application - // or enrollment unilaterally on the part of a project admin. - // - // Since Revision 3 - WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) - // EvaluateProjectClass allows a credit class issuer to evaluate a project - // application or existing relationship, either approving, requesting changes to, or - // rejecting it. Any issuer in the credit class may update the project credit - // class status using this method. If more sophisticated rules are required to coordinate - // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. Issuers may not admit projects into - // credit classes using this method without the project first creating an - // application. For an issuer to admit a project into a credit class without an + CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) + // UpdateProjectEnrollment allows a credit class issuer to evaluate a project + // application - either approving, requesting changes to, or + // rejecting it, or to terminate an existing enrollment. + // Any issuer in the credit class may update the project credit + // class enrollment status using this method. If more sophisticated rules are + // required to coordinate between different issuers, the credit class admin + // should set up an on or off-chain governance process to coordinate this. + // Issuers may not admit projects into credit classes using this method + // without the project first creating an application. For an issuer to + // admit a project into a credit class without an // application the CreateProject method should be used instead. // + // If a project has not yet been accepted then the issuer may change the + // status to either changes requested, accepted or rejected. If the status + // is already accepted, the issuer may only change the status to terminated. + // // Since Revision 3 - EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) + UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -3804,27 +3710,18 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate return out, nil } -func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { - out := new(MsgUpdateProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", in, out, opts...) +func (c *msgClient) CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) { + out := new(MsgCreateOrUpdateApplicationResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/CreateOrUpdateApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) WithdrawProjectEnrollment(ctx context.Context, in *MsgWithdrawProjectEnrollment, opts ...grpc.CallOption) (*MsgWithdrawProjectEnrollmentResponse, error) { - out := new(MsgWithdrawProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) EvaluateProjectEnrollment(ctx context.Context, in *MsgEvaluateProjectEnrollment, opts ...grpc.CallOption) (*MsgEvaluateProjectEnrollmentResponse, error) { - out := new(MsgEvaluateProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment", in, out, opts...) +func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { + out := new(MsgUpdateProjectEnrollmentResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", in, out, opts...) if err != nil { return nil, err } @@ -4048,35 +3945,30 @@ type MsgServer interface { // who are not yet ready to register their project under a credit class, but who // want to create a project and receive a project ID. CreateUnregisteredProject(context.Context, *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) - // UpdateProjectEnrollment creates a new project credit class application, updates - // an existing one or updates an existing relationship when changes are requested. - // A project may be enrolled in at most one credit class per credit type - // but can be enrolled in multiple credit classes across different credit - // types. This can be useful, for example for issuing pre-financing forward contracts - // while making progress towards issuing credits in an outcome based program. - // Projects that are already accepted into a credit class can only update - // their metadata when an issuer has changed the status of the relations - // to "changes requested". + // CreateOrUpdateApplicaton creates a new project credit class application, updates + // the metadata for an existing one when changes have been requested, or withdraws + // the application. // // Since Revision 3 - UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) - // WithdrawProjectEnrollment withdraws a project from a credit class application - // or enrollment unilaterally on the part of a project admin. - // - // Since Revision 3 - WithdrawProjectEnrollment(context.Context, *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) - // EvaluateProjectClass allows a credit class issuer to evaluate a project - // application or existing relationship, either approving, requesting changes to, or - // rejecting it. Any issuer in the credit class may update the project credit - // class status using this method. If more sophisticated rules are required to coordinate - // between different issuers, the credit class admin should set up an on or off-chain - // governance process to coordinate this. Issuers may not admit projects into - // credit classes using this method without the project first creating an - // application. For an issuer to admit a project into a credit class without an + CreateOrUpdateApplication(context.Context, *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) + // UpdateProjectEnrollment allows a credit class issuer to evaluate a project + // application - either approving, requesting changes to, or + // rejecting it, or to terminate an existing enrollment. + // Any issuer in the credit class may update the project credit + // class enrollment status using this method. If more sophisticated rules are + // required to coordinate between different issuers, the credit class admin + // should set up an on or off-chain governance process to coordinate this. + // Issuers may not admit projects into credit classes using this method + // without the project first creating an application. For an issuer to + // admit a project into a credit class without an // application the CreateProject method should be used instead. // + // If a project has not yet been accepted then the issuer may change the + // status to either changes requested, accepted or rejected. If the status + // is already accepted, the issuer may only change the status to terminated. + // // Since Revision 3 - EvaluateProjectEnrollment(context.Context, *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) + UpdateProjectEnrollment(context.Context, *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) // CreateBatch creates a new batch of credits under the given project with a // start and end date representing the monitoring period, a list of credits to // be issued with each issuance specifying a recipient, the amount of tradable @@ -4208,15 +4100,12 @@ func (*UnimplementedMsgServer) CreateProject(ctx context.Context, req *MsgCreate func (*UnimplementedMsgServer) CreateUnregisteredProject(ctx context.Context, req *MsgCreateUnregisteredProject) (*MsgCreateUnregisteredProjectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUnregisteredProject not implemented") } +func (*UnimplementedMsgServer) CreateOrUpdateApplication(ctx context.Context, req *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOrUpdateApplication not implemented") +} func (*UnimplementedMsgServer) UpdateProjectEnrollment(ctx context.Context, req *MsgUpdateProjectEnrollment) (*MsgUpdateProjectEnrollmentResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectEnrollment not implemented") } -func (*UnimplementedMsgServer) WithdrawProjectEnrollment(ctx context.Context, req *MsgWithdrawProjectEnrollment) (*MsgWithdrawProjectEnrollmentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawProjectEnrollment not implemented") -} -func (*UnimplementedMsgServer) EvaluateProjectEnrollment(ctx context.Context, req *MsgEvaluateProjectEnrollment) (*MsgEvaluateProjectEnrollmentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EvaluateProjectEnrollment not implemented") -} func (*UnimplementedMsgServer) CreateBatch(ctx context.Context, req *MsgCreateBatch) (*MsgCreateBatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBatch not implemented") } @@ -4342,56 +4231,38 @@ func _Msg_CreateUnregisteredProject_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } -func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgUpdateProjectEnrollment) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_WithdrawProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgWithdrawProjectEnrollment) +func _Msg_CreateOrUpdateApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateOrUpdateApplication) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).WithdrawProjectEnrollment(ctx, in) + return srv.(MsgServer).CreateOrUpdateApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/WithdrawProjectEnrollment", + FullMethod: "/regen.ecocredit.v1.Msg/CreateOrUpdateApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).WithdrawProjectEnrollment(ctx, req.(*MsgWithdrawProjectEnrollment)) + return srv.(MsgServer).CreateOrUpdateApplication(ctx, req.(*MsgCreateOrUpdateApplication)) } return interceptor(ctx, in, info, handler) } -func _Msg_EvaluateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgEvaluateProjectEnrollment) +func _Msg_UpdateProjectEnrollment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectEnrollment) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).EvaluateProjectEnrollment(ctx, in) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/regen.ecocredit.v1.Msg/EvaluateProjectEnrollment", + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectEnrollment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).EvaluateProjectEnrollment(ctx, req.(*MsgEvaluateProjectEnrollment)) + return srv.(MsgServer).UpdateProjectEnrollment(ctx, req.(*MsgUpdateProjectEnrollment)) } return interceptor(ctx, in, info, handler) } @@ -4809,16 +4680,12 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_CreateUnregisteredProject_Handler, }, { - MethodName: "UpdateProjectEnrollment", - Handler: _Msg_UpdateProjectEnrollment_Handler, - }, - { - MethodName: "WithdrawProjectEnrollment", - Handler: _Msg_WithdrawProjectEnrollment_Handler, + MethodName: "CreateOrUpdateApplication", + Handler: _Msg_CreateOrUpdateApplication_Handler, }, { - MethodName: "EvaluateProjectEnrollment", - Handler: _Msg_EvaluateProjectEnrollment_Handler, + MethodName: "UpdateProjectEnrollment", + Handler: _Msg_UpdateProjectEnrollment_Handler, }, { MethodName: "CreateBatch", @@ -5222,101 +5089,27 @@ func (m *MsgCreateUnregisteredProjectResponse) Marshal() (dAtA []byte, err error return dAtA[:n], nil } -func (m *MsgCreateUnregisteredProjectResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgCreateUnregisteredProjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgUpdateProjectEnrollment) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgUpdateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgUpdateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Metadata) > 0 { - i -= len(m.Metadata) - copy(dAtA[i:], m.Metadata) - i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) - i-- - dAtA[i] = 0x22 - } - if len(m.ClassId) > 0 { - i -= len(m.ClassId) - copy(dAtA[i:], m.ClassId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) - i-- - dAtA[i] = 0x1a - } - if len(m.ProjectId) > 0 { - i -= len(m.ProjectId) - copy(dAtA[i:], m.ProjectId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ProjectAdmin) > 0 { - i -= len(m.ProjectAdmin) - copy(dAtA[i:], m.ProjectAdmin) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectAdmin))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgUpdateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgUpdateProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProjectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgUpdateProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateUnregisteredProjectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgWithdrawProjectEnrollment) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateOrUpdateApplication) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5326,27 +5119,46 @@ func (m *MsgWithdrawProjectEnrollment) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgWithdrawProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateOrUpdateApplication) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateOrUpdateApplication) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.Withdraw { + i-- + if m.Withdraw { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } if len(m.Metadata) > 0 { i -= len(m.Metadata) copy(dAtA[i:], m.Metadata) i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) i-- + dAtA[i] = 0x22 + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + i-- dAtA[i] = 0x1a } - if m.ApplicationId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.ProjectAdmin) > 0 { i -= len(m.ProjectAdmin) @@ -5358,7 +5170,7 @@ func (m *MsgWithdrawProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgWithdrawProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateOrUpdateApplicationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5368,12 +5180,12 @@ func (m *MsgWithdrawProjectEnrollmentResponse) Marshal() (dAtA []byte, err error return dAtA[:n], nil } -func (m *MsgWithdrawProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateOrUpdateApplicationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgWithdrawProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateOrUpdateApplicationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5381,7 +5193,7 @@ func (m *MsgWithdrawProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgEvaluateProjectEnrollment) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectEnrollment) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5391,12 +5203,12 @@ func (m *MsgEvaluateProjectEnrollment) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgEvaluateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollment) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgEvaluateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5406,17 +5218,26 @@ func (m *MsgEvaluateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, e copy(dAtA[i:], m.Metadata) i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a } - if m.Evaluation != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Evaluation)) + if m.NewStatus != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NewStatus)) + i-- + dAtA[i] = 0x20 + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.ApplicationId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.ApplicationId)) + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProjectId))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Issuer) > 0 { i -= len(m.Issuer) @@ -5428,7 +5249,7 @@ func (m *MsgEvaluateProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgEvaluateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgUpdateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5438,12 +5259,12 @@ func (m *MsgEvaluateProjectEnrollmentResponse) Marshal() (dAtA []byte, err error return dAtA[:n], nil } -func (m *MsgEvaluateProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollmentResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgEvaluateProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgUpdateProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7322,7 +7143,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Size() (n int) { return n } -func (m *MsgUpdateProjectEnrollment) Size() (n int) { +func (m *MsgCreateOrUpdateApplication) Size() (n int) { if m == nil { return 0 } @@ -7344,10 +7165,13 @@ func (m *MsgUpdateProjectEnrollment) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Withdraw { + n += 2 + } return n } -func (m *MsgUpdateProjectEnrollmentResponse) Size() (n int) { +func (m *MsgCreateOrUpdateApplicationResponse) Size() (n int) { if m == nil { return 0 } @@ -7356,50 +7180,26 @@ func (m *MsgUpdateProjectEnrollmentResponse) Size() (n int) { return n } -func (m *MsgWithdrawProjectEnrollment) Size() (n int) { +func (m *MsgUpdateProjectEnrollment) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.ProjectAdmin) + l = len(m.Issuer) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.ApplicationId != 0 { - n += 1 + sovTx(uint64(m.ApplicationId)) - } - l = len(m.Metadata) + l = len(m.ProjectId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgWithdrawProjectEnrollmentResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgEvaluateProjectEnrollment) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Issuer) + l = len(m.ClassId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.ApplicationId != 0 { - n += 1 + sovTx(uint64(m.ApplicationId)) - } - if m.Evaluation != 0 { - n += 1 + sovTx(uint64(m.Evaluation)) + if m.NewStatus != 0 { + n += 1 + sovTx(uint64(m.NewStatus)) } l = len(m.Metadata) if l > 0 { @@ -7408,7 +7208,7 @@ func (m *MsgEvaluateProjectEnrollment) Size() (n int) { return n } -func (m *MsgEvaluateProjectEnrollmentResponse) Size() (n int) { +func (m *MsgUpdateProjectEnrollmentResponse) Size() (n int) { if m == nil { return 0 } @@ -9190,7 +8990,7 @@ func (m *MsgCreateUnregisteredProjectResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { +func (m *MsgCreateOrUpdateApplication) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9213,10 +9013,10 @@ func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateOrUpdateApplication: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateOrUpdateApplication: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9347,6 +9147,26 @@ func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { } m.Metadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Withdraw", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Withdraw = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9368,7 +9188,7 @@ func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateOrUpdateApplicationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9391,10 +9211,10 @@ func (m *MsgUpdateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateOrUpdateApplicationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateOrUpdateApplicationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -9418,7 +9238,7 @@ func (m *MsgUpdateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgWithdrawProjectEnrollment) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectEnrollment) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9441,15 +9261,15 @@ func (m *MsgWithdrawProjectEnrollment) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawProjectEnrollment: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectEnrollment: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectAdmin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9477,30 +9297,11 @@ func (m *MsgWithdrawProjectEnrollment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProjectAdmin = string(dAtA[iNdEx:postIndex]) + m.Issuer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) - } - m.ApplicationId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ApplicationId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9528,111 +9329,11 @@ func (m *MsgWithdrawProjectEnrollment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Metadata = string(dAtA[iNdEx:postIndex]) + m.ProjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgWithdrawProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgWithdrawProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgEvaluateProjectEnrollment) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateProjectEnrollment: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateProjectEnrollment: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Issuer", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -9660,32 +9361,13 @@ func (m *MsgEvaluateProjectEnrollment) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Issuer = string(dAtA[iNdEx:postIndex]) + m.ClassId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ApplicationId", wireType) - } - m.ApplicationId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ApplicationId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Evaluation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NewStatus", wireType) } - m.Evaluation = 0 + m.NewStatus = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9695,12 +9377,12 @@ func (m *MsgEvaluateProjectEnrollment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Evaluation |= ProjectEnrollmentStatus(b&0x7F) << shift + m.NewStatus |= ProjectEnrollmentStatus(b&0x7F) << shift if b < 0x80 { break } } - case 4: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -9753,7 +9435,7 @@ func (m *MsgEvaluateProjectEnrollment) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgEvaluateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { +func (m *MsgUpdateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9776,10 +9458,10 @@ func (m *MsgEvaluateProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgEvaluateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgUpdateProjectEnrollmentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: From a03d1657c0d78e00d0b339913de8314915a69172 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 8 Feb 2024 13:54:11 -0500 Subject: [PATCH 020/112] docs --- proto/regen/ecocredit/v1/state.proto | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 097c95f246..9138e33ed3 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -439,7 +439,8 @@ enum ProjectEnrollmentStatus { PROJECT_ENROLLMENT_STATUS_REJECTED = 3; // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been - // terminated from the credit class. This status is used when a project was - // in the credit class but has been removed or completed. + // terminated from the credit class. This status is used when a project the + // was previously accepted into the credit class but has been removed or + // completed. PROJECT_ENROLLMENT_STATUS_TERMINATED = 4; } From 4c81f78d066703da279242143e6fdcef8119140f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 8 Feb 2024 14:03:31 -0500 Subject: [PATCH 021/112] fixes --- api/regen/ecocredit/v1/state.pulsar.go | 5 ++-- ...go => msg_create_or_update_application.go} | 14 ++++----- .../v1/msg_evaluate_project_enrollment.go | 29 ------------------- .../types/v1/msg_update_project_enrollment.go | 2 +- x/ecocredit/base/types/v1/state.pb.go | 5 ++-- 5 files changed, 14 insertions(+), 41 deletions(-) rename x/ecocredit/base/types/v1/{msg_withdraw_project_enrollment.go => msg_create_or_update_application.go} (53%) delete mode 100644 x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 1724915a7b..7a81a2f22b 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -9529,8 +9529,9 @@ const ( // rejected and that the project will not be accepted into the credit class. ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED ProjectEnrollmentStatus = 3 // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been - // terminated from the credit class. This status is used when a project was - // in the credit class but has been removed or completed. + // terminated from the credit class. This status is used when a project the + // was previously accepted into the credit class but has been removed or + // completed. ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED ProjectEnrollmentStatus = 4 ) diff --git a/x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go b/x/ecocredit/base/types/v1/msg_create_or_update_application.go similarity index 53% rename from x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go rename to x/ecocredit/base/types/v1/msg_create_or_update_application.go index 02d3e32761..4157e5843e 100644 --- a/x/ecocredit/base/types/v1/msg_withdraw_project_enrollment.go +++ b/x/ecocredit/base/types/v1/msg_create_or_update_application.go @@ -5,25 +5,25 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" ) -var _ legacytx.LegacyMsg = &MsgWithdrawProjectEnrollment{} +var _ legacytx.LegacyMsg = &MsgCreateOrUpdateApplication{} // Route implements the LegacyMsg interface. -func (m *MsgWithdrawProjectEnrollment) Route() string { return sdk.MsgTypeURL(m) } +func (m *MsgCreateOrUpdateApplication) Route() string { return sdk.MsgTypeURL(m) } // Type implements the LegacyMsg interface. -func (m *MsgWithdrawProjectEnrollment) Type() string { return sdk.MsgTypeURL(m) } +func (m *MsgCreateOrUpdateApplication) Type() string { return sdk.MsgTypeURL(m) } // GetSignBytes implements the LegacyMsg interface. -func (m *MsgWithdrawProjectEnrollment) GetSignBytes() []byte { +func (m *MsgCreateOrUpdateApplication) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) } // ValidateBasic does a sanity check on the provided data. -func (m *MsgWithdrawProjectEnrollment) ValidateBasic() error { +func (m *MsgCreateOrUpdateApplication) ValidateBasic() error { panic("implement me") } -// GetSigners returns the expected signers for MsgWithdrawProjectEnrollment. -func (m *MsgWithdrawProjectEnrollment) GetSigners() []sdk.AccAddress { +// GetSigners returns the expected signers for MsgCreateOrUpdateApplication. +func (m *MsgCreateOrUpdateApplication) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.ProjectAdmin)} } diff --git a/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go b/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go deleted file mode 100644 index 5c0731f0bc..0000000000 --- a/x/ecocredit/base/types/v1/msg_evaluate_project_enrollment.go +++ /dev/null @@ -1,29 +0,0 @@ -package v1 - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" -) - -var _ legacytx.LegacyMsg = &MsgEvaluateProjectEnrollment{} - -// Route implements the LegacyMsg interface. -func (m *MsgEvaluateProjectEnrollment) Route() string { return sdk.MsgTypeURL(m) } - -// Type implements the LegacyMsg interface. -func (m *MsgEvaluateProjectEnrollment) Type() string { return sdk.MsgTypeURL(m) } - -// GetSignBytes implements the LegacyMsg interface. -func (m *MsgEvaluateProjectEnrollment) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(m)) -} - -// ValidateBasic does a sanity check on the provided data. -func (m *MsgEvaluateProjectEnrollment) ValidateBasic() error { - panic("implement me") -} - -// GetSigners returns the expected signers for MsgEvaluateProjectEnrollment. -func (m *MsgEvaluateProjectEnrollment) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.Issuer)} -} diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go index 89d527dc51..14fcc692dd 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go @@ -25,5 +25,5 @@ func (m *MsgUpdateProjectEnrollment) ValidateBasic() error { // GetSigners returns the expected signers for MsgUpdateProjectEnrollment. func (m *MsgUpdateProjectEnrollment) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.ProjectAdmin)} + return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.Issuer)} } diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 459e56c15a..1c8b7836c5 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -46,8 +46,9 @@ const ( // rejected and that the project will not be accepted into the credit class. ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED ProjectEnrollmentStatus = 3 // PROJECT_ENROLLMENT_STATUS_TERMINATED indicates that the project has been - // terminated from the credit class. This status is used when a project was - // in the credit class but has been removed or completed. + // terminated from the credit class. This status is used when a project the + // was previously accepted into the credit class but has been removed or + // completed. ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED ProjectEnrollmentStatus = 4 ) From 222a6afe42a61ea31e9f95cf2440029e1bb8538a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 12 Feb 2024 15:02:06 -0500 Subject: [PATCH 022/112] tests --- .../msg_create_unregistered_project.feature | 3 + .../msg_create_or_update_application.feature | 61 +++++++++++++++++++ .../msg_update_project_enrollment.feature | 28 +++++++++ 3 files changed, 92 insertions(+) create mode 100644 x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature create mode 100644 x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature diff --git a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature index e69de29bb2..ba05131477 100644 --- a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature @@ -0,0 +1,3 @@ +Feature: CreateUnregisteredProject + + Rule: \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature new file mode 100644 index 0000000000..c894ff155a --- /dev/null +++ b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature @@ -0,0 +1,61 @@ +Feature: MsgCreateOrUpdateApplication + + Rule: project_admin is address and signer + Scenario Outline: validate admin + Given project admin "" + * project ID "P1" + * class ID "C1" + When the message is validated + Then expect error contains "" + + Examples: + | admin | error | + | | "admin is required" | + | 0x0 | "admin is not a valid address" | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + + Scenario: project admin is signer + Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + Then expect GetSigners returns "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + + Rule: project_id should be non-empty + Scenario Outline: validate project ID + Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "" + * class ID "C1" + When the message is validated + Then expect error contains "" + + Examples: + | project_id | error | + | | "project_id is required" | + | P1 | | + + Rule: class_id should be non-empty + Scenario Outline: validate class ID + Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "P1" + * class ID "" + When the message is validated + Then expect error contains "" + + Examples: + | class_id | error | + | | "class_id is required" | + | C1 | | + + Rule: metadata is optional and at most 256 characters + Scenario Outline: validate metadata + Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "P1" + * class ID "C1" + * metadata "" + When the message is validated + Then expect error contains "" + + Examples: + | metadata | error | + | | | + | a | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus. | | + | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus.! | "metadata is too long" | diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature new file mode 100644 index 0000000000..e3d707d1c2 --- /dev/null +++ b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature @@ -0,0 +1,28 @@ +Feature: MsgUpdateProjectEnrollment + + Rule: issuer is address and signer + Scenario Outline: validate issuer + Given issuer "" + * project ID "P1" + * class ID "C1" + * new status "PROJECT_ENROLLMENT_STATUS_ACCEPTED" + When the message is validated + Then expect error contains "" + + Examples: + | issuer | error | + | | "issuer is required" | + | 0x0 | "issuer is not a valid address" | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + + Scenario: issuer is signer + Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + Then expect GetSigners returns "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + + Rule: project_id is non-empty + + Rule: class_id is non-empty + + Rule: new_status is specified + + Rule: metadata is optional and at most 256 characters \ No newline at end of file From d5feae96ec060e8ca935b675d797d4e26bc41ccb Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 12 Feb 2024 15:31:06 -0500 Subject: [PATCH 023/112] tests --- .../msg_create_unregistered_project.feature | 36 ++++++------ .../v1/msg_create_or_update_application.go | 2 +- .../v1/msg_create_unregistered_project.go | 22 +++++++- .../msg_create_unregistered_project_test.go | 56 +++++++++++++++++++ 4 files changed, 96 insertions(+), 20 deletions(-) create mode 100644 x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go diff --git a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature index 4fa8590681..3b26fdf574 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature @@ -8,10 +8,10 @@ Feature: MsgCreateUnregisteredProject Then expect error contains "" Examples: - | admin | error | - | | "admin is required" | - | 0x0 | "admin is not a valid address" | - | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + | admin | error | + | | admin | + | 0x0 | admin | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | Scenario: admin is signer Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" @@ -25,13 +25,13 @@ Feature: MsgCreateUnregisteredProject Then expect error contains "" Examples: - | jurisdiction | error | - | | "jurisdiction is required" | - | "US" | | - | "US123" | "jurisdiction is invalid" | - | "US-NY" | | - | "US-NY123" | "jurisdiction is invalid" | - | "US-NY-123" | | + | jurisdiction | error | + | | jurisdiction | + | US | | + | US123 | jurisdiction | + | US-NY | | + | US-NY123 | jurisdiction | + | US-NY 123 | | Rule: metadata is optional and must be at most 256 characters Scenario Outline: validate metadata @@ -45,8 +45,8 @@ Feature: MsgCreateUnregisteredProject | metadata | error | | | | | a | | - | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus. | | - | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus.! | "metadata is too long" | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | Rule: reference is optional and at most 32 characters Scenario Outline: validate reference @@ -57,8 +57,8 @@ Feature: MsgCreateUnregisteredProject Then expect error contains "" Examples: - | reference | error | - | | | - | a | | - | This is a string with 32 chars. | | - | This is a string with 33 chars.! | "reference is too long" | \ No newline at end of file + | reference | error | + | | | + | a | | + | This is a string with 32 chars.. | | + | This is a string with 33 chars..! | reference | \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/msg_create_or_update_application.go b/x/ecocredit/base/types/v1/msg_create_or_update_application.go index 4157e5843e..82053bfaff 100644 --- a/x/ecocredit/base/types/v1/msg_create_or_update_application.go +++ b/x/ecocredit/base/types/v1/msg_create_or_update_application.go @@ -20,7 +20,7 @@ func (m *MsgCreateOrUpdateApplication) GetSignBytes() []byte { // ValidateBasic does a sanity check on the provided data. func (m *MsgCreateOrUpdateApplication) ValidateBasic() error { - panic("implement me") + return nil } // GetSigners returns the expected signers for MsgCreateOrUpdateApplication. diff --git a/x/ecocredit/base/types/v1/msg_create_unregistered_project.go b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go index 4f19f58642..f2fa0d4626 100644 --- a/x/ecocredit/base/types/v1/msg_create_unregistered_project.go +++ b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go @@ -2,7 +2,11 @@ package v1 import ( sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" + + "github.com/regen-network/regen-ledger/x/ecocredit/v3" + "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" ) var _ legacytx.LegacyMsg = &MsgCreateUnregisteredProject{} @@ -20,7 +24,23 @@ func (m *MsgCreateUnregisteredProject) GetSignBytes() []byte { // ValidateBasic does a sanity check on the provided data. func (m *MsgCreateUnregisteredProject) ValidateBasic() error { - panic("implement me") + if _, err := sdk.AccAddressFromBech32(m.Admin); err != nil { + return sdkerrors.ErrInvalidAddress.Wrapf("admin: %s", err) + } + + if err := base.ValidateJurisdiction(m.Jurisdiction); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("jurisdiction: %s", err) + } + + if len(m.Metadata) > base.MaxMetadataLength { + return ecocredit.ErrMaxLimit.Wrapf("metadata: max length %d", base.MaxMetadataLength) + } + + if m.ReferenceId != "" && len(m.ReferenceId) > MaxReferenceIDLength { + return ecocredit.ErrMaxLimit.Wrapf("reference id: max length %d", MaxReferenceIDLength) + } + + return nil } // GetSigners returns the expected signers for MsgCreateUnregisteredProject. diff --git a/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go b/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go new file mode 100644 index 0000000000..136d287c28 --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go @@ -0,0 +1,56 @@ +package v1 + +import ( + "testing" + + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" +) + +type msgCreateUnregisteredProject struct { + gocuke.TestingT + msg *MsgCreateUnregisteredProject + err error +} + +func TestMsgCreateUnregisteredProject(t *testing.T) { + gocuke.NewRunner(t, &msgCreateUnregisteredProject{}).Path("./features/msg_create_unregistered_project.feature").Run() +} + +func (s *msgCreateUnregisteredProject) Before() { + s.msg = &MsgCreateUnregisteredProject{} +} + +func (s *msgCreateUnregisteredProject) Admin(a string) { + s.msg.Admin = a +} + +func (s *msgCreateUnregisteredProject) Jurisdiction(a string) { + s.msg.Jurisdiction = a +} + +func (s *msgCreateUnregisteredProject) Metadata(a string) { + s.msg.Metadata = a +} + +func (s *msgCreateUnregisteredProject) Reference(a string) { + s.msg.ReferenceId = a +} + +func (s *msgCreateUnregisteredProject) TheMessageIsValidated() { + s.err = s.msg.ValidateBasic() +} + +func (s *msgCreateUnregisteredProject) ExpectErrorContains(a string) { + if a != "" { + require.ErrorContains(s, s.err, a) + } else { + require.NoError(s, s.err) + } +} + +func (s *msgCreateUnregisteredProject) ExpectGetsignersReturns(a string) { + signers := s.msg.GetSigners() + require.Len(s, signers, 1) + require.Equal(s, a, s.msg.GetSigners()[0].String()) +} From 4921fbeb7ce8c590f85d1344f6ec802e59f07e98 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 12 Feb 2024 16:17:15 -0500 Subject: [PATCH 024/112] tests and validation --- .../msg_create_or_update_application.feature | 30 +++++----- .../msg_create_unregistered_project.feature | 14 ++--- .../v1/msg_create_or_update_application.go | 20 +++++++ .../msg_create_or_update_application_test.go | 56 +++++++++++++++++++ 4 files changed, 98 insertions(+), 22 deletions(-) create mode 100644 x/ecocredit/base/types/v1/msg_create_or_update_application_test.go diff --git a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature index c894ff155a..1c1a5c15ca 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature @@ -9,10 +9,10 @@ Feature: MsgCreateOrUpdateApplication Then expect error contains "" Examples: - | admin | error | - | | "admin is required" | - | 0x0 | "admin is not a valid address" | - | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + | admin | error | + | | project admin | + | 0x0 | project admin | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | Scenario: project admin is signer Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" @@ -27,9 +27,9 @@ Feature: MsgCreateOrUpdateApplication Then expect error contains "" Examples: - | project_id | error | - | | "project_id is required" | - | P1 | | + | project_id | error | + | | project id | + | P1 | | Rule: class_id should be non-empty Scenario Outline: validate class ID @@ -40,9 +40,9 @@ Feature: MsgCreateOrUpdateApplication Then expect error contains "" Examples: - | class_id | error | - | | "class_id is required" | - | C1 | | + | class_id | error | + | | class id | + | C1 | | Rule: metadata is optional and at most 256 characters Scenario Outline: validate metadata @@ -54,8 +54,8 @@ Feature: MsgCreateOrUpdateApplication Then expect error contains "" Examples: - | metadata | error | - | | | - | a | | - | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus. | | - | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt efficitur. Vivamus.! | "metadata is too long" | + | metadata | error | + | | | + | a | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | diff --git a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature index 3b26fdf574..59b0530d67 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature @@ -42,10 +42,10 @@ Feature: MsgCreateUnregisteredProject Then expect error contains "" Examples: - | metadata | error | - | | | - | a | | - | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | + | metadata | error | + | | | + | a | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | Rule: reference is optional and at most 32 characters @@ -57,8 +57,8 @@ Feature: MsgCreateUnregisteredProject Then expect error contains "" Examples: - | reference | error | - | | | - | a | | + | reference | error | + | | | + | a | | | This is a string with 32 chars.. | | | This is a string with 33 chars..! | reference | \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/msg_create_or_update_application.go b/x/ecocredit/base/types/v1/msg_create_or_update_application.go index 82053bfaff..1eb7e7def4 100644 --- a/x/ecocredit/base/types/v1/msg_create_or_update_application.go +++ b/x/ecocredit/base/types/v1/msg_create_or_update_application.go @@ -2,7 +2,11 @@ package v1 import ( sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" + + "github.com/regen-network/regen-ledger/x/ecocredit/v3" + "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" ) var _ legacytx.LegacyMsg = &MsgCreateOrUpdateApplication{} @@ -20,6 +24,22 @@ func (m *MsgCreateOrUpdateApplication) GetSignBytes() []byte { // ValidateBasic does a sanity check on the provided data. func (m *MsgCreateOrUpdateApplication) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.ProjectAdmin); err != nil { + return sdkerrors.ErrInvalidAddress.Wrapf("project admin: %s", err) + } + + if m.ProjectId == "" { + return sdkerrors.ErrInvalidRequest.Wrap("project id cannot be empty") + } + + if m.ClassId == "" { + return sdkerrors.ErrInvalidRequest.Wrap("class id cannot be empty") + } + + if len(m.Metadata) > base.MaxMetadataLength { + return ecocredit.ErrMaxLimit.Wrapf("metadata: max length %d", base.MaxMetadataLength) + } + return nil } diff --git a/x/ecocredit/base/types/v1/msg_create_or_update_application_test.go b/x/ecocredit/base/types/v1/msg_create_or_update_application_test.go new file mode 100644 index 0000000000..955fee6cff --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_create_or_update_application_test.go @@ -0,0 +1,56 @@ +package v1 + +import ( + "testing" + + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" +) + +type msgCreateOrUpdateApplication struct { + gocuke.TestingT + msg *MsgCreateOrUpdateApplication + err error +} + +func TestMsgCreateOrUpdateApplication(t *testing.T) { + gocuke.NewRunner(t, &msgCreateOrUpdateApplication{}).Path("./features/msg_create_or_update_application.feature").Run() +} + +func (s *msgCreateOrUpdateApplication) Before() { + s.msg = &MsgCreateOrUpdateApplication{} +} + +func (s *msgCreateOrUpdateApplication) ProjectAdmin(a string) { + s.msg.ProjectAdmin = a +} + +func (s *msgCreateOrUpdateApplication) ProjectId(a string) { + s.msg.ProjectId = a +} + +func (s *msgCreateOrUpdateApplication) ClassId(a string) { + s.msg.ClassId = a +} + +func (s *msgCreateOrUpdateApplication) Metadata(a string) { + s.msg.Metadata = a +} + +func (s *msgCreateOrUpdateApplication) TheMessageIsValidated() { + s.err = s.msg.ValidateBasic() +} + +func (s *msgCreateOrUpdateApplication) ExpectErrorContains(a string) { + if a != "" { + require.ErrorContains(s, s.err, a) + } else { + require.NoError(s, s.err) + } +} + +func (s *msgCreateOrUpdateApplication) ExpectGetsignersReturns(a string) { + signers := s.msg.GetSigners() + require.Len(s, signers, 1) + require.Equal(s, a, s.msg.GetSigners()[0].String()) +} From 84ac1a4a441eabfe77a83a95a011f40fa6ca6e7d Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 13 Feb 2024 11:04:20 -0500 Subject: [PATCH 025/112] add project creation fee --- api/regen/ecocredit/v1/query.pulsar.go | 7 +- api/regen/ecocredit/v1/state.cosmos_orm.go | 42 + api/regen/ecocredit/v1/state.pulsar.go | 580 ++++- api/regen/ecocredit/v1/tx.pulsar.go | 2585 +++++++++++++++----- api/regen/ecocredit/v1/tx_grpc.pb.go | 49 + proto/regen/ecocredit/v1/state.proto | 14 + proto/regen/ecocredit/v1/tx.proto | 45 +- x/ecocredit/base/types/v1/state.pb.go | 365 ++- x/ecocredit/base/types/v1/tx.pb.go | 922 +++++-- 9 files changed, 3634 insertions(+), 975 deletions(-) diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index f15d80e300..410b320c47 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -15,6 +11,9 @@ import ( 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 ( diff --git a/api/regen/ecocredit/v1/state.cosmos_orm.go b/api/regen/ecocredit/v1/state.cosmos_orm.go index c5dce0e1ce..a2d22d45b3 100644 --- a/api/regen/ecocredit/v1/state.cosmos_orm.go +++ b/api/regen/ecocredit/v1/state.cosmos_orm.go @@ -2203,6 +2203,36 @@ func NewProjectEnrollmentTable(db ormtable.Schema) (ProjectEnrollmentTable, erro return projectEnrollmentTable{table}, nil } +// singleton store +type ProjectFeeTable interface { + Get(ctx context.Context) (*ProjectFee, error) + Save(ctx context.Context, projectFee *ProjectFee) error +} + +type projectFeeTable struct { + table ormtable.Table +} + +var _ ProjectFeeTable = projectFeeTable{} + +func (x projectFeeTable) Get(ctx context.Context) (*ProjectFee, error) { + projectFee := &ProjectFee{} + _, err := x.table.Get(ctx, projectFee) + return projectFee, err +} + +func (x projectFeeTable) Save(ctx context.Context, projectFee *ProjectFee) error { + return x.table.Save(ctx, projectFee) +} + +func NewProjectFeeTable(db ormtable.Schema) (ProjectFeeTable, error) { + table := db.GetTable(&ProjectFee{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ProjectFee{}).ProtoReflect().Descriptor().FullName())) + } + return &projectFeeTable{table}, nil +} + type StateStore interface { CreditTypeTable() CreditTypeTable ClassTable() ClassTable @@ -2221,6 +2251,7 @@ type StateStore interface { ClassFeeTable() ClassFeeTable AllowedBridgeChainTable() AllowedBridgeChainTable ProjectEnrollmentTable() ProjectEnrollmentTable + ProjectFeeTable() ProjectFeeTable doNotImplement() } @@ -2243,6 +2274,7 @@ type stateStore struct { classFee ClassFeeTable allowedBridgeChain AllowedBridgeChainTable projectEnrollment ProjectEnrollmentTable + projectFee ProjectFeeTable } func (x stateStore) CreditTypeTable() CreditTypeTable { @@ -2313,6 +2345,10 @@ func (x stateStore) ProjectEnrollmentTable() ProjectEnrollmentTable { return x.projectEnrollment } +func (x stateStore) ProjectFeeTable() ProjectFeeTable { + return x.projectFee +} + func (stateStore) doNotImplement() {} var _ StateStore = stateStore{} @@ -2403,6 +2439,11 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { return nil, err } + projectFeeTable, err := NewProjectFeeTable(db) + if err != nil { + return nil, err + } + return stateStore{ creditTypeTable, classTable, @@ -2421,5 +2462,6 @@ func NewStateStore(db ormtable.Schema) (StateStore, error) { classFeeTable, allowedBridgeChainTable, projectEnrollmentTable, + projectFeeTable, }, nil } diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 7a81a2f22b..fe01d647ac 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -9495,6 +9495,441 @@ func (x *fastReflection_ProjectEnrollment) ProtoMethods() *protoiface.Methods { } } +var ( + md_ProjectFee protoreflect.MessageDescriptor + fd_ProjectFee_fee protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_state_proto_init() + md_ProjectFee = File_regen_ecocredit_v1_state_proto.Messages().ByName("ProjectFee") + fd_ProjectFee_fee = md_ProjectFee.Fields().ByName("fee") +} + +var _ protoreflect.Message = (*fastReflection_ProjectFee)(nil) + +type fastReflection_ProjectFee ProjectFee + +func (x *ProjectFee) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProjectFee)(x) +} + +func (x *ProjectFee) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_state_proto_msgTypes[17] + 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_ProjectFee_messageType fastReflection_ProjectFee_messageType +var _ protoreflect.MessageType = fastReflection_ProjectFee_messageType{} + +type fastReflection_ProjectFee_messageType struct{} + +func (x fastReflection_ProjectFee_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProjectFee)(nil) +} +func (x fastReflection_ProjectFee_messageType) New() protoreflect.Message { + return new(fastReflection_ProjectFee) +} +func (x fastReflection_ProjectFee_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectFee +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ProjectFee) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectFee +} + +// 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_ProjectFee) Type() protoreflect.MessageType { + return _fastReflection_ProjectFee_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ProjectFee) New() protoreflect.Message { + return new(fastReflection_ProjectFee) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ProjectFee) Interface() protoreflect.ProtoMessage { + return (*ProjectFee)(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_ProjectFee) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_ProjectFee_fee, 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_ProjectFee) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + return x.Fee != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + x.Fee = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.ProjectFee.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.ProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.ProjectFee 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_ProjectFee) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.ProjectFee", 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_ProjectFee) 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_ProjectFee) 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_ProjectFee) 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_ProjectFee) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ProjectFee) + 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.Fee != nil { + l = options.Size(x.Fee) + 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().(*ProjectFee) + 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.Fee != nil { + encoded, err := options.Marshal(x.Fee) + 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().(*ProjectFee) + 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: ProjectFee: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectFee: 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 Fee", 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.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); 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 @@ -10664,6 +11099,47 @@ func (x *ProjectEnrollment) GetEnrollmentMetadata() string { return "" } +// ProjectFee is the project creation fee. If not set, a project creation fee is +// not required. This table is controlled via governance. +// +// Since Revision 3 +type ProjectFee struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // fee is the project creation fee. If not set, a project creation fee is not + // required. + Fee *v1beta1.Coin `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (x *ProjectFee) Reset() { + *x = ProjectFee{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_state_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectFee) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectFee) ProtoMessage() {} + +// Deprecated: Use ProjectFee.ProtoReflect.Descriptor instead. +func (*ProjectFee) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_state_proto_rawDescGZIP(), []int{17} +} + +func (x *ProjectFee) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + var File_regen_ecocredit_v1_state_proto protoreflect.FileDescriptor var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ @@ -10854,37 +11330,41 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, 0x09, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x2a, 0xef, 0x01, - 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x22, 0x43, 0x0a, + 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, + 0x08, 0x12, 0x2a, 0xef, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, + 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, + 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, - 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, - 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, - 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x42, - 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, + 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, + 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, + 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x04, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, + 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, + 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10900,7 +11380,7 @@ func file_regen_ecocredit_v1_state_proto_rawDescGZIP() []byte { } var file_regen_ecocredit_v1_state_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_regen_ecocredit_v1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ (ProjectEnrollmentStatus)(0), // 0: regen.ecocredit.v1.ProjectEnrollmentStatus (*CreditType)(nil), // 1: regen.ecocredit.v1.CreditType @@ -10920,20 +11400,22 @@ var file_regen_ecocredit_v1_state_proto_goTypes = []interface{}{ (*ClassFee)(nil), // 15: regen.ecocredit.v1.ClassFee (*AllowedBridgeChain)(nil), // 16: regen.ecocredit.v1.AllowedBridgeChain (*ProjectEnrollment)(nil), // 17: regen.ecocredit.v1.ProjectEnrollment - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin + (*ProjectFee)(nil), // 18: regen.ecocredit.v1.ProjectFee + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp + (*v1beta1.Coin)(nil), // 20: cosmos.base.v1beta1.Coin } var file_regen_ecocredit_v1_state_proto_depIdxs = []int32{ - 18, // 0: regen.ecocredit.v1.Batch.start_date:type_name -> google.protobuf.Timestamp - 18, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp - 18, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp - 19, // 3: regen.ecocredit.v1.ClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 19, // 0: regen.ecocredit.v1.Batch.start_date:type_name -> google.protobuf.Timestamp + 19, // 1: regen.ecocredit.v1.Batch.end_date:type_name -> google.protobuf.Timestamp + 19, // 2: regen.ecocredit.v1.Batch.issuance_date:type_name -> google.protobuf.Timestamp + 20, // 3: regen.ecocredit.v1.ClassFee.fee:type_name -> cosmos.base.v1beta1.Coin 0, // 4: regen.ecocredit.v1.ProjectEnrollment.status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus - 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 + 20, // 5: regen.ecocredit.v1.ProjectFee.fee:type_name -> cosmos.base.v1beta1.Coin + 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_v1_state_proto_init() } @@ -11146,6 +11628,18 @@ func file_regen_ecocredit_v1_state_proto_init() { return nil } } + file_regen_ecocredit_v1_state_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectFee); 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{ @@ -11153,7 +11647,7 @@ func file_regen_ecocredit_v1_state_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_state_proto_rawDesc, NumEnums: 1, - NumMessages: 17, + NumMessages: 18, NumExtensions: 0, NumServices: 0, }, diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 5afc83cb53..253d959159 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -15,6 +11,9 @@ import ( 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 ( @@ -2050,6 +2049,7 @@ var ( fd_MsgCreateProject_metadata protoreflect.FieldDescriptor fd_MsgCreateProject_jurisdiction protoreflect.FieldDescriptor fd_MsgCreateProject_reference_id protoreflect.FieldDescriptor + fd_MsgCreateProject_fee protoreflect.FieldDescriptor ) func init() { @@ -2060,6 +2060,7 @@ func init() { fd_MsgCreateProject_metadata = md_MsgCreateProject.Fields().ByName("metadata") fd_MsgCreateProject_jurisdiction = md_MsgCreateProject.Fields().ByName("jurisdiction") fd_MsgCreateProject_reference_id = md_MsgCreateProject.Fields().ByName("reference_id") + fd_MsgCreateProject_fee = md_MsgCreateProject.Fields().ByName("fee") } var _ protoreflect.Message = (*fastReflection_MsgCreateProject)(nil) @@ -2157,6 +2158,12 @@ func (x *fastReflection_MsgCreateProject) Range(f func(protoreflect.FieldDescrip return } } + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_MsgCreateProject_fee, value) { + return + } + } } // Has reports whether a field is populated. @@ -2182,6 +2189,8 @@ func (x *fastReflection_MsgCreateProject) Has(fd protoreflect.FieldDescriptor) b return x.Jurisdiction != "" case "regen.ecocredit.v1.MsgCreateProject.reference_id": return x.ReferenceId != "" + case "regen.ecocredit.v1.MsgCreateProject.fee": + return x.Fee != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateProject")) @@ -2208,6 +2217,8 @@ func (x *fastReflection_MsgCreateProject) Clear(fd protoreflect.FieldDescriptor) x.Jurisdiction = "" case "regen.ecocredit.v1.MsgCreateProject.reference_id": x.ReferenceId = "" + case "regen.ecocredit.v1.MsgCreateProject.fee": + x.Fee = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateProject")) @@ -2239,6 +2250,9 @@ func (x *fastReflection_MsgCreateProject) Get(descriptor protoreflect.FieldDescr case "regen.ecocredit.v1.MsgCreateProject.reference_id": value := x.ReferenceId return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateProject.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateProject")) @@ -2269,6 +2283,8 @@ func (x *fastReflection_MsgCreateProject) Set(fd protoreflect.FieldDescriptor, v x.Jurisdiction = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateProject.reference_id": x.ReferenceId = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateProject.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateProject")) @@ -2289,6 +2305,11 @@ func (x *fastReflection_MsgCreateProject) Set(fd protoreflect.FieldDescriptor, v // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgCreateProject) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateProject.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) case "regen.ecocredit.v1.MsgCreateProject.admin": panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgCreateProject is not mutable")) case "regen.ecocredit.v1.MsgCreateProject.class_id": @@ -2322,6 +2343,9 @@ func (x *fastReflection_MsgCreateProject) NewField(fd protoreflect.FieldDescript return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgCreateProject.reference_id": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateProject.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateProject")) @@ -2411,6 +2435,10 @@ func (x *fastReflection_MsgCreateProject) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.Fee != nil { + l = options.Size(x.Fee) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -2440,6 +2468,20 @@ func (x *fastReflection_MsgCreateProject) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Fee != nil { + encoded, err := options.Marshal(x.Fee) + 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 len(x.ReferenceId) > 0 { i -= len(x.ReferenceId) copy(dAtA[i:], x.ReferenceId) @@ -2684,6 +2726,42 @@ func (x *fastReflection_MsgCreateProject) ProtoMethods() *protoiface.Methods { } x.ReferenceId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", 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.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -3145,6 +3223,7 @@ var ( fd_MsgCreateUnregisteredProject_metadata protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_jurisdiction protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_reference_id protoreflect.FieldDescriptor + fd_MsgCreateUnregisteredProject_fee protoreflect.FieldDescriptor ) func init() { @@ -3154,6 +3233,7 @@ func init() { fd_MsgCreateUnregisteredProject_metadata = md_MsgCreateUnregisteredProject.Fields().ByName("metadata") fd_MsgCreateUnregisteredProject_jurisdiction = md_MsgCreateUnregisteredProject.Fields().ByName("jurisdiction") fd_MsgCreateUnregisteredProject_reference_id = md_MsgCreateUnregisteredProject.Fields().ByName("reference_id") + fd_MsgCreateUnregisteredProject_fee = md_MsgCreateUnregisteredProject.Fields().ByName("fee") } var _ protoreflect.Message = (*fastReflection_MsgCreateUnregisteredProject)(nil) @@ -3245,6 +3325,12 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Range(f func(protoreflect. return } } + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_MsgCreateUnregisteredProject_fee, value) { + return + } + } } // Has reports whether a field is populated. @@ -3268,6 +3354,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Has(fd protoreflect.FieldD return x.Jurisdiction != "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": return x.ReferenceId != "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + return x.Fee != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3292,6 +3380,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Clear(fd protoreflect.Fiel x.Jurisdiction = "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": x.ReferenceId = "" + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + x.Fee = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3320,6 +3410,9 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Get(descriptor protoreflec case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": value := x.ReferenceId return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3348,6 +3441,8 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldD x.Jurisdiction = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": x.ReferenceId = value.Interface().(string) + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3368,6 +3463,11 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldD // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_MsgCreateUnregisteredProject) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.admin": panic(fmt.Errorf("field admin of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.metadata": @@ -3397,6 +3497,9 @@ func (x *fastReflection_MsgCreateUnregisteredProject) NewField(fd protoreflect.F return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3482,6 +3585,10 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.Fee != nil { + l = options.Size(x.Fee) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -3511,6 +3618,20 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Fee != nil { + encoded, err := options.Marshal(x.Fee) + 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.ReferenceId) > 0 { i -= len(x.ReferenceId) copy(dAtA[i:], x.ReferenceId) @@ -3716,6 +3837,42 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface } x.ReferenceId = 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 Fee", 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.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -6270,6 +6427,7 @@ var ( fd_MsgCreateBatch_end_date protoreflect.FieldDescriptor fd_MsgCreateBatch_open protoreflect.FieldDescriptor fd_MsgCreateBatch_origin_tx protoreflect.FieldDescriptor + fd_MsgCreateBatch_class_id protoreflect.FieldDescriptor ) func init() { @@ -6283,6 +6441,7 @@ func init() { fd_MsgCreateBatch_end_date = md_MsgCreateBatch.Fields().ByName("end_date") fd_MsgCreateBatch_open = md_MsgCreateBatch.Fields().ByName("open") fd_MsgCreateBatch_origin_tx = md_MsgCreateBatch.Fields().ByName("origin_tx") + fd_MsgCreateBatch_class_id = md_MsgCreateBatch.Fields().ByName("class_id") } var _ protoreflect.Message = (*fastReflection_MsgCreateBatch)(nil) @@ -6398,6 +6557,12 @@ func (x *fastReflection_MsgCreateBatch) Range(f func(protoreflect.FieldDescripto return } } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_MsgCreateBatch_class_id, value) { + return + } + } } // Has reports whether a field is populated. @@ -6429,6 +6594,8 @@ func (x *fastReflection_MsgCreateBatch) Has(fd protoreflect.FieldDescriptor) boo return x.Open != false case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": return x.OriginTx != nil + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + return x.ClassId != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6461,6 +6628,8 @@ func (x *fastReflection_MsgCreateBatch) Clear(fd protoreflect.FieldDescriptor) { x.Open = false case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": x.OriginTx = nil + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + x.ClassId = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6504,6 +6673,9 @@ func (x *fastReflection_MsgCreateBatch) Get(descriptor protoreflect.FieldDescrip case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": value := x.OriginTx return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6542,6 +6714,8 @@ func (x *fastReflection_MsgCreateBatch) Set(fd protoreflect.FieldDescriptor, val x.Open = value.Bool() case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": x.OriginTx = value.Message().Interface().(*OriginTx) + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + x.ClassId = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6591,6 +6765,8 @@ func (x *fastReflection_MsgCreateBatch) Mutable(fd protoreflect.FieldDescriptor) panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) case "regen.ecocredit.v1.MsgCreateBatch.open": panic(fmt.Errorf("field open of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.MsgCreateBatch is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6624,6 +6800,8 @@ func (x *fastReflection_MsgCreateBatch) NewField(fd protoreflect.FieldDescriptor case "regen.ecocredit.v1.MsgCreateBatch.origin_tx": m := new(OriginTx) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1.MsgCreateBatch.class_id": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateBatch")) @@ -6726,6 +6904,10 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { l = options.Size(x.OriginTx) n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6755,6 +6937,13 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + 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] = 0x4a + } if x.OriginTx != nil { encoded, err := options.Marshal(x.OriginTx) if err != nil { @@ -7151,6 +7340,38 @@ func (x *fastReflection_MsgCreateBatch) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 9: + 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 default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -10153,7 +10374,7 @@ func (x *MsgSend_SendCredits) ProtoReflect() protoreflect.Message { } func (x *MsgSend_SendCredits) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20576,7 +20797,7 @@ func (x *MsgBridgeReceive_Batch) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Batch) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21278,7 +21499,7 @@ func (x *MsgBridgeReceive_Project) ProtoReflect() protoreflect.Message { } func (x *MsgBridgeReceive_Project) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25652,27 +25873,27 @@ func (x *fastReflection_MsgUpdateClassFeeResponse) ProtoMethods() *protoiface.Me } var ( - md_MsgAddAllowedBridgeChain protoreflect.MessageDescriptor - fd_MsgAddAllowedBridgeChain_authority protoreflect.FieldDescriptor - fd_MsgAddAllowedBridgeChain_chain_name protoreflect.FieldDescriptor + md_MsgUpdateProjectFee protoreflect.MessageDescriptor + fd_MsgUpdateProjectFee_authority protoreflect.FieldDescriptor + fd_MsgUpdateProjectFee_fee protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_tx_proto_init() - md_MsgAddAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChain") - fd_MsgAddAllowedBridgeChain_authority = md_MsgAddAllowedBridgeChain.Fields().ByName("authority") - fd_MsgAddAllowedBridgeChain_chain_name = md_MsgAddAllowedBridgeChain.Fields().ByName("chain_name") + md_MsgUpdateProjectFee = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectFee") + fd_MsgUpdateProjectFee_authority = md_MsgUpdateProjectFee.Fields().ByName("authority") + fd_MsgUpdateProjectFee_fee = md_MsgUpdateProjectFee.Fields().ByName("fee") } -var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChain)(nil) +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectFee)(nil) -type fastReflection_MsgAddAllowedBridgeChain MsgAddAllowedBridgeChain +type fastReflection_MsgUpdateProjectFee MsgUpdateProjectFee -func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChain)(x) +func (x *MsgUpdateProjectFee) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectFee)(x) } -func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { +func (x *MsgUpdateProjectFee) slowProtoReflect() protoreflect.Message { mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -25684,43 +25905,43 @@ func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgAddAllowedBridgeChain_messageType fastReflection_MsgAddAllowedBridgeChain_messageType -var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChain_messageType{} +var _fastReflection_MsgUpdateProjectFee_messageType fastReflection_MsgUpdateProjectFee_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectFee_messageType{} -type fastReflection_MsgAddAllowedBridgeChain_messageType struct{} +type fastReflection_MsgUpdateProjectFee_messageType struct{} -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgAddAllowedBridgeChain)(nil) +func (x fastReflection_MsgUpdateProjectFee_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectFee)(nil) } -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChain) +func (x fastReflection_MsgUpdateProjectFee_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectFee) } -func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChain +func (x fastReflection_MsgUpdateProjectFee_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectFee } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgAddAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { - return md_MsgAddAllowedBridgeChain +func (x *fastReflection_MsgUpdateProjectFee) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectFee } // 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_MsgAddAllowedBridgeChain) Type() protoreflect.MessageType { - return _fastReflection_MsgAddAllowedBridgeChain_messageType +func (x *fastReflection_MsgUpdateProjectFee) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectFee_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgAddAllowedBridgeChain) New() protoreflect.Message { - return new(fastReflection_MsgAddAllowedBridgeChain) +func (x *fastReflection_MsgUpdateProjectFee) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectFee) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.ProtoMessage { - return (*MsgAddAllowedBridgeChain)(x) +func (x *fastReflection_MsgUpdateProjectFee) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectFee)(x) } // Range iterates over every populated field in an undefined order, @@ -25728,16 +25949,16 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.Proto // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgAddAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_MsgUpdateProjectFee) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.Authority != "" { value := protoreflect.ValueOfString(x.Authority) - if !f(fd_MsgAddAllowedBridgeChain_authority, value) { + if !f(fd_MsgUpdateProjectFee_authority, value) { return } } - if x.ChainName != "" { - value := protoreflect.ValueOfString(x.ChainName) - if !f(fd_MsgAddAllowedBridgeChain_chain_name, value) { + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_MsgUpdateProjectFee_fee, value) { return } } @@ -25754,17 +25975,17 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Range(f func(protoreflect.Fiel // 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_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgUpdateProjectFee) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": return x.Authority != "" - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - return x.ChainName != "" + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + return x.Fee != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee does not contain field %s", fd.FullName())) } } @@ -25774,17 +25995,17 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescr // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgUpdateProjectFee) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": x.Authority = "" - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - x.ChainName = "" + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + x.Fee = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) } - panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee does not contain field %s", fd.FullName())) } } @@ -25794,13 +26015,868 @@ func (x *fastReflection_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDes // 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_MsgAddAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgUpdateProjectFee) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": value := x.Authority return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": - value := x.ChainName + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee 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_MsgUpdateProjectFee) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": + x.Authority = value.Interface().(string) + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee 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_MsgUpdateProjectFee) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": + panic(fmt.Errorf("field authority of message regen.ecocredit.v1.MsgUpdateProjectFee is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee 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_MsgUpdateProjectFee) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgUpdateProjectFee.authority": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.MsgUpdateProjectFee.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFee")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFee 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_MsgUpdateProjectFee) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectFee", 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_MsgUpdateProjectFee) 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_MsgUpdateProjectFee) 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_MsgUpdateProjectFee) 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_MsgUpdateProjectFee) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateProjectFee) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Fee != nil { + l = options.Size(x.Fee) + 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().(*MsgUpdateProjectFee) + 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.Fee != nil { + encoded, err := options.Marshal(x.Fee) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProjectFee) + 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: MsgUpdateProjectFee: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectFee: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", 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.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); 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_MsgUpdateProjectFeeResponse protoreflect.MessageDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgUpdateProjectFeeResponse = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgUpdateProjectFeeResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateProjectFeeResponse)(nil) + +type fastReflection_MsgUpdateProjectFeeResponse MsgUpdateProjectFeeResponse + +func (x *MsgUpdateProjectFeeResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectFeeResponse)(x) +} + +func (x *MsgUpdateProjectFeeResponse) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + 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_MsgUpdateProjectFeeResponse_messageType fastReflection_MsgUpdateProjectFeeResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateProjectFeeResponse_messageType{} + +type fastReflection_MsgUpdateProjectFeeResponse_messageType struct{} + +func (x fastReflection_MsgUpdateProjectFeeResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateProjectFeeResponse)(nil) +} +func (x fastReflection_MsgUpdateProjectFeeResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectFeeResponse) +} +func (x fastReflection_MsgUpdateProjectFeeResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectFeeResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateProjectFeeResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateProjectFeeResponse +} + +// 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_MsgUpdateProjectFeeResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateProjectFeeResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateProjectFeeResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateProjectFeeResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateProjectFeeResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateProjectFeeResponse)(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_MsgUpdateProjectFeeResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateProjectFeeResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgUpdateProjectFeeResponse")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgUpdateProjectFeeResponse 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_MsgUpdateProjectFeeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.MsgUpdateProjectFeeResponse", 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_MsgUpdateProjectFeeResponse) 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_MsgUpdateProjectFeeResponse) 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_MsgUpdateProjectFeeResponse) 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_MsgUpdateProjectFeeResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateProjectFeeResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProjectFeeResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateProjectFeeResponse) + 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: MsgUpdateProjectFeeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateProjectFeeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgAddAllowedBridgeChain protoreflect.MessageDescriptor + fd_MsgAddAllowedBridgeChain_authority protoreflect.FieldDescriptor + fd_MsgAddAllowedBridgeChain_chain_name protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_tx_proto_init() + md_MsgAddAllowedBridgeChain = File_regen_ecocredit_v1_tx_proto.Messages().ByName("MsgAddAllowedBridgeChain") + fd_MsgAddAllowedBridgeChain_authority = md_MsgAddAllowedBridgeChain.Fields().ByName("authority") + fd_MsgAddAllowedBridgeChain_chain_name = md_MsgAddAllowedBridgeChain.Fields().ByName("chain_name") +} + +var _ protoreflect.Message = (*fastReflection_MsgAddAllowedBridgeChain)(nil) + +type fastReflection_MsgAddAllowedBridgeChain MsgAddAllowedBridgeChain + +func (x *MsgAddAllowedBridgeChain) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChain)(x) +} + +func (x *MsgAddAllowedBridgeChain) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + 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_MsgAddAllowedBridgeChain_messageType fastReflection_MsgAddAllowedBridgeChain_messageType +var _ protoreflect.MessageType = fastReflection_MsgAddAllowedBridgeChain_messageType{} + +type fastReflection_MsgAddAllowedBridgeChain_messageType struct{} + +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgAddAllowedBridgeChain)(nil) +} +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChain) +} +func (x fastReflection_MsgAddAllowedBridgeChain_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChain +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgAddAllowedBridgeChain) Descriptor() protoreflect.MessageDescriptor { + return md_MsgAddAllowedBridgeChain +} + +// 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_MsgAddAllowedBridgeChain) Type() protoreflect.MessageType { + return _fastReflection_MsgAddAllowedBridgeChain_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgAddAllowedBridgeChain) New() protoreflect.Message { + return new(fastReflection_MsgAddAllowedBridgeChain) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgAddAllowedBridgeChain) Interface() protoreflect.ProtoMessage { + return (*MsgAddAllowedBridgeChain)(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_MsgAddAllowedBridgeChain) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgAddAllowedBridgeChain_authority, value) { + return + } + } + if x.ChainName != "" { + value := protoreflect.ValueOfString(x.ChainName) + if !f(fd_MsgAddAllowedBridgeChain_chain_name, 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_MsgAddAllowedBridgeChain) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + return x.Authority != "" + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + return x.ChainName != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + x.Authority = "" + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + x.ChainName = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgAddAllowedBridgeChain")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.MsgAddAllowedBridgeChain 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_MsgAddAllowedBridgeChain) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.MsgAddAllowedBridgeChain.chain_name": + value := x.ChainName return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { @@ -26153,7 +27229,7 @@ func (x *MsgAddAllowedBridgeChainResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAddAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26513,7 +27589,7 @@ func (x *MsgRemoveAllowedBridgeChain) ProtoReflect() protoreflect.Message { } func (x *MsgRemoveAllowedBridgeChain) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26993,7 +28069,7 @@ func (x *MsgRemoveAllowedBridgeChainResponse) ProtoReflect() protoreflect.Messag } func (x *MsgRemoveAllowedBridgeChainResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27355,7 +28431,7 @@ func (x *MsgBurnRegen) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegen) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27897,7 +28973,7 @@ func (x *MsgBurnRegenResponse) ProtoReflect() protoreflect.Message { } func (x *MsgBurnRegenResponse) slowProtoReflect() protoreflect.Message { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28473,6 +29549,12 @@ type MsgCreateProject struct { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. ReferenceId string `protobuf:"bytes,5,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + Fee *v1beta1.Coin `protobuf:"bytes,6,opt,name=fee,proto3" json:"fee,omitempty"` } func (x *MsgCreateProject) Reset() { @@ -28530,6 +29612,13 @@ func (x *MsgCreateProject) GetReferenceId() string { return "" } +func (x *MsgCreateProject) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + // MsgCreateProjectResponse is the Msg/CreateProject response type. type MsgCreateProjectResponse struct { state protoimpl.MessageState @@ -28590,6 +29679,12 @@ type MsgCreateUnregisteredProject struct { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + Fee *v1beta1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` } func (x *MsgCreateUnregisteredProject) Reset() { @@ -28640,6 +29735,13 @@ func (x *MsgCreateUnregisteredProject) GetReferenceId() string { return "" } +func (x *MsgCreateUnregisteredProject) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + // MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. type MsgCreateUnregisteredProjectResponse struct { state protoimpl.MessageState @@ -28893,7 +29995,7 @@ type MsgCreateBatch struct { unknownFields protoimpl.UnknownFields // issuer is the address of the account issuing the credits and must be an - // approved issuer within the credit class of the project. + // approved issuer within a credit class of the project. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // project_id is the unique identifier of the project under which the credit // batch will be created. @@ -28921,6 +30023,11 @@ type MsgCreateBatch struct { // issuing credits and should only be set when bridging assets from another // chain or registry as a result of a bridge operation. OriginTx *OriginTx `protobuf:"bytes,8,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` + // class_id is the unique identifier of the credit class under which the + // credit batch will be created. + // + // Since Revision 3 + ClassId string `protobuf:"bytes,9,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` } func (x *MsgCreateBatch) Reset() { @@ -28999,6 +30106,13 @@ func (x *MsgCreateBatch) GetOriginTx() *OriginTx { return nil } +func (x *MsgCreateBatch) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + // MsgCreateBatchResponse is the Msg/CreateBatch response type. type MsgCreateBatchResponse struct { state protoimpl.MessageState @@ -30514,6 +31628,80 @@ func (*MsgUpdateClassFeeResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{47} } +// MsgUpdateProjectFee is the Msg/UpdateProjectFee request type. +type MsgUpdateProjectFee struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // fee is the project creation fee. If not set, the project creation fee will + // be removed and no fee will be required to create a project. + Fee *v1beta1.Coin `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (x *MsgUpdateProjectFee) Reset() { + *x = MsgUpdateProjectFee{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateProjectFee) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateProjectFee) ProtoMessage() {} + +// Deprecated: Use MsgUpdateProjectFee.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectFee) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} +} + +func (x *MsgUpdateProjectFee) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateProjectFee) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + +// MsgUpdateProjectFeeResponse is the Msg/UpdateProjectFee response type. +type MsgUpdateProjectFeeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateProjectFeeResponse) Reset() { + *x = MsgUpdateProjectFeeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateProjectFeeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateProjectFeeResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateProjectFeeResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateProjectFeeResponse) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} +} + // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. // // Since Revision 2 @@ -30532,7 +31720,7 @@ type MsgAddAllowedBridgeChain struct { func (x *MsgAddAllowedBridgeChain) Reset() { *x = MsgAddAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[48] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30546,7 +31734,7 @@ func (*MsgAddAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{48} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} } func (x *MsgAddAllowedBridgeChain) GetAuthority() string { @@ -30576,7 +31764,7 @@ type MsgAddAllowedBridgeChainResponse struct { func (x *MsgAddAllowedBridgeChainResponse) Reset() { *x = MsgAddAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[49] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30590,7 +31778,7 @@ func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgAddAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{49} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} } // MsgRemoveAllowedBridgeChain is the Msg/RemoveAllowedBridgeChain request type. @@ -30611,7 +31799,7 @@ type MsgRemoveAllowedBridgeChain struct { func (x *MsgRemoveAllowedBridgeChain) Reset() { *x = MsgRemoveAllowedBridgeChain{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[50] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30625,7 +31813,7 @@ func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChain.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{50} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} } func (x *MsgRemoveAllowedBridgeChain) GetAuthority() string { @@ -30655,7 +31843,7 @@ type MsgRemoveAllowedBridgeChainResponse struct { func (x *MsgRemoveAllowedBridgeChainResponse) Reset() { *x = MsgRemoveAllowedBridgeChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[51] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30669,7 +31857,7 @@ func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} // Deprecated: Use MsgRemoveAllowedBridgeChainResponse.ProtoReflect.Descriptor instead. func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{51} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} } // MsgBurnRegen is the Msg/BurnRegen request type. @@ -30692,7 +31880,7 @@ type MsgBurnRegen struct { func (x *MsgBurnRegen) Reset() { *x = MsgBurnRegen{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[52] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30706,7 +31894,7 @@ func (*MsgBurnRegen) ProtoMessage() {} // Deprecated: Use MsgBurnRegen.ProtoReflect.Descriptor instead. func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{52} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{54} } func (x *MsgBurnRegen) GetBurner() string { @@ -30742,7 +31930,7 @@ type MsgBurnRegenResponse struct { func (x *MsgBurnRegenResponse) Reset() { *x = MsgBurnRegenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[53] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30756,7 +31944,7 @@ func (*MsgBurnRegenResponse) ProtoMessage() {} // Deprecated: Use MsgBurnRegenResponse.ProtoReflect.Descriptor instead. func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{53} + return file_regen_ecocredit_v1_tx_proto_rawDescGZIP(), []int{55} } // SendCredits specifies the amount of tradable and retired credits of a @@ -30796,7 +31984,7 @@ type MsgSend_SendCredits struct { func (x *MsgSend_SendCredits) Reset() { *x = MsgSend_SendCredits{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[54] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30873,7 +32061,7 @@ type MsgBridgeReceive_Batch struct { func (x *MsgBridgeReceive_Batch) Reset() { *x = MsgBridgeReceive_Batch{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[55] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30944,7 +32132,7 @@ type MsgBridgeReceive_Project struct { func (x *MsgBridgeReceive_Project) Reset() { *x = MsgBridgeReceive_Project{} if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[56] + mi := &file_regen_ecocredit_v1_tx_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31024,7 +32212,7 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x33, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xb2, 0x01, 0x0a, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, @@ -31035,526 +32223,550 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x22, 0x39, 0x0a, 0x18, 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, 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, 0x22, 0xa3, 0x01, 0x0a, - 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x06, 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, 0x03, 0x66, + 0x65, 0x65, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x39, + 0x0a, 0x18, 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, 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, 0x22, 0xc9, 0x01, 0x0a, 0x1c, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x01, - 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 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, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, - 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, - 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x02, 0x0a, 0x0e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, - 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, - 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, - 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, - 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x65, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x1c, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, + 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 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, 0x03, 0x66, 0x65, 0x65, + 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x24, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 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, 0x22, 0xc9, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x3a, 0x12, 0x82, 0xe7, 0xb0, + 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, + 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x24, 0x0a, + 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x97, 0x03, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, + 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x54, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, + 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, + 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, + 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0xe4, 0x01, - 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, - 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, 0x75, 0x72, - 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, 0x72, 0x69, 0x73, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x0a, 0x09, - 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, - 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, - 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, - 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, - 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1f, 0x0a, 0x0b, 0x61, 0x64, - 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, - 0x0a, 0x1d, 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, 0x22, - 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, - 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, - 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, - 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, - 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, - 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, - 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, - 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, - 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, + 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, + 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, 0xd7, 0x01, 0x0a, - 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, - 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, - 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, 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, 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, 0x42, 0x04, 0x90, 0xdf, 0x1f, - 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, - 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x5c, 0x0a, - 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, - 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, - 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, + 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, + 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, + 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 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, 0x1b, 0x0a, 0x09, + 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 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, + 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 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, + 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, + 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, + 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, + 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, + 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, + 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, + 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 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, 0x46, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, + 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, + 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, + 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, + 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x03, - 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, - 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, + 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, + 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, + 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, + 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x0a, 0x13, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, + 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, - 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, - 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, - 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, - 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0xf7, 0x16, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1d, 0x0a, + 0x1b, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, + 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, + 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, + 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe5, 0x17, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, + 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, + 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, + 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, + 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, + 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, - 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, + 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, + 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, + 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, - 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, + 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, 0x72, 0x0a, 0x12, 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, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, + 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, + 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, - 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, - 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, + 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, - 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, - 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, + 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, - 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, 0x65, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x46, 0x65, 0x65, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, 0x01, - 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, + 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, + 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, + 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, + 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -31569,7 +32781,7 @@ func file_regen_ecocredit_v1_tx_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_tx_proto_rawDescData } -var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 57) +var file_regen_ecocredit_v1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgAddCreditType)(nil), // 0: regen.ecocredit.v1.MsgAddCreditType (*MsgAddCreditTypeResponse)(nil), // 1: regen.ecocredit.v1.MsgAddCreditTypeResponse @@ -31619,102 +32831,109 @@ var file_regen_ecocredit_v1_tx_proto_goTypes = []interface{}{ (*MsgRemoveClassCreatorResponse)(nil), // 45: regen.ecocredit.v1.MsgRemoveClassCreatorResponse (*MsgUpdateClassFee)(nil), // 46: regen.ecocredit.v1.MsgUpdateClassFee (*MsgUpdateClassFeeResponse)(nil), // 47: regen.ecocredit.v1.MsgUpdateClassFeeResponse - (*MsgAddAllowedBridgeChain)(nil), // 48: regen.ecocredit.v1.MsgAddAllowedBridgeChain - (*MsgAddAllowedBridgeChainResponse)(nil), // 49: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - (*MsgRemoveAllowedBridgeChain)(nil), // 50: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - (*MsgRemoveAllowedBridgeChainResponse)(nil), // 51: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - (*MsgBurnRegen)(nil), // 52: regen.ecocredit.v1.MsgBurnRegen - (*MsgBurnRegenResponse)(nil), // 53: regen.ecocredit.v1.MsgBurnRegenResponse - (*MsgSend_SendCredits)(nil), // 54: regen.ecocredit.v1.MsgSend.SendCredits - (*MsgBridgeReceive_Batch)(nil), // 55: regen.ecocredit.v1.MsgBridgeReceive.Batch - (*MsgBridgeReceive_Project)(nil), // 56: regen.ecocredit.v1.MsgBridgeReceive.Project - (*CreditType)(nil), // 57: regen.ecocredit.v1.CreditType - (*v1beta1.Coin)(nil), // 58: cosmos.base.v1beta1.Coin - (ProjectEnrollmentStatus)(0), // 59: regen.ecocredit.v1.ProjectEnrollmentStatus - (*BatchIssuance)(nil), // 60: regen.ecocredit.v1.BatchIssuance - (*timestamppb.Timestamp)(nil), // 61: google.protobuf.Timestamp - (*OriginTx)(nil), // 62: regen.ecocredit.v1.OriginTx - (*Credits)(nil), // 63: regen.ecocredit.v1.Credits + (*MsgUpdateProjectFee)(nil), // 48: regen.ecocredit.v1.MsgUpdateProjectFee + (*MsgUpdateProjectFeeResponse)(nil), // 49: regen.ecocredit.v1.MsgUpdateProjectFeeResponse + (*MsgAddAllowedBridgeChain)(nil), // 50: regen.ecocredit.v1.MsgAddAllowedBridgeChain + (*MsgAddAllowedBridgeChainResponse)(nil), // 51: regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + (*MsgRemoveAllowedBridgeChain)(nil), // 52: regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + (*MsgRemoveAllowedBridgeChainResponse)(nil), // 53: regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + (*MsgBurnRegen)(nil), // 54: regen.ecocredit.v1.MsgBurnRegen + (*MsgBurnRegenResponse)(nil), // 55: regen.ecocredit.v1.MsgBurnRegenResponse + (*MsgSend_SendCredits)(nil), // 56: regen.ecocredit.v1.MsgSend.SendCredits + (*MsgBridgeReceive_Batch)(nil), // 57: regen.ecocredit.v1.MsgBridgeReceive.Batch + (*MsgBridgeReceive_Project)(nil), // 58: regen.ecocredit.v1.MsgBridgeReceive.Project + (*CreditType)(nil), // 59: regen.ecocredit.v1.CreditType + (*v1beta1.Coin)(nil), // 60: cosmos.base.v1beta1.Coin + (ProjectEnrollmentStatus)(0), // 61: regen.ecocredit.v1.ProjectEnrollmentStatus + (*BatchIssuance)(nil), // 62: regen.ecocredit.v1.BatchIssuance + (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp + (*OriginTx)(nil), // 64: regen.ecocredit.v1.OriginTx + (*Credits)(nil), // 65: regen.ecocredit.v1.Credits } var file_regen_ecocredit_v1_tx_proto_depIdxs = []int32{ - 57, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType - 58, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin - 59, // 2: regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus - 60, // 3: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 61, // 4: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp - 61, // 5: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp - 62, // 6: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 60, // 7: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance - 62, // 8: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 54, // 9: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits - 63, // 10: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits - 63, // 11: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits - 63, // 12: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits - 56, // 13: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project - 55, // 14: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch - 62, // 15: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx - 58, // 16: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin - 61, // 17: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp - 61, // 18: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp - 2, // 19: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass - 4, // 20: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject - 6, // 21: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject - 8, // 22: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:input_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplication - 10, // 23: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollment - 12, // 24: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch - 14, // 25: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits - 16, // 26: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch - 18, // 27: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend - 20, // 28: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire - 22, // 29: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel - 24, // 30: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin - 26, // 31: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers - 28, // 32: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata - 30, // 33: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin - 32, // 34: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata - 35, // 35: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata - 34, // 36: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge - 38, // 37: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive - 0, // 38: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType - 42, // 39: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist - 40, // 40: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator - 44, // 41: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator - 46, // 42: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee - 48, // 43: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain - 50, // 44: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain - 52, // 45: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen - 3, // 46: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse - 5, // 47: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse - 7, // 48: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse - 9, // 49: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:output_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse - 11, // 50: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse - 13, // 51: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse - 15, // 52: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse - 17, // 53: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse - 19, // 54: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse - 21, // 55: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse - 23, // 56: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse - 25, // 57: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse - 27, // 58: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse - 29, // 59: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse - 31, // 60: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse - 33, // 61: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse - 36, // 62: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse - 37, // 63: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse - 39, // 64: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse - 1, // 65: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse - 43, // 66: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse - 41, // 67: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse - 45, // 68: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse - 47, // 69: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse - 49, // 70: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse - 51, // 71: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse - 53, // 72: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse - 46, // [46:73] is the sub-list for method output_type - 19, // [19:46] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 59, // 0: regen.ecocredit.v1.MsgAddCreditType.credit_type:type_name -> regen.ecocredit.v1.CreditType + 60, // 1: regen.ecocredit.v1.MsgCreateClass.fee:type_name -> cosmos.base.v1beta1.Coin + 60, // 2: regen.ecocredit.v1.MsgCreateProject.fee:type_name -> cosmos.base.v1beta1.Coin + 60, // 3: regen.ecocredit.v1.MsgCreateUnregisteredProject.fee:type_name -> cosmos.base.v1beta1.Coin + 61, // 4: regen.ecocredit.v1.MsgUpdateProjectEnrollment.new_status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 62, // 5: regen.ecocredit.v1.MsgCreateBatch.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 63, // 6: regen.ecocredit.v1.MsgCreateBatch.start_date:type_name -> google.protobuf.Timestamp + 63, // 7: regen.ecocredit.v1.MsgCreateBatch.end_date:type_name -> google.protobuf.Timestamp + 64, // 8: regen.ecocredit.v1.MsgCreateBatch.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 62, // 9: regen.ecocredit.v1.MsgMintBatchCredits.issuance:type_name -> regen.ecocredit.v1.BatchIssuance + 64, // 10: regen.ecocredit.v1.MsgMintBatchCredits.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 56, // 11: regen.ecocredit.v1.MsgSend.credits:type_name -> regen.ecocredit.v1.MsgSend.SendCredits + 65, // 12: regen.ecocredit.v1.MsgRetire.credits:type_name -> regen.ecocredit.v1.Credits + 65, // 13: regen.ecocredit.v1.MsgCancel.credits:type_name -> regen.ecocredit.v1.Credits + 65, // 14: regen.ecocredit.v1.MsgBridge.credits:type_name -> regen.ecocredit.v1.Credits + 58, // 15: regen.ecocredit.v1.MsgBridgeReceive.project:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Project + 57, // 16: regen.ecocredit.v1.MsgBridgeReceive.batch:type_name -> regen.ecocredit.v1.MsgBridgeReceive.Batch + 64, // 17: regen.ecocredit.v1.MsgBridgeReceive.origin_tx:type_name -> regen.ecocredit.v1.OriginTx + 60, // 18: regen.ecocredit.v1.MsgUpdateClassFee.fee:type_name -> cosmos.base.v1beta1.Coin + 60, // 19: regen.ecocredit.v1.MsgUpdateProjectFee.fee:type_name -> cosmos.base.v1beta1.Coin + 63, // 20: regen.ecocredit.v1.MsgBridgeReceive.Batch.start_date:type_name -> google.protobuf.Timestamp + 63, // 21: regen.ecocredit.v1.MsgBridgeReceive.Batch.end_date:type_name -> google.protobuf.Timestamp + 2, // 22: regen.ecocredit.v1.Msg.CreateClass:input_type -> regen.ecocredit.v1.MsgCreateClass + 4, // 23: regen.ecocredit.v1.Msg.CreateProject:input_type -> regen.ecocredit.v1.MsgCreateProject + 6, // 24: regen.ecocredit.v1.Msg.CreateUnregisteredProject:input_type -> regen.ecocredit.v1.MsgCreateUnregisteredProject + 8, // 25: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:input_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplication + 10, // 26: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:input_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollment + 12, // 27: regen.ecocredit.v1.Msg.CreateBatch:input_type -> regen.ecocredit.v1.MsgCreateBatch + 14, // 28: regen.ecocredit.v1.Msg.MintBatchCredits:input_type -> regen.ecocredit.v1.MsgMintBatchCredits + 16, // 29: regen.ecocredit.v1.Msg.SealBatch:input_type -> regen.ecocredit.v1.MsgSealBatch + 18, // 30: regen.ecocredit.v1.Msg.Send:input_type -> regen.ecocredit.v1.MsgSend + 20, // 31: regen.ecocredit.v1.Msg.Retire:input_type -> regen.ecocredit.v1.MsgRetire + 22, // 32: regen.ecocredit.v1.Msg.Cancel:input_type -> regen.ecocredit.v1.MsgCancel + 24, // 33: regen.ecocredit.v1.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1.MsgUpdateClassAdmin + 26, // 34: regen.ecocredit.v1.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1.MsgUpdateClassIssuers + 28, // 35: regen.ecocredit.v1.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1.MsgUpdateClassMetadata + 30, // 36: regen.ecocredit.v1.Msg.UpdateProjectAdmin:input_type -> regen.ecocredit.v1.MsgUpdateProjectAdmin + 32, // 37: regen.ecocredit.v1.Msg.UpdateProjectMetadata:input_type -> regen.ecocredit.v1.MsgUpdateProjectMetadata + 35, // 38: regen.ecocredit.v1.Msg.UpdateBatchMetadata:input_type -> regen.ecocredit.v1.MsgUpdateBatchMetadata + 34, // 39: regen.ecocredit.v1.Msg.Bridge:input_type -> regen.ecocredit.v1.MsgBridge + 38, // 40: regen.ecocredit.v1.Msg.BridgeReceive:input_type -> regen.ecocredit.v1.MsgBridgeReceive + 0, // 41: regen.ecocredit.v1.Msg.AddCreditType:input_type -> regen.ecocredit.v1.MsgAddCreditType + 42, // 42: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:input_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlist + 40, // 43: regen.ecocredit.v1.Msg.AddClassCreator:input_type -> regen.ecocredit.v1.MsgAddClassCreator + 44, // 44: regen.ecocredit.v1.Msg.RemoveClassCreator:input_type -> regen.ecocredit.v1.MsgRemoveClassCreator + 46, // 45: regen.ecocredit.v1.Msg.UpdateClassFee:input_type -> regen.ecocredit.v1.MsgUpdateClassFee + 48, // 46: regen.ecocredit.v1.Msg.UpdateProjectFee:input_type -> regen.ecocredit.v1.MsgUpdateProjectFee + 50, // 47: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChain + 52, // 48: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:input_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChain + 54, // 49: regen.ecocredit.v1.Msg.BurnRegen:input_type -> regen.ecocredit.v1.MsgBurnRegen + 3, // 50: regen.ecocredit.v1.Msg.CreateClass:output_type -> regen.ecocredit.v1.MsgCreateClassResponse + 5, // 51: regen.ecocredit.v1.Msg.CreateProject:output_type -> regen.ecocredit.v1.MsgCreateProjectResponse + 7, // 52: regen.ecocredit.v1.Msg.CreateUnregisteredProject:output_type -> regen.ecocredit.v1.MsgCreateUnregisteredProjectResponse + 9, // 53: regen.ecocredit.v1.Msg.CreateOrUpdateApplication:output_type -> regen.ecocredit.v1.MsgCreateOrUpdateApplicationResponse + 11, // 54: regen.ecocredit.v1.Msg.UpdateProjectEnrollment:output_type -> regen.ecocredit.v1.MsgUpdateProjectEnrollmentResponse + 13, // 55: regen.ecocredit.v1.Msg.CreateBatch:output_type -> regen.ecocredit.v1.MsgCreateBatchResponse + 15, // 56: regen.ecocredit.v1.Msg.MintBatchCredits:output_type -> regen.ecocredit.v1.MsgMintBatchCreditsResponse + 17, // 57: regen.ecocredit.v1.Msg.SealBatch:output_type -> regen.ecocredit.v1.MsgSealBatchResponse + 19, // 58: regen.ecocredit.v1.Msg.Send:output_type -> regen.ecocredit.v1.MsgSendResponse + 21, // 59: regen.ecocredit.v1.Msg.Retire:output_type -> regen.ecocredit.v1.MsgRetireResponse + 23, // 60: regen.ecocredit.v1.Msg.Cancel:output_type -> regen.ecocredit.v1.MsgCancelResponse + 25, // 61: regen.ecocredit.v1.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1.MsgUpdateClassAdminResponse + 27, // 62: regen.ecocredit.v1.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1.MsgUpdateClassIssuersResponse + 29, // 63: regen.ecocredit.v1.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1.MsgUpdateClassMetadataResponse + 31, // 64: regen.ecocredit.v1.Msg.UpdateProjectAdmin:output_type -> regen.ecocredit.v1.MsgUpdateProjectAdminResponse + 33, // 65: regen.ecocredit.v1.Msg.UpdateProjectMetadata:output_type -> regen.ecocredit.v1.MsgUpdateProjectMetadataResponse + 36, // 66: regen.ecocredit.v1.Msg.UpdateBatchMetadata:output_type -> regen.ecocredit.v1.MsgUpdateBatchMetadataResponse + 37, // 67: regen.ecocredit.v1.Msg.Bridge:output_type -> regen.ecocredit.v1.MsgBridgeResponse + 39, // 68: regen.ecocredit.v1.Msg.BridgeReceive:output_type -> regen.ecocredit.v1.MsgBridgeReceiveResponse + 1, // 69: regen.ecocredit.v1.Msg.AddCreditType:output_type -> regen.ecocredit.v1.MsgAddCreditTypeResponse + 43, // 70: regen.ecocredit.v1.Msg.SetClassCreatorAllowlist:output_type -> regen.ecocredit.v1.MsgSetClassCreatorAllowlistResponse + 41, // 71: regen.ecocredit.v1.Msg.AddClassCreator:output_type -> regen.ecocredit.v1.MsgAddClassCreatorResponse + 45, // 72: regen.ecocredit.v1.Msg.RemoveClassCreator:output_type -> regen.ecocredit.v1.MsgRemoveClassCreatorResponse + 47, // 73: regen.ecocredit.v1.Msg.UpdateClassFee:output_type -> regen.ecocredit.v1.MsgUpdateClassFeeResponse + 49, // 74: regen.ecocredit.v1.Msg.UpdateProjectFee:output_type -> regen.ecocredit.v1.MsgUpdateProjectFeeResponse + 51, // 75: regen.ecocredit.v1.Msg.AddAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse + 53, // 76: regen.ecocredit.v1.Msg.RemoveAllowedBridgeChain:output_type -> regen.ecocredit.v1.MsgRemoveAllowedBridgeChainResponse + 55, // 77: regen.ecocredit.v1.Msg.BurnRegen:output_type -> regen.ecocredit.v1.MsgBurnRegenResponse + 50, // [50:78] is the sub-list for method output_type + 22, // [22:50] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1_tx_proto_init() } @@ -32302,7 +33521,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddAllowedBridgeChain); i { + switch v := v.(*MsgUpdateProjectFee); i { case 0: return &v.state case 1: @@ -32314,7 +33533,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAddAllowedBridgeChainResponse); i { + switch v := v.(*MsgUpdateProjectFeeResponse); i { case 0: return &v.state case 1: @@ -32326,7 +33545,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveAllowedBridgeChain); i { + switch v := v.(*MsgAddAllowedBridgeChain); i { case 0: return &v.state case 1: @@ -32338,7 +33557,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { + switch v := v.(*MsgAddAllowedBridgeChainResponse); i { case 0: return &v.state case 1: @@ -32350,7 +33569,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBurnRegen); i { + switch v := v.(*MsgRemoveAllowedBridgeChain); i { case 0: return &v.state case 1: @@ -32362,7 +33581,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBurnRegenResponse); i { + switch v := v.(*MsgRemoveAllowedBridgeChainResponse); i { case 0: return &v.state case 1: @@ -32374,7 +33593,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSend_SendCredits); i { + switch v := v.(*MsgBurnRegen); i { case 0: return &v.state case 1: @@ -32386,7 +33605,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgBridgeReceive_Batch); i { + switch v := v.(*MsgBurnRegenResponse); i { case 0: return &v.state case 1: @@ -32398,6 +33617,30 @@ func file_regen_ecocredit_v1_tx_proto_init() { } } file_regen_ecocredit_v1_tx_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgSend_SendCredits); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgBridgeReceive_Batch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgBridgeReceive_Project); i { case 0: return &v.state @@ -32416,7 +33659,7 @@ func file_regen_ecocredit_v1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 57, + NumMessages: 59, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index efee7bc447..9bde8a91bc 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -43,6 +43,7 @@ const ( Msg_AddClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/AddClassCreator" Msg_RemoveClassCreator_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveClassCreator" Msg_UpdateClassFee_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateClassFee" + Msg_UpdateProjectFee_FullMethodName = "/regen.ecocredit.v1.Msg/UpdateProjectFee" Msg_AddAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain" Msg_RemoveAllowedBridgeChain_FullMethodName = "/regen.ecocredit.v1.Msg/RemoveAllowedBridgeChain" Msg_BurnRegen_FullMethodName = "/regen.ecocredit.v1.Msg/BurnRegen" @@ -195,6 +196,13 @@ type MsgClient interface { // // Since Revision 2 UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) + // UpdateProjectFee is a governance method that allows for updating the + // project creation fee. If no fee is specified in the request, the project + // creation fee will be removed and no fee will be required to create a + // project. + // + // Since Revision 3 + UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFee, opts ...grpc.CallOption) (*MsgUpdateProjectFeeResponse, error) // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // @@ -435,6 +443,15 @@ func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, o return out, nil } +func (c *msgClient) UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFee, opts ...grpc.CallOption) (*MsgUpdateProjectFeeResponse, error) { + out := new(MsgUpdateProjectFeeResponse) + err := c.cc.Invoke(ctx, Msg_UpdateProjectFee_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) { out := new(MsgAddAllowedBridgeChainResponse) err := c.cc.Invoke(ctx, Msg_AddAllowedBridgeChain_FullMethodName, in, out, opts...) @@ -609,6 +626,13 @@ type MsgServer interface { // // Since Revision 2 UpdateClassFee(context.Context, *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) + // UpdateProjectFee is a governance method that allows for updating the + // project creation fee. If no fee is specified in the request, the project + // creation fee will be removed and no fee will be required to create a + // project. + // + // Since Revision 3 + UpdateProjectFee(context.Context, *MsgUpdateProjectFee) (*MsgUpdateProjectFeeResponse, error) // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // @@ -702,6 +726,9 @@ func (UnimplementedMsgServer) RemoveClassCreator(context.Context, *MsgRemoveClas func (UnimplementedMsgServer) UpdateClassFee(context.Context, *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateClassFee not implemented") } +func (UnimplementedMsgServer) UpdateProjectFee(context.Context, *MsgUpdateProjectFee) (*MsgUpdateProjectFeeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectFee not implemented") +} func (UnimplementedMsgServer) AddAllowedBridgeChain(context.Context, *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddAllowedBridgeChain not implemented") } @@ -1156,6 +1183,24 @@ func _Msg_UpdateClassFee_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_UpdateProjectFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectFee) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateProjectFee(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateProjectFee_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProjectFee(ctx, req.(*MsgUpdateProjectFee)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_AddAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgAddAllowedBridgeChain) if err := dec(in); err != nil { @@ -1313,6 +1358,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateClassFee", Handler: _Msg_UpdateClassFee_Handler, }, + { + MethodName: "UpdateProjectFee", + Handler: _Msg_UpdateProjectFee_Handler, + }, { MethodName: "AddAllowedBridgeChain", Handler: _Msg_AddAllowedBridgeChain_Handler, diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 9138e33ed3..8bbdf1f00b 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -444,3 +444,17 @@ enum ProjectEnrollmentStatus { // completed. PROJECT_ENROLLMENT_STATUS_TERMINATED = 4; } + +// ProjectFee is the project creation fee. If not set, a project creation fee is +// not required. This table is controlled via governance. +// +// Since Revision 3 +message ProjectFee { + option (cosmos.orm.v1.singleton) = { + id : 18 + }; + + // fee is the project creation fee. If not set, a project creation fee is not + // required. + cosmos.base.v1beta1.Coin fee = 1; +} diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 1e750a564e..fca7f0af65 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -193,6 +193,14 @@ service Msg { // Since Revision 2 rpc UpdateClassFee(MsgUpdateClassFee) returns (MsgUpdateClassFeeResponse); + // UpdateProjectFee is a governance method that allows for updating the + // project creation fee. If no fee is specified in the request, the project + // creation fee will be removed and no fee will be required to create a + // project. + // + // Since Revision 3 + rpc UpdateProjectFee(MsgUpdateProjectFee) returns (MsgUpdateProjectFeeResponse); + // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // @@ -299,6 +307,13 @@ message MsgCreateProject { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. string reference_id = 5; + + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + cosmos.base.v1beta1.Coin fee = 6; } // MsgCreateProjectResponse is the Msg/CreateProject response type. @@ -332,6 +347,13 @@ message MsgCreateUnregisteredProject { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. string reference_id = 4; + + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + cosmos.base.v1beta1.Coin fee = 5; } // MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. @@ -400,7 +422,7 @@ message MsgCreateBatch { option (cosmos.msg.v1.signer) = "issuer"; // issuer is the address of the account issuing the credits and must be an - // approved issuer within the credit class of the project. + // approved issuer within a credit class of the project. string issuer = 1; // project_id is the unique identifier of the project under which the credit @@ -435,6 +457,12 @@ message MsgCreateBatch { // issuing credits and should only be set when bridging assets from another // chain or registry as a result of a bridge operation. OriginTx origin_tx = 8; + + // class_id is the unique identifier of the credit class under which the + // credit batch will be created. + // + // Since Revision 3 + string class_id = 9; } // MsgCreateBatchResponse is the Msg/CreateBatch response type. @@ -872,6 +900,21 @@ message MsgUpdateClassFee { // Since Revision 2 message MsgUpdateClassFeeResponse {} +// MsgUpdateProjectFee is the Msg/UpdateProjectFee request type. +message MsgUpdateProjectFee { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1; + + // fee is the project creation fee. If not set, the project creation fee will + // be removed and no fee will be required to create a project. + cosmos.base.v1beta1.Coin fee = 2; +} + +// MsgUpdateProjectFeeResponse is the Msg/UpdateProjectFee response type. +message MsgUpdateProjectFeeResponse {} + // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. // // Since Revision 2 diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 1c8b7836c5..6405dceb66 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -1311,6 +1311,56 @@ func (m *ProjectEnrollment) GetEnrollmentMetadata() string { return "" } +// ProjectFee is the project creation fee. If not set, a project creation fee is +// not required. This table is controlled via governance. +// +// Since Revision 3 +type ProjectFee struct { + // fee is the project creation fee. If not set, a project creation fee is not + // required. + Fee *types1.Coin `protobuf:"bytes,1,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (m *ProjectFee) Reset() { *m = ProjectFee{} } +func (m *ProjectFee) String() string { return proto.CompactTextString(m) } +func (*ProjectFee) ProtoMessage() {} +func (*ProjectFee) Descriptor() ([]byte, []int) { + return fileDescriptor_6cfdca0a4aaabb36, []int{17} +} +func (m *ProjectFee) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProjectFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProjectFee.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProjectFee) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProjectFee.Merge(m, src) +} +func (m *ProjectFee) XXX_Size() int { + return m.Size() +} +func (m *ProjectFee) XXX_DiscardUnknown() { + xxx_messageInfo_ProjectFee.DiscardUnknown(m) +} + +var xxx_messageInfo_ProjectFee proto.InternalMessageInfo + +func (m *ProjectFee) GetFee() *types1.Coin { + if m != nil { + return m.Fee + } + return nil +} + func init() { proto.RegisterEnum("regen.ecocredit.v1.ProjectEnrollmentStatus", ProjectEnrollmentStatus_name, ProjectEnrollmentStatus_value) proto.RegisterType((*CreditType)(nil), "regen.ecocredit.v1.CreditType") @@ -1330,101 +1380,102 @@ func init() { proto.RegisterType((*ClassFee)(nil), "regen.ecocredit.v1.ClassFee") proto.RegisterType((*AllowedBridgeChain)(nil), "regen.ecocredit.v1.AllowedBridgeChain") proto.RegisterType((*ProjectEnrollment)(nil), "regen.ecocredit.v1.ProjectEnrollment") + proto.RegisterType((*ProjectFee)(nil), "regen.ecocredit.v1.ProjectFee") } func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1415 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x73, 0xdb, 0x54, - 0x17, 0x8e, 0xfc, 0x91, 0xd8, 0xc7, 0x1f, 0x51, 0x6e, 0xbe, 0xd4, 0xbc, 0x7d, 0x9d, 0xbe, 0x7a, - 0x5b, 0x9a, 0xb6, 0xc1, 0x26, 0x05, 0x66, 0xc0, 0xcc, 0xd0, 0x71, 0x1c, 0x17, 0x42, 0xdb, 0x34, - 0x28, 0xee, 0x82, 0x6e, 0xcc, 0xb5, 0x74, 0x9b, 0xa8, 0x95, 0x25, 0x23, 0x5d, 0xa7, 0xc9, 0x96, - 0x1f, 0xc0, 0xb0, 0x62, 0xc5, 0xf0, 0x0b, 0x98, 0xe1, 0x0f, 0xb0, 0x64, 0x01, 0xbb, 0xce, 0xb0, - 0x61, 0xc9, 0xb4, 0x3f, 0x80, 0x19, 0x86, 0x15, 0x2b, 0xe6, 0x1e, 0x5d, 0xc9, 0x92, 0xeb, 0xa4, - 0x1d, 0x76, 0x3a, 0xe7, 0x9e, 0x8f, 0xe7, 0x3c, 0xe7, 0x1c, 0xe9, 0x0a, 0x6a, 0x3e, 0x3b, 0x64, - 0x6e, 0x83, 0x99, 0x9e, 0xe9, 0x33, 0xcb, 0xe6, 0x8d, 0xe3, 0xad, 0x46, 0xc0, 0x29, 0x67, 0xf5, - 0xa1, 0xef, 0x71, 0x8f, 0x10, 0x3c, 0xaf, 0xc7, 0xe7, 0xf5, 0xe3, 0xad, 0xb5, 0x9a, 0xe9, 0x05, - 0x03, 0x2f, 0x68, 0xf4, 0x69, 0xc0, 0x1a, 0xc7, 0x5b, 0x7d, 0xc6, 0xe9, 0x56, 0xc3, 0xf4, 0x6c, - 0x37, 0xf4, 0x59, 0x5b, 0x95, 0xe7, 0x9e, 0x3f, 0x10, 0xe1, 0x3c, 0x7f, 0x20, 0x0f, 0xd6, 0x0f, - 0x3d, 0xef, 0xd0, 0x61, 0x0d, 0x94, 0xfa, 0xa3, 0x47, 0x0d, 0x6e, 0x0f, 0x58, 0xc0, 0xe9, 0x60, - 0x18, 0x1a, 0xe8, 0xdf, 0x2a, 0x00, 0x6d, 0xcc, 0xd3, 0x3d, 0x1d, 0x32, 0xa2, 0x43, 0x99, 0xf6, - 0xfb, 0x3e, 0x3b, 0xb6, 0x29, 0xb7, 0x3d, 0x57, 0x53, 0x2e, 0x29, 0x1b, 0x45, 0x23, 0xa5, 0x23, - 0x04, 0x72, 0x2e, 0x1d, 0x30, 0x2d, 0x83, 0x67, 0xf8, 0x2c, 0x74, 0x23, 0xd7, 0xe6, 0x5a, 0x36, - 0xd4, 0x89, 0x67, 0x72, 0x11, 0x8a, 0x43, 0x9f, 0x99, 0x76, 0x20, 0x02, 0xe5, 0x2e, 0x29, 0x1b, - 0x15, 0x63, 0xac, 0x68, 0x5e, 0xfe, 0xf3, 0xbb, 0x5f, 0xbf, 0xca, 0xd6, 0xa0, 0x9a, 0xce, 0x48, - 0x20, 0x8c, 0xae, 0x2a, 0x9a, 0xa2, 0x29, 0xfa, 0x2f, 0x0a, 0xe4, 0xdb, 0x0e, 0x0d, 0x02, 0xa2, - 0x42, 0xf6, 0x09, 0x3b, 0x45, 0x40, 0x39, 0x43, 0x3c, 0x92, 0x2a, 0x64, 0x6c, 0x4b, 0xa2, 0xc8, - 0xd8, 0x16, 0x59, 0x82, 0x3c, 0xb5, 0x06, 0xb6, 0x8b, 0x20, 0xca, 0x46, 0x28, 0x90, 0x35, 0x28, - 0x0c, 0x18, 0xa7, 0x16, 0xe5, 0x14, 0x41, 0x14, 0x8d, 0x58, 0x26, 0x9b, 0x40, 0x42, 0x8e, 0x7b, - 0xfc, 0x74, 0xc8, 0x7a, 0x21, 0x0e, 0x2d, 0x8f, 0x56, 0xaa, 0x19, 0xb3, 0xd2, 0x42, 0x7d, 0xf3, - 0x43, 0x44, 0xfc, 0x1e, 0xcc, 0x21, 0x12, 0x55, 0x21, 0x05, 0x01, 0x40, 0x00, 0x25, 0x45, 0x99, - 0x5a, 0xcd, 0x90, 0x95, 0x69, 0x31, 0xd5, 0xac, 0x96, 0xd1, 0x3f, 0x87, 0x12, 0x96, 0xb2, 0x1b, - 0x04, 0x23, 0xe6, 0x93, 0xff, 0x40, 0xd1, 0x14, 0x62, 0x6f, 0x5c, 0x56, 0x01, 0x15, 0x77, 0xd8, - 0x29, 0x59, 0x81, 0x59, 0x1b, 0xcd, 0xb0, 0xbe, 0xb2, 0x21, 0xa5, 0xe6, 0x45, 0xc4, 0xb0, 0x02, - 0x04, 0xd4, 0xd8, 0x79, 0x53, 0x5a, 0x66, 0xf5, 0x1f, 0x32, 0x30, 0xb7, 0xef, 0x7b, 0x8f, 0x99, - 0xc9, 0xff, 0x35, 0x5f, 0xeb, 0x49, 0x58, 0x82, 0xb0, 0xdc, 0x76, 0x46, 0x53, 0x12, 0xd0, 0x74, - 0x28, 0x3f, 0x1e, 0xf9, 0x76, 0x60, 0xd9, 0x26, 0x8e, 0x48, 0x48, 0x57, 0x4a, 0x97, 0x22, 0x7d, - 0x76, 0x82, 0xf4, 0xff, 0x41, 0xd9, 0x67, 0x8f, 0x98, 0xcf, 0x5c, 0x93, 0xf5, 0x6c, 0x4b, 0x9b, - 0xc3, 0xf3, 0x52, 0xac, 0xdb, 0xb5, 0x9a, 0x47, 0x58, 0x65, 0x7f, 0x1a, 0xd3, 0x04, 0xca, 0x89, - 0xc2, 0x2d, 0x35, 0x93, 0x64, 0x3f, 0x4b, 0xd4, 0x74, 0x70, 0x35, 0x47, 0xd6, 0x60, 0x65, 0xec, - 0x90, 0x3a, 0xcb, 0x6b, 0x39, 0xfd, 0xa7, 0x2c, 0xe4, 0xb7, 0x29, 0x37, 0x8f, 0xa6, 0xf0, 0x75, - 0x46, 0x0f, 0xc8, 0x3a, 0x94, 0x86, 0x21, 0xc9, 0xc8, 0x51, 0x16, 0x3d, 0x40, 0xaa, 0x04, 0x43, - 0x4b, 0x90, 0xb7, 0x98, 0xeb, 0x0d, 0xe4, 0xbc, 0x85, 0x42, 0x8a, 0x93, 0xfc, 0x04, 0x27, 0xef, - 0x03, 0x04, 0x9c, 0xfa, 0xbc, 0x67, 0x51, 0xce, 0x90, 0xb1, 0xd2, 0xcd, 0xb5, 0x7a, 0xb8, 0xbb, - 0xf5, 0x68, 0x77, 0xeb, 0xdd, 0x68, 0x77, 0x8d, 0x22, 0x5a, 0xef, 0x50, 0xce, 0xc8, 0xbb, 0x50, - 0x60, 0xae, 0x15, 0x3a, 0xce, 0xbd, 0xd2, 0x71, 0x8e, 0xb9, 0x16, 0xba, 0xdd, 0x82, 0x8a, 0x28, - 0x87, 0x0a, 0x2e, 0xd0, 0xb7, 0xf0, 0x4a, 0xdf, 0x72, 0xe4, 0x80, 0x01, 0x08, 0xe4, 0xbc, 0x21, - 0x73, 0xb5, 0xe2, 0x25, 0x65, 0xa3, 0x60, 0xe0, 0x73, 0x7a, 0xa4, 0x21, 0x3d, 0xd2, 0xcd, 0x87, - 0xd8, 0xd4, 0xee, 0xb8, 0xa9, 0x25, 0x49, 0x13, 0xf6, 0x75, 0x3e, 0x45, 0xaa, 0x9a, 0x21, 0xd5, - 0x24, 0x25, 0x6a, 0x96, 0x40, 0xd4, 0x0d, 0x35, 0x47, 0x2a, 0x89, 0x3c, 0x6a, 0x5e, 0xcb, 0xeb, - 0x5f, 0x2a, 0x50, 0xc1, 0xdd, 0x3a, 0x60, 0x5f, 0x8c, 0x44, 0x7f, 0xcf, 0x58, 0x6d, 0x65, 0xfa, - 0x6a, 0x93, 0xff, 0x43, 0xc5, 0x65, 0x27, 0xbc, 0x17, 0x48, 0x77, 0xec, 0x78, 0xce, 0x28, 0x0b, - 0x65, 0x14, 0xb2, 0x59, 0xc3, 0x02, 0x34, 0x58, 0x9a, 0x1a, 0x7a, 0x56, 0x7f, 0x0c, 0xf3, 0x72, - 0xf9, 0x62, 0x14, 0xe7, 0xee, 0xf8, 0x6b, 0x25, 0x5d, 0xc6, 0xa4, 0xf3, 0x50, 0x4a, 0x46, 0x9a, - 0xd3, 0x5d, 0xa8, 0xe0, 0xd8, 0xc6, 0x99, 0x26, 0x86, 0x52, 0x79, 0x69, 0x28, 0x5f, 0x2b, 0xdb, - 0x2a, 0x66, 0x5b, 0x80, 0x4a, 0x3a, 0x5a, 0x41, 0xff, 0x4b, 0x81, 0x32, 0x26, 0xdc, 0xa6, 0x0e, - 0x95, 0x95, 0xf5, 0x85, 0x9c, 0xac, 0x0c, 0x15, 0x22, 0x97, 0x06, 0x73, 0xd4, 0xb2, 0x7c, 0x16, - 0x04, 0x72, 0x75, 0x22, 0x91, 0x5c, 0x85, 0x79, 0xee, 0x53, 0x8b, 0xf6, 0x1d, 0xd6, 0xa3, 0x03, - 0x6f, 0xe4, 0x46, 0x9f, 0x8c, 0x6a, 0xa4, 0x6e, 0xa1, 0x96, 0x5c, 0x81, 0xaa, 0xcf, 0xb8, 0xed, - 0x33, 0x2b, 0xb2, 0x0b, 0x97, 0xa9, 0x22, 0xb5, 0xd2, 0xec, 0x2a, 0xcc, 0xb3, 0xc0, 0xf4, 0xbd, - 0xa7, 0x63, 0xbb, 0x70, 0xb7, 0xaa, 0x91, 0x3a, 0x34, 0x6c, 0xbe, 0x83, 0x95, 0xd5, 0x61, 0x11, - 0x16, 0x24, 0x96, 0xcd, 0x18, 0x3f, 0x59, 0x86, 0x85, 0x58, 0xd8, 0x94, 0xc7, 0xaa, 0xa2, 0x15, - 0xf5, 0x1f, 0x15, 0x28, 0x85, 0x3c, 0x8f, 0x86, 0x43, 0xe7, 0xf4, 0xfc, 0xaa, 0xa7, 0xd4, 0x96, - 0x79, 0xcd, 0xda, 0xb2, 0xd3, 0x6a, 0xbb, 0x06, 0xaa, 0x29, 0xb8, 0x76, 0x9c, 0x49, 0x12, 0xe6, - 0x63, 0xbd, 0xac, 0x2e, 0x31, 0x25, 0x63, 0x7c, 0xa0, 0x8f, 0xa0, 0x72, 0xdf, 0xb7, 0x0f, 0x6d, - 0xb7, 0x7b, 0xb2, 0xeb, 0x5a, 0xec, 0xe4, 0xfc, 0x79, 0x9c, 0xfc, 0x3e, 0xac, 0xc0, 0x6c, 0xe0, - 0x8d, 0x7c, 0x93, 0x49, 0x78, 0x52, 0x6a, 0xae, 0x63, 0xb2, 0x0b, 0xb0, 0x0c, 0x8b, 0xc9, 0x57, - 0xf1, 0xa6, 0x34, 0x2e, 0xe9, 0xdf, 0x28, 0x72, 0x3a, 0xdb, 0x9e, 0xcb, 0x7d, 0x6a, 0xf2, 0xf3, - 0x79, 0x4b, 0x81, 0xca, 0x4c, 0x80, 0x5a, 0x83, 0x82, 0x29, 0xa3, 0x48, 0x18, 0xb1, 0xdc, 0x6c, - 0x20, 0x90, 0x6b, 0xa9, 0xaa, 0x89, 0x06, 0x64, 0x8c, 0x2a, 0x32, 0xc5, 0xdb, 0x44, 0x59, 0xff, - 0x00, 0x96, 0xf1, 0x2d, 0xd1, 0xf6, 0x19, 0xe5, 0x9e, 0xdf, 0x72, 0x1c, 0xef, 0xa9, 0x63, 0x07, - 0x5c, 0x0c, 0x2c, 0x73, 0x45, 0x87, 0x2c, 0x44, 0x57, 0x30, 0x22, 0xb1, 0x59, 0xf8, 0x5b, 0xe4, - 0xc8, 0x14, 0x2a, 0xfa, 0x0e, 0x2c, 0xa2, 0x03, 0xb3, 0x92, 0x31, 0x92, 0xb3, 0xae, 0xa4, 0x66, - 0xbd, 0xb9, 0x88, 0xf0, 0x2a, 0x50, 0x1c, 0x5b, 0x54, 0xf5, 0x16, 0x14, 0xd0, 0xfd, 0x36, 0x63, - 0xe4, 0x06, 0x64, 0x1f, 0x31, 0x86, 0x6e, 0xa5, 0x9b, 0x17, 0xea, 0xe1, 0x1d, 0xae, 0x2e, 0xee, - 0x78, 0x75, 0x79, 0xc7, 0xab, 0xb7, 0x3d, 0xdb, 0x35, 0x84, 0x55, 0x0c, 0x64, 0x5e, 0xbf, 0x03, - 0x44, 0x02, 0xd9, 0xf6, 0x6d, 0xeb, 0x90, 0xb5, 0x8f, 0xa8, 0xed, 0x92, 0xff, 0x02, 0x98, 0xe2, - 0xa1, 0x87, 0x77, 0xb3, 0xf0, 0x45, 0x57, 0x44, 0xcd, 0x1e, 0x1d, 0xb0, 0xe6, 0x0a, 0x82, 0x51, - 0xa1, 0x9c, 0x32, 0x53, 0xf5, 0xef, 0x33, 0xb0, 0x20, 0xdf, 0x5a, 0x1d, 0xd7, 0xf7, 0x1c, 0x67, - 0xc0, 0x5c, 0xfe, 0xea, 0xb7, 0x49, 0xaa, 0x67, 0xd9, 0x89, 0x9e, 0xb5, 0x61, 0x56, 0x5c, 0x68, - 0x47, 0x01, 0x8e, 0x6b, 0xf5, 0xe6, 0x8d, 0xfa, 0xcb, 0x57, 0xda, 0xfa, 0x4b, 0x49, 0x0f, 0xd0, - 0xc5, 0x90, 0xae, 0x64, 0x0b, 0x96, 0xe8, 0x70, 0xe8, 0xd8, 0x26, 0x5e, 0x0b, 0x7b, 0x13, 0x9f, - 0xce, 0xc5, 0xc4, 0xd9, 0xbd, 0xe8, 0x2b, 0xda, 0x80, 0x45, 0x16, 0x87, 0xeb, 0x4d, 0x5c, 0x40, - 0xc8, 0xf8, 0x28, 0x72, 0x68, 0xbe, 0x85, 0xa4, 0x5c, 0x87, 0x55, 0x58, 0x4e, 0x94, 0xbb, 0x19, - 0x57, 0x96, 0xfe, 0xd0, 0x28, 0xda, 0xc2, 0xf5, 0x3f, 0x14, 0x58, 0x3d, 0x03, 0x39, 0xb9, 0x06, - 0x57, 0xf6, 0x8d, 0xfb, 0x9f, 0x74, 0xda, 0xdd, 0x5e, 0x67, 0xcf, 0xb8, 0x7f, 0xf7, 0xee, 0xbd, - 0xce, 0x5e, 0xb7, 0x77, 0xd0, 0x6d, 0x75, 0x1f, 0x1c, 0xf4, 0x1e, 0xec, 0x1d, 0xec, 0x77, 0xda, - 0xbb, 0xb7, 0x77, 0x3b, 0x3b, 0xea, 0x0c, 0x79, 0x03, 0xf4, 0xb3, 0x4d, 0x5b, 0xed, 0x76, 0x67, - 0xbf, 0xdb, 0xd9, 0x51, 0x15, 0xd2, 0x80, 0x1b, 0x67, 0xdb, 0xb5, 0x3f, 0x6e, 0xed, 0x7d, 0xd4, - 0x39, 0xe8, 0x19, 0x9d, 0x4f, 0x1f, 0x74, 0x0e, 0x84, 0x43, 0xe6, 0xfc, 0xc0, 0x46, 0x47, 0x1c, - 0x74, 0x76, 0xd4, 0x2c, 0xd9, 0x80, 0xcb, 0x67, 0xdb, 0x75, 0x3b, 0xc6, 0xbd, 0xdd, 0xbd, 0x96, - 0xb0, 0xcc, 0x6d, 0x7f, 0xf6, 0xf3, 0xf3, 0x9a, 0xf2, 0xec, 0x79, 0x4d, 0xf9, 0xfd, 0x79, 0x4d, - 0xf9, 0xfa, 0x45, 0x6d, 0xe6, 0xd9, 0x8b, 0xda, 0xcc, 0x6f, 0x2f, 0x6a, 0x33, 0x0f, 0x6f, 0x1d, - 0xda, 0xfc, 0x68, 0xd4, 0xaf, 0x9b, 0xde, 0xa0, 0x81, 0x0d, 0x7e, 0xd3, 0x65, 0xfc, 0xa9, 0xe7, - 0x3f, 0x91, 0x92, 0xc3, 0xac, 0x43, 0xe6, 0x37, 0x4e, 0x12, 0xbf, 0x3a, 0xf8, 0xff, 0x22, 0xbe, - 0x9a, 0x81, 0xf8, 0x8b, 0x99, 0xc5, 0x4b, 0xc6, 0xdb, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x33, - 0x3c, 0x85, 0x93, 0x12, 0x0d, 0x00, 0x00, + // 1424 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x6e, 0xdb, 0xd6, + 0x12, 0x36, 0xf5, 0x63, 0x4b, 0xa3, 0x1f, 0xd3, 0xc7, 0x7f, 0x8c, 0x6f, 0xae, 0x9c, 0xcb, 0x9b, + 0xdc, 0x38, 0x89, 0xaf, 0x54, 0xa7, 0x2d, 0xd0, 0xaa, 0x40, 0x03, 0x59, 0x56, 0x5a, 0x37, 0x89, + 0xe3, 0xd2, 0xca, 0xa2, 0xd9, 0xa8, 0x47, 0xe4, 0x89, 0xcd, 0x84, 0x22, 0x55, 0xf2, 0xc8, 0xb1, + 0xb7, 0x7d, 0x80, 0xa2, 0xab, 0xae, 0x8a, 0x3e, 0x41, 0x81, 0xbe, 0x40, 0x97, 0x5d, 0xb4, 0xbb, + 0x00, 0xdd, 0x74, 0x59, 0x24, 0x0f, 0x50, 0xa0, 0xe8, 0xaa, 0xab, 0xe2, 0x0c, 0x0f, 0x29, 0x52, + 0x91, 0x9d, 0x20, 0x3b, 0xce, 0x9c, 0xf9, 0xf9, 0xe6, 0x9b, 0x19, 0xf2, 0x10, 0x6a, 0x3e, 0x3b, + 0x64, 0x6e, 0x83, 0x99, 0x9e, 0xe9, 0x33, 0xcb, 0xe6, 0x8d, 0xe3, 0xad, 0x46, 0xc0, 0x29, 0x67, + 0xf5, 0xa1, 0xef, 0x71, 0x8f, 0x10, 0x3c, 0xaf, 0xc7, 0xe7, 0xf5, 0xe3, 0xad, 0xb5, 0x9a, 0xe9, + 0x05, 0x03, 0x2f, 0x68, 0xf4, 0x69, 0xc0, 0x1a, 0xc7, 0x5b, 0x7d, 0xc6, 0xe9, 0x56, 0xc3, 0xf4, + 0x6c, 0x37, 0xf4, 0x59, 0x5b, 0x95, 0xe7, 0x9e, 0x3f, 0x10, 0xe1, 0x3c, 0x7f, 0x20, 0x0f, 0xd6, + 0x0f, 0x3d, 0xef, 0xd0, 0x61, 0x0d, 0x94, 0xfa, 0xa3, 0x47, 0x0d, 0x6e, 0x0f, 0x58, 0xc0, 0xe9, + 0x60, 0x18, 0x1a, 0xe8, 0xdf, 0x2a, 0x00, 0x6d, 0xcc, 0xd3, 0x3d, 0x1d, 0x32, 0xa2, 0x43, 0x99, + 0xf6, 0xfb, 0x3e, 0x3b, 0xb6, 0x29, 0xb7, 0x3d, 0x57, 0x53, 0x2e, 0x29, 0x1b, 0x45, 0x23, 0xa5, + 0x23, 0x04, 0x72, 0x2e, 0x1d, 0x30, 0x2d, 0x83, 0x67, 0xf8, 0x2c, 0x74, 0x23, 0xd7, 0xe6, 0x5a, + 0x36, 0xd4, 0x89, 0x67, 0x72, 0x11, 0x8a, 0x43, 0x9f, 0x99, 0x76, 0x20, 0x02, 0xe5, 0x2e, 0x29, + 0x1b, 0x15, 0x63, 0xac, 0x68, 0x5e, 0xfe, 0xf3, 0xbb, 0x5f, 0xbf, 0xca, 0xd6, 0xa0, 0x9a, 0xce, + 0x48, 0x20, 0x8c, 0xae, 0x2a, 0x9a, 0xa2, 0x29, 0xfa, 0x2f, 0x0a, 0xe4, 0xdb, 0x0e, 0x0d, 0x02, + 0xa2, 0x42, 0xf6, 0x09, 0x3b, 0x45, 0x40, 0x39, 0x43, 0x3c, 0x92, 0x2a, 0x64, 0x6c, 0x4b, 0xa2, + 0xc8, 0xd8, 0x16, 0x59, 0x82, 0x3c, 0xb5, 0x06, 0xb6, 0x8b, 0x20, 0xca, 0x46, 0x28, 0x90, 0x35, + 0x28, 0x0c, 0x18, 0xa7, 0x16, 0xe5, 0x14, 0x41, 0x14, 0x8d, 0x58, 0x26, 0x9b, 0x40, 0x42, 0x8e, + 0x7b, 0xfc, 0x74, 0xc8, 0x7a, 0x21, 0x0e, 0x2d, 0x8f, 0x56, 0xaa, 0x19, 0xb3, 0xd2, 0x42, 0x7d, + 0xf3, 0x43, 0x44, 0xfc, 0x1e, 0xcc, 0x21, 0x12, 0x55, 0x21, 0x05, 0x01, 0x40, 0x00, 0x25, 0x45, + 0x99, 0x5a, 0xcd, 0x90, 0x95, 0x69, 0x31, 0xd5, 0xac, 0x96, 0xd1, 0x3f, 0x87, 0x12, 0x96, 0xb2, + 0x1b, 0x04, 0x23, 0xe6, 0x93, 0x7f, 0x41, 0xd1, 0x14, 0x62, 0x6f, 0x5c, 0x56, 0x01, 0x15, 0x77, + 0xd8, 0x29, 0x59, 0x81, 0x59, 0x1b, 0xcd, 0xb0, 0xbe, 0xb2, 0x21, 0xa5, 0xe6, 0x45, 0xc4, 0xb0, + 0x02, 0x04, 0xd4, 0xd8, 0x79, 0x53, 0x5a, 0x66, 0xf5, 0x1f, 0x32, 0x30, 0xb7, 0xef, 0x7b, 0x8f, + 0x99, 0xc9, 0xdf, 0x98, 0xaf, 0xf5, 0x24, 0x2c, 0x41, 0x58, 0x6e, 0x3b, 0xa3, 0x29, 0x09, 0x68, + 0x3a, 0x94, 0x1f, 0x8f, 0x7c, 0x3b, 0xb0, 0x6c, 0x13, 0x47, 0x24, 0xa4, 0x2b, 0xa5, 0x4b, 0x91, + 0x3e, 0x3b, 0x41, 0xfa, 0x7f, 0xa0, 0xec, 0xb3, 0x47, 0xcc, 0x67, 0xae, 0xc9, 0x7a, 0xb6, 0xa5, + 0xcd, 0xe1, 0x79, 0x29, 0xd6, 0xed, 0x5a, 0xcd, 0x23, 0xac, 0xb2, 0x3f, 0x8d, 0x69, 0x02, 0xe5, + 0x44, 0xe1, 0x96, 0x9a, 0x49, 0xb2, 0x9f, 0x25, 0x6a, 0x3a, 0xb8, 0x9a, 0x23, 0x6b, 0xb0, 0x32, + 0x76, 0x48, 0x9d, 0xe5, 0xb5, 0x9c, 0xfe, 0x53, 0x16, 0xf2, 0xdb, 0x94, 0x9b, 0x47, 0x53, 0xf8, + 0x3a, 0xa3, 0x07, 0x64, 0x1d, 0x4a, 0xc3, 0x90, 0x64, 0xe4, 0x28, 0x8b, 0x1e, 0x20, 0x55, 0x82, + 0xa1, 0x25, 0xc8, 0x5b, 0xcc, 0xf5, 0x06, 0x72, 0xde, 0x42, 0x21, 0xc5, 0x49, 0x7e, 0x82, 0x93, + 0xf7, 0x01, 0x02, 0x4e, 0x7d, 0xde, 0xb3, 0x28, 0x67, 0xc8, 0x58, 0xe9, 0xe6, 0x5a, 0x3d, 0xdc, + 0xdd, 0x7a, 0xb4, 0xbb, 0xf5, 0x6e, 0xb4, 0xbb, 0x46, 0x11, 0xad, 0x77, 0x28, 0x67, 0xe4, 0x5d, + 0x28, 0x30, 0xd7, 0x0a, 0x1d, 0xe7, 0x5e, 0xe9, 0x38, 0xc7, 0x5c, 0x0b, 0xdd, 0x6e, 0x41, 0x45, + 0x94, 0x43, 0x05, 0x17, 0xe8, 0x5b, 0x78, 0xa5, 0x6f, 0x39, 0x72, 0xc0, 0x00, 0x04, 0x72, 0xde, + 0x90, 0xb9, 0x5a, 0xf1, 0x92, 0xb2, 0x51, 0x30, 0xf0, 0x39, 0x3d, 0xd2, 0x90, 0x1e, 0xe9, 0xe6, + 0x43, 0x6c, 0x6a, 0x77, 0xdc, 0xd4, 0x92, 0xa4, 0x09, 0xfb, 0x3a, 0x9f, 0x22, 0x55, 0xcd, 0x90, + 0x6a, 0x92, 0x12, 0x35, 0x4b, 0x20, 0xea, 0x86, 0x9a, 0x23, 0x95, 0x44, 0x1e, 0x35, 0xaf, 0xe5, + 0xf5, 0x2f, 0x15, 0xa8, 0xe0, 0x6e, 0x1d, 0xb0, 0x2f, 0x46, 0xa2, 0xbf, 0x67, 0xac, 0xb6, 0x32, + 0x7d, 0xb5, 0xc9, 0x7f, 0xa1, 0xe2, 0xb2, 0x13, 0xde, 0x0b, 0xa4, 0x3b, 0x76, 0x3c, 0x67, 0x94, + 0x85, 0x32, 0x0a, 0xd9, 0xac, 0x61, 0x01, 0x1a, 0x2c, 0x4d, 0x0d, 0x3d, 0xab, 0x3f, 0x86, 0x79, + 0xb9, 0x7c, 0x31, 0x8a, 0x73, 0x77, 0xfc, 0xb5, 0x92, 0x2e, 0x63, 0xd2, 0x79, 0x28, 0x25, 0x23, + 0xcd, 0xe9, 0x2e, 0x54, 0x70, 0x6c, 0xe3, 0x4c, 0x13, 0x43, 0xa9, 0xbc, 0x34, 0x94, 0xaf, 0x95, + 0x6d, 0x15, 0xb3, 0x2d, 0x40, 0x25, 0x1d, 0xad, 0xa0, 0xff, 0xa5, 0x40, 0x19, 0x13, 0x6e, 0x53, + 0x87, 0xca, 0xca, 0xfa, 0x42, 0x4e, 0x56, 0x86, 0x0a, 0x91, 0x4b, 0x83, 0x39, 0x6a, 0x59, 0x3e, + 0x0b, 0x02, 0xb9, 0x3a, 0x91, 0x48, 0xae, 0xc2, 0x3c, 0xf7, 0xa9, 0x45, 0xfb, 0x0e, 0xeb, 0xd1, + 0x81, 0x37, 0x72, 0xa3, 0x4f, 0x46, 0x35, 0x52, 0xb7, 0x50, 0x4b, 0xae, 0x40, 0xd5, 0x67, 0xdc, + 0xf6, 0x99, 0x15, 0xd9, 0x85, 0xcb, 0x54, 0x91, 0x5a, 0x69, 0x76, 0x15, 0xe6, 0x59, 0x60, 0xfa, + 0xde, 0xd3, 0xb1, 0x5d, 0xb8, 0x5b, 0xd5, 0x48, 0x1d, 0x1a, 0x36, 0xdf, 0xc1, 0xca, 0xea, 0xb0, + 0x08, 0x0b, 0x12, 0xcb, 0x66, 0x8c, 0x9f, 0x2c, 0xc3, 0x42, 0x2c, 0x6c, 0xca, 0x63, 0x55, 0xd1, + 0x8a, 0xfa, 0x8f, 0x0a, 0x94, 0x42, 0x9e, 0x47, 0xc3, 0xa1, 0x73, 0x7a, 0x7e, 0xd5, 0x53, 0x6a, + 0xcb, 0xbc, 0x66, 0x6d, 0xd9, 0x69, 0xb5, 0x5d, 0x03, 0xd5, 0x14, 0x5c, 0x3b, 0xce, 0x24, 0x09, + 0xf3, 0xb1, 0x5e, 0x56, 0x97, 0x98, 0x92, 0x31, 0x3e, 0xd0, 0x47, 0x50, 0xb9, 0xef, 0xdb, 0x87, + 0xb6, 0xdb, 0x3d, 0xd9, 0x75, 0x2d, 0x76, 0x72, 0xfe, 0x3c, 0x4e, 0x7e, 0x1f, 0x56, 0x60, 0x36, + 0xf0, 0x46, 0xbe, 0xc9, 0x24, 0x3c, 0x29, 0x35, 0xd7, 0x31, 0xd9, 0x05, 0x58, 0x86, 0xc5, 0xe4, + 0xab, 0x78, 0x53, 0x1a, 0x97, 0xf4, 0x6f, 0x14, 0x39, 0x9d, 0x6d, 0xcf, 0xe5, 0x3e, 0x35, 0xf9, + 0xf9, 0xbc, 0xa5, 0x40, 0x65, 0x26, 0x40, 0xad, 0x41, 0xc1, 0x94, 0x51, 0x24, 0x8c, 0x58, 0x6e, + 0x36, 0x10, 0xc8, 0xb5, 0x54, 0xd5, 0x44, 0x03, 0x32, 0x46, 0x15, 0x99, 0xe2, 0x6d, 0xa2, 0xac, + 0x7f, 0x00, 0xcb, 0xf8, 0x96, 0x68, 0xfb, 0x8c, 0x72, 0xcf, 0x6f, 0x39, 0x8e, 0xf7, 0xd4, 0xb1, + 0x03, 0x2e, 0x06, 0x96, 0xb9, 0xa2, 0x43, 0x16, 0xa2, 0x2b, 0x18, 0x91, 0xd8, 0x2c, 0xfc, 0x2d, + 0x72, 0x64, 0x0a, 0x15, 0x7d, 0x07, 0x16, 0xd1, 0x81, 0x59, 0xc9, 0x18, 0xc9, 0x59, 0x57, 0x52, + 0xb3, 0xde, 0x5c, 0x44, 0x78, 0x15, 0x28, 0x8e, 0x2d, 0xaa, 0x7a, 0x0b, 0x0a, 0xe8, 0x7e, 0x9b, + 0x31, 0x72, 0x03, 0xb2, 0x8f, 0x18, 0x43, 0xb7, 0xd2, 0xcd, 0x0b, 0xf5, 0xf0, 0x0e, 0x57, 0x17, + 0x77, 0xbc, 0xba, 0xbc, 0xe3, 0xd5, 0xdb, 0x9e, 0xed, 0x1a, 0xc2, 0x2a, 0x06, 0x32, 0xaf, 0xdf, + 0x01, 0x22, 0x81, 0x6c, 0xfb, 0xb6, 0x75, 0xc8, 0xda, 0x47, 0xd4, 0x76, 0xc9, 0xbf, 0x01, 0x4c, + 0xf1, 0xd0, 0xc3, 0xbb, 0x59, 0xf8, 0xa2, 0x2b, 0xa2, 0x66, 0x8f, 0x0e, 0x58, 0x73, 0x05, 0xc1, + 0xa8, 0x50, 0x4e, 0x99, 0xa9, 0xfa, 0xf7, 0x19, 0x58, 0x90, 0x6f, 0xad, 0x8e, 0xeb, 0x7b, 0x8e, + 0x33, 0x60, 0x2e, 0x7f, 0xf5, 0xdb, 0x24, 0xd5, 0xb3, 0xec, 0x44, 0xcf, 0xda, 0x30, 0x2b, 0x2e, + 0xb4, 0xa3, 0x00, 0xc7, 0xb5, 0x7a, 0xf3, 0x46, 0xfd, 0xe5, 0x2b, 0x6d, 0xfd, 0xa5, 0xa4, 0x07, + 0xe8, 0x62, 0x48, 0x57, 0xb2, 0x05, 0x4b, 0x74, 0x38, 0x74, 0x6c, 0x13, 0xaf, 0x85, 0xbd, 0x89, + 0x4f, 0xe7, 0x62, 0xe2, 0xec, 0x5e, 0xf4, 0x15, 0x6d, 0xc0, 0x22, 0x8b, 0xc3, 0xf5, 0x26, 0x2e, + 0x20, 0x64, 0x7c, 0x14, 0x39, 0x34, 0xdf, 0x42, 0x52, 0xae, 0xc3, 0x2a, 0x2c, 0x27, 0xca, 0xdd, + 0x8c, 0x2b, 0x4b, 0x7f, 0x68, 0x14, 0x6d, 0x41, 0x6f, 0x03, 0x48, 0xe0, 0x6f, 0xdc, 0x40, 0x72, + 0xfd, 0x0f, 0x05, 0x56, 0xcf, 0x28, 0x9f, 0x5c, 0x83, 0x2b, 0xfb, 0xc6, 0xfd, 0x4f, 0x3a, 0xed, + 0x6e, 0xaf, 0xb3, 0x67, 0xdc, 0xbf, 0x7b, 0xf7, 0x5e, 0x67, 0xaf, 0xdb, 0x3b, 0xe8, 0xb6, 0xba, + 0x0f, 0x0e, 0x7a, 0x0f, 0xf6, 0x0e, 0xf6, 0x3b, 0xed, 0xdd, 0xdb, 0xbb, 0x9d, 0x1d, 0x75, 0x86, + 0xfc, 0x0f, 0xf4, 0xb3, 0x4d, 0x5b, 0xed, 0x76, 0x67, 0xbf, 0xdb, 0xd9, 0x51, 0x15, 0xd2, 0x80, + 0x1b, 0x67, 0xdb, 0xb5, 0x3f, 0x6e, 0xed, 0x7d, 0xd4, 0x39, 0xe8, 0x19, 0x9d, 0x4f, 0x1f, 0x74, + 0x0e, 0x84, 0x43, 0xe6, 0xfc, 0xc0, 0x46, 0x47, 0x1c, 0x74, 0x76, 0xd4, 0x2c, 0xd9, 0x80, 0xcb, + 0x67, 0xdb, 0x75, 0x3b, 0xc6, 0xbd, 0xdd, 0xbd, 0x96, 0xb0, 0xcc, 0x6d, 0x7f, 0xf6, 0xf3, 0xf3, + 0x9a, 0xf2, 0xec, 0x79, 0x4d, 0xf9, 0xfd, 0x79, 0x4d, 0xf9, 0xfa, 0x45, 0x6d, 0xe6, 0xd9, 0x8b, + 0xda, 0xcc, 0x6f, 0x2f, 0x6a, 0x33, 0x0f, 0x6f, 0x1d, 0xda, 0xfc, 0x68, 0xd4, 0xaf, 0x9b, 0xde, + 0xa0, 0x81, 0x53, 0xf2, 0x7f, 0x97, 0xf1, 0xa7, 0x9e, 0xff, 0x44, 0x4a, 0x0e, 0xb3, 0x0e, 0x99, + 0xdf, 0x38, 0x49, 0xfc, 0x2f, 0xe1, 0x4f, 0x90, 0xf8, 0xf4, 0x06, 0xe2, 0x57, 0x68, 0x16, 0x6f, + 0x2a, 0x6f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x49, 0xb4, 0x1d, 0x57, 0x0d, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { @@ -2208,6 +2259,41 @@ func (m *ProjectEnrollment) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ProjectFee) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProjectFee) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProjectFee) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintState(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintState(dAtA []byte, offset int, v uint64) int { offset -= sovState(v) base := offset @@ -2581,6 +2667,19 @@ func (m *ProjectEnrollment) Size() (n int) { return n } +func (m *ProjectFee) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Fee != nil { + l = m.Fee.Size() + n += 1 + l + sovState(uint64(l)) + } + return n +} + func sovState(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5024,6 +5123,92 @@ func (m *ProjectEnrollment) Unmarshal(dAtA []byte) error { } return nil } +func (m *ProjectFee) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProjectFee: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectFee: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowState + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthState + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthState + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &types1.Coin{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipState(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthState + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipState(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index c68ce80da4..9e79e830f4 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -292,6 +292,12 @@ type MsgCreateProject struct { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. ReferenceId string `protobuf:"bytes,5,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + Fee *types.Coin `protobuf:"bytes,6,opt,name=fee,proto3" json:"fee,omitempty"` } func (m *MsgCreateProject) Reset() { *m = MsgCreateProject{} } @@ -362,6 +368,13 @@ func (m *MsgCreateProject) GetReferenceId() string { return "" } +func (m *MsgCreateProject) GetFee() *types.Coin { + if m != nil { + return m.Fee + } + return nil +} + // MsgCreateProjectResponse is the Msg/CreateProject response type. type MsgCreateProjectResponse struct { // project_id is the unique identifier of the project. @@ -427,6 +440,12 @@ type MsgCreateUnregisteredProject struct { // reference_id is any arbitrary string used to reference the project with a // maximum length of 32 characters. ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` + // fee is the project creation fee. An equal fee is required if the project + // creation fee parameter is set. The provided fee can be greater than the + // parameter, but only the amount in the parameter will be charged. + // + // Since Revision 3 + Fee *types.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` } func (m *MsgCreateUnregisteredProject) Reset() { *m = MsgCreateUnregisteredProject{} } @@ -490,6 +509,13 @@ func (m *MsgCreateUnregisteredProject) GetReferenceId() string { return "" } +func (m *MsgCreateUnregisteredProject) GetFee() *types.Coin { + if m != nil { + return m.Fee + } + return nil +} + // MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. type MsgCreateUnregisteredProjectResponse struct { // project_id is the unique identifier of the project. @@ -786,7 +812,7 @@ var xxx_messageInfo_MsgUpdateProjectEnrollmentResponse proto.InternalMessageInfo // MsgCreateBatch is the Msg/CreateBatch request type. type MsgCreateBatch struct { // issuer is the address of the account issuing the credits and must be an - // approved issuer within the credit class of the project. + // approved issuer within a credit class of the project. Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` // project_id is the unique identifier of the project under which the credit // batch will be created. @@ -814,6 +840,11 @@ type MsgCreateBatch struct { // issuing credits and should only be set when bridging assets from another // chain or registry as a result of a bridge operation. OriginTx *OriginTx `protobuf:"bytes,8,opt,name=origin_tx,json=originTx,proto3" json:"origin_tx,omitempty"` + // class_id is the unique identifier of the credit class under which the + // credit batch will be created. + // + // Since Revision 3 + ClassId string `protobuf:"bytes,9,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` } func (m *MsgCreateBatch) Reset() { *m = MsgCreateBatch{} } @@ -905,6 +936,13 @@ func (m *MsgCreateBatch) GetOriginTx() *OriginTx { return nil } +func (m *MsgCreateBatch) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + // MsgCreateBatchResponse is the Msg/CreateBatch response type. type MsgCreateBatchResponse struct { // batch_denom is the unique identifier of the credit batch. @@ -3001,6 +3039,99 @@ func (m *MsgUpdateClassFeeResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateClassFeeResponse proto.InternalMessageInfo +// MsgUpdateProjectFee is the Msg/UpdateProjectFee request type. +type MsgUpdateProjectFee struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // fee is the project creation fee. If not set, the project creation fee will + // be removed and no fee will be required to create a project. + Fee *types.Coin `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` +} + +func (m *MsgUpdateProjectFee) Reset() { *m = MsgUpdateProjectFee{} } +func (m *MsgUpdateProjectFee) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectFee) ProtoMessage() {} +func (*MsgUpdateProjectFee) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{48} +} +func (m *MsgUpdateProjectFee) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateProjectFee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateProjectFee.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateProjectFee) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectFee.Merge(m, src) +} +func (m *MsgUpdateProjectFee) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateProjectFee) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectFee.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateProjectFee proto.InternalMessageInfo + +func (m *MsgUpdateProjectFee) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateProjectFee) GetFee() *types.Coin { + if m != nil { + return m.Fee + } + return nil +} + +// MsgUpdateProjectFeeResponse is the Msg/UpdateProjectFee response type. +type MsgUpdateProjectFeeResponse struct { +} + +func (m *MsgUpdateProjectFeeResponse) Reset() { *m = MsgUpdateProjectFeeResponse{} } +func (m *MsgUpdateProjectFeeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateProjectFeeResponse) ProtoMessage() {} +func (*MsgUpdateProjectFeeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2b8ae49f50a3ddbd, []int{49} +} +func (m *MsgUpdateProjectFeeResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateProjectFeeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateProjectFeeResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateProjectFeeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateProjectFeeResponse.Merge(m, src) +} +func (m *MsgUpdateProjectFeeResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateProjectFeeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateProjectFeeResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateProjectFeeResponse proto.InternalMessageInfo + // MsgAddAllowedBridgeChain is the Msg/AddAllowedBridgeChain request type. // // Since Revision 2 @@ -3016,7 +3147,7 @@ func (m *MsgAddAllowedBridgeChain) Reset() { *m = MsgAddAllowedBridgeCha func (m *MsgAddAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChain) ProtoMessage() {} func (*MsgAddAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{48} + return fileDescriptor_2b8ae49f50a3ddbd, []int{50} } func (m *MsgAddAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3070,7 +3201,7 @@ func (m *MsgAddAllowedBridgeChainResponse) Reset() { *m = MsgAddAllowedB func (m *MsgAddAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgAddAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgAddAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{49} + return fileDescriptor_2b8ae49f50a3ddbd, []int{51} } func (m *MsgAddAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3114,7 +3245,7 @@ func (m *MsgRemoveAllowedBridgeChain) Reset() { *m = MsgRemoveAllowedBri func (m *MsgRemoveAllowedBridgeChain) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChain) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChain) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{50} + return fileDescriptor_2b8ae49f50a3ddbd, []int{52} } func (m *MsgRemoveAllowedBridgeChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3168,7 +3299,7 @@ func (m *MsgRemoveAllowedBridgeChainResponse) Reset() { *m = MsgRemoveAl func (m *MsgRemoveAllowedBridgeChainResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveAllowedBridgeChainResponse) ProtoMessage() {} func (*MsgRemoveAllowedBridgeChainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{51} + return fileDescriptor_2b8ae49f50a3ddbd, []int{53} } func (m *MsgRemoveAllowedBridgeChainResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3214,7 +3345,7 @@ func (m *MsgBurnRegen) Reset() { *m = MsgBurnRegen{} } func (m *MsgBurnRegen) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegen) ProtoMessage() {} func (*MsgBurnRegen) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{52} + return fileDescriptor_2b8ae49f50a3ddbd, []int{54} } func (m *MsgBurnRegen) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3274,7 +3405,7 @@ func (m *MsgBurnRegenResponse) Reset() { *m = MsgBurnRegenResponse{} } func (m *MsgBurnRegenResponse) String() string { return proto.CompactTextString(m) } func (*MsgBurnRegenResponse) ProtoMessage() {} func (*MsgBurnRegenResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_2b8ae49f50a3ddbd, []int{53} + return fileDescriptor_2b8ae49f50a3ddbd, []int{55} } func (m *MsgBurnRegenResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3355,6 +3486,8 @@ func init() { proto.RegisterType((*MsgRemoveClassCreatorResponse)(nil), "regen.ecocredit.v1.MsgRemoveClassCreatorResponse") proto.RegisterType((*MsgUpdateClassFee)(nil), "regen.ecocredit.v1.MsgUpdateClassFee") proto.RegisterType((*MsgUpdateClassFeeResponse)(nil), "regen.ecocredit.v1.MsgUpdateClassFeeResponse") + proto.RegisterType((*MsgUpdateProjectFee)(nil), "regen.ecocredit.v1.MsgUpdateProjectFee") + proto.RegisterType((*MsgUpdateProjectFeeResponse)(nil), "regen.ecocredit.v1.MsgUpdateProjectFeeResponse") proto.RegisterType((*MsgAddAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChain") proto.RegisterType((*MsgAddAllowedBridgeChainResponse)(nil), "regen.ecocredit.v1.MsgAddAllowedBridgeChainResponse") proto.RegisterType((*MsgRemoveAllowedBridgeChain)(nil), "regen.ecocredit.v1.MsgRemoveAllowedBridgeChain") @@ -3366,142 +3499,145 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2150 bytes of a gzipped FileDescriptorProto + // 2193 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, - 0x15, 0x0f, 0x25, 0xd9, 0x96, 0x9e, 0x1c, 0x27, 0x61, 0xb2, 0x8e, 0x42, 0xc7, 0xb2, 0xa3, 0x24, - 0x1b, 0xe7, 0xcf, 0x4a, 0xb5, 0xb7, 0x6d, 0x9a, 0x14, 0x45, 0x6a, 0x7b, 0x37, 0xa8, 0x17, 0xd0, - 0xee, 0x42, 0xc9, 0xa2, 0xe8, 0xa2, 0x85, 0x40, 0x91, 0x13, 0x9a, 0xa9, 0x44, 0x0a, 0xe4, 0xc8, - 0x72, 0xd0, 0xa2, 0x40, 0x8a, 0x02, 0xbd, 0xee, 0xb9, 0xe8, 0xa1, 0x40, 0xbf, 0x40, 0xd1, 0xaf, - 0xd0, 0x4b, 0x7b, 0xdb, 0x4b, 0xd1, 0xde, 0xb6, 0x48, 0x0a, 0xf4, 0x1b, 0xb4, 0x97, 0x1e, 0x8a, - 0xf9, 0xc3, 0x11, 0x87, 0xe2, 0x90, 0x54, 0xd2, 0xbd, 0x18, 0x9c, 0x99, 0x37, 0xef, 0xfd, 0xde, - 0x9b, 0x37, 0xef, 0xcf, 0x58, 0xb0, 0x11, 0x20, 0x07, 0x79, 0x1d, 0x64, 0xf9, 0x56, 0x80, 0x6c, - 0x17, 0x77, 0x4e, 0x76, 0x3b, 0xf8, 0xb4, 0x3d, 0x0e, 0x7c, 0xec, 0xeb, 0x3a, 0x5d, 0x6c, 0x8b, - 0xc5, 0xf6, 0xc9, 0xae, 0xd1, 0xb4, 0xfc, 0x70, 0xe4, 0x87, 0x9d, 0x81, 0x19, 0xa2, 0xce, 0xc9, - 0xee, 0x00, 0x61, 0x73, 0xb7, 0x63, 0xf9, 0xae, 0xc7, 0xf6, 0x18, 0x97, 0xf9, 0xfa, 0x28, 0x74, - 0x08, 0xaf, 0x51, 0xe8, 0xf0, 0x85, 0x4b, 0x8e, 0xef, 0xf8, 0xf4, 0xb3, 0x43, 0xbe, 0xf8, 0xec, - 0x96, 0xe3, 0xfb, 0xce, 0x10, 0x75, 0xe8, 0x68, 0x30, 0x79, 0xd6, 0xc1, 0xee, 0x08, 0x85, 0xd8, - 0x1c, 0x8d, 0x39, 0x41, 0x33, 0x05, 0x60, 0x88, 0x4d, 0x8c, 0x32, 0xd6, 0xf1, 0x8b, 0x31, 0x0a, - 0xd9, 0x7a, 0xeb, 0xa5, 0x06, 0xe7, 0xbb, 0xa1, 0xb3, 0x6f, 0xdb, 0x87, 0x74, 0xfd, 0xe9, 0x8b, - 0x31, 0xd2, 0xaf, 0x42, 0xcd, 0x9c, 0xe0, 0x63, 0x3f, 0x70, 0xf1, 0x8b, 0x86, 0xb6, 0xad, 0xed, - 0xd4, 0x7a, 0xb3, 0x09, 0xfd, 0x11, 0xd4, 0x19, 0xaf, 0x3e, 0x61, 0xd4, 0x28, 0x6d, 0x6b, 0x3b, - 0xf5, 0xbd, 0x66, 0x7b, 0xde, 0x18, 0xed, 0x19, 0xcb, 0x1e, 0x58, 0xe2, 0xfb, 0xe1, 0xda, 0x2f, - 0xff, 0xf5, 0x87, 0x3b, 0x33, 0x86, 0x2d, 0x03, 0x1a, 0x49, 0x08, 0x3d, 0x14, 0x8e, 0x7d, 0x2f, - 0x44, 0xad, 0x3f, 0x69, 0xb0, 0xd6, 0x0d, 0x9d, 0xc3, 0x00, 0x99, 0x18, 0x1d, 0x0e, 0xcd, 0x30, - 0xd4, 0x2f, 0xc1, 0x92, 0x69, 0x8f, 0x5c, 0x8f, 0x23, 0x63, 0x03, 0xbd, 0x01, 0x2b, 0x6e, 0x18, - 0x4e, 0x50, 0x10, 0x36, 0x4a, 0xdb, 0xe5, 0x9d, 0x5a, 0x2f, 0x1a, 0xea, 0x06, 0x54, 0x47, 0x08, - 0x9b, 0xb6, 0x89, 0xcd, 0x46, 0x99, 0x6e, 0x11, 0x63, 0xfd, 0x1e, 0xe8, 0x31, 0x5d, 0xfa, 0xe6, - 0x60, 0x10, 0xa0, 0x93, 0x46, 0x85, 0x52, 0x9d, 0x9f, 0x41, 0xde, 0xa7, 0xf3, 0xfa, 0x5d, 0x28, - 0x3f, 0x43, 0xa8, 0xb1, 0x44, 0x35, 0xbe, 0xd2, 0x66, 0x47, 0xd9, 0x26, 0x47, 0xdd, 0xe6, 0x47, - 0xdd, 0x3e, 0xf4, 0x5d, 0xaf, 0x47, 0xa8, 0x1e, 0x02, 0xd1, 0x92, 0x81, 0x6b, 0xbd, 0x0f, 0xeb, - 0xb2, 0x12, 0x91, 0x7e, 0xfa, 0x15, 0xa8, 0x5a, 0x64, 0xa2, 0xef, 0xda, 0x5c, 0x9f, 0x15, 0x3a, - 0x3e, 0xb2, 0x5b, 0x7f, 0x64, 0x47, 0xc3, 0x76, 0x7d, 0x1a, 0xf8, 0xcf, 0x91, 0x85, 0x15, 0xca, - 0xc7, 0xb9, 0x94, 0x24, 0x2e, 0x99, 0xda, 0xb7, 0x60, 0xf5, 0xf9, 0x24, 0x70, 0x43, 0xdb, 0xb5, - 0xb0, 0xeb, 0x7b, 0x5c, 0x6f, 0x69, 0x4e, 0xbf, 0x06, 0xab, 0x01, 0x7a, 0x86, 0x02, 0xe4, 0x59, - 0x88, 0xb0, 0x5f, 0xa2, 0x34, 0x75, 0x31, 0x77, 0x64, 0x4b, 0x9a, 0x3e, 0xa0, 0x67, 0x29, 0x61, - 0x16, 0xba, 0x6e, 0x02, 0x8c, 0xd9, 0xd4, 0x4c, 0xdb, 0x1a, 0x9f, 0x39, 0xb2, 0x5b, 0xbf, 0xd7, - 0xe0, 0xaa, 0xd8, 0xfb, 0x99, 0x17, 0x20, 0xc7, 0x0d, 0x31, 0x0a, 0x90, 0x9d, 0xad, 0x7b, 0x5c, - 0xc1, 0x52, 0x8e, 0x82, 0xe5, 0x02, 0x0a, 0x56, 0xb2, 0x15, 0xfc, 0x10, 0x6e, 0x64, 0x81, 0x2c, - 0xaa, 0xec, 0x5f, 0xe2, 0xca, 0x7e, 0x12, 0x7c, 0x36, 0xb6, 0x4d, 0x8c, 0xf6, 0xc7, 0xe3, 0xa1, - 0x6b, 0x99, 0x14, 0xd6, 0x75, 0x38, 0x1b, 0xed, 0x8f, 0x2b, 0xbd, 0xca, 0x27, 0xf7, 0xa9, 0xee, - 0xb2, 0x90, 0x52, 0x42, 0x88, 0xe4, 0x16, 0x65, 0xb5, 0x5b, 0x54, 0x12, 0x56, 0x33, 0xa0, 0x3a, - 0x75, 0xf1, 0xb1, 0x1d, 0x98, 0x53, 0x7a, 0xdc, 0xd5, 0x9e, 0x18, 0x3f, 0xd4, 0x89, 0x29, 0x64, - 0x64, 0xad, 0x77, 0x63, 0x26, 0x49, 0x51, 0x45, 0xdc, 0xe5, 0xd7, 0x1a, 0x18, 0xdd, 0xd0, 0x61, - 0x04, 0xdc, 0x5e, 0x1f, 0x7a, 0x81, 0x3f, 0x1c, 0x8e, 0x90, 0x87, 0xf5, 0x75, 0x58, 0x66, 0x57, - 0x96, 0xab, 0xca, 0x47, 0x6f, 0xa1, 0xe4, 0x47, 0x00, 0x1e, 0x9a, 0xf6, 0x49, 0x3c, 0x9c, 0x84, - 0x54, 0xcd, 0xb5, 0xbd, 0xbb, 0x69, 0x81, 0x6a, 0x0e, 0xcc, 0x13, 0xba, 0xa5, 0x57, 0xf3, 0xd0, - 0x94, 0x7d, 0x4a, 0x06, 0x5b, 0x92, 0x0d, 0xf6, 0xb0, 0x4e, 0x8c, 0xc2, 0xe1, 0xb6, 0x6e, 0x40, - 0x4b, 0xad, 0xa4, 0xb0, 0xc5, 0x7f, 0x4b, 0xb1, 0xb8, 0x76, 0x60, 0x62, 0xeb, 0xf8, 0x4d, 0xf5, - 0xff, 0x1e, 0x54, 0x09, 0xa1, 0xe9, 0x59, 0xa8, 0x51, 0xde, 0x2e, 0xef, 0xd4, 0xf7, 0xae, 0xa5, - 0xa9, 0x48, 0x65, 0x1c, 0x71, 0xc2, 0x9e, 0xd8, 0x92, 0xe9, 0x08, 0x8f, 0x00, 0x42, 0x6c, 0x06, - 0xb8, 0x4f, 0x74, 0xe1, 0x61, 0xcf, 0x68, 0xb3, 0x94, 0xd4, 0x8e, 0x52, 0x52, 0xfb, 0x69, 0x94, - 0x92, 0x0e, 0x2a, 0x5f, 0x7c, 0xb5, 0xa5, 0xf5, 0x6a, 0x74, 0xcf, 0x07, 0x26, 0x46, 0xfa, 0x77, - 0xa1, 0x8a, 0x3c, 0x9b, 0x6d, 0x5f, 0x2e, 0xb8, 0x7d, 0x05, 0x79, 0x36, 0xdd, 0xac, 0x43, 0xc5, - 0x1f, 0x23, 0xaf, 0xb1, 0x42, 0x5d, 0x90, 0x7e, 0xeb, 0x0f, 0xa0, 0xe6, 0x07, 0xae, 0xe3, 0x7a, - 0x7d, 0x7c, 0xda, 0xa8, 0x52, 0x8e, 0x57, 0xd3, 0xb4, 0xfd, 0x84, 0x12, 0x3d, 0x3d, 0xed, 0x55, - 0x7d, 0xfe, 0x25, 0x1f, 0xd2, 0x83, 0x58, 0x40, 0xa6, 0x96, 0x11, 0xf7, 0x76, 0x0b, 0xea, 0x03, - 0x32, 0xd1, 0xb7, 0x91, 0xe7, 0x8f, 0xf8, 0x51, 0x00, 0x9d, 0xfa, 0x80, 0xcc, 0xb4, 0xfe, 0xaa, - 0xc1, 0xc5, 0x6e, 0xe8, 0x74, 0x5d, 0x0f, 0xd3, 0x9d, 0x2c, 0x69, 0x85, 0xca, 0xe3, 0x4b, 0x30, - 0x2c, 0x25, 0x19, 0xbe, 0xed, 0x01, 0x4a, 0x26, 0xa9, 0xbc, 0xb9, 0x49, 0x36, 0x61, 0x23, 0x45, - 0x2d, 0xe1, 0xb0, 0x4f, 0x61, 0xb5, 0x1b, 0x3a, 0x4f, 0x90, 0x39, 0xcc, 0xf6, 0xd6, 0x3c, 0x75, - 0x65, 0xa1, 0xeb, 0x70, 0x29, 0xce, 0x55, 0x48, 0xfb, 0x77, 0x09, 0x56, 0xe8, 0x82, 0x67, 0x13, - 0x49, 0x21, 0xf2, 0xec, 0x99, 0x24, 0x36, 0x22, 0x55, 0x4a, 0x80, 0x2c, 0x77, 0xec, 0x22, 0x0f, - 0x47, 0xd7, 0x42, 0x4c, 0xe8, 0xfb, 0xb0, 0xc2, 0x74, 0x0f, 0xb9, 0x51, 0x6f, 0xa5, 0x19, 0x85, - 0xcb, 0x68, 0x93, 0x3f, 0x91, 0xc6, 0xd1, 0x3e, 0xe3, 0x9f, 0x1a, 0xd4, 0x63, 0x0b, 0xb9, 0xae, - 0xa1, 0xdf, 0x82, 0x73, 0x38, 0x30, 0x6d, 0x73, 0x30, 0x44, 0x7d, 0x73, 0xe4, 0x4f, 0x04, 0xae, - 0xb5, 0x68, 0x7a, 0x9f, 0xce, 0xea, 0x37, 0x61, 0x2d, 0x40, 0xd8, 0x0d, 0x90, 0x1d, 0xd1, 0xb1, - 0xc8, 0x75, 0x96, 0xcf, 0x72, 0xb2, 0xfb, 0x70, 0x99, 0x4d, 0x90, 0xd0, 0xd1, 0x4f, 0x49, 0xd5, - 0xeb, 0xb3, 0xe5, 0x8f, 0xe2, 0x39, 0xed, 0x2e, 0x5c, 0x88, 0x6d, 0x0c, 0x90, 0x19, 0xfa, 0x1e, - 0x8f, 0x5a, 0xe7, 0x67, 0x0b, 0x3d, 0x3a, 0xcf, 0x0f, 0x84, 0x19, 0xb5, 0x75, 0x01, 0xce, 0x71, - 0x9b, 0x88, 0xb3, 0xf8, 0x9d, 0x06, 0xb5, 0x6e, 0xe8, 0xf4, 0xe8, 0x3e, 0x92, 0x84, 0xfd, 0xa9, - 0x27, 0x0e, 0x83, 0x0d, 0xf4, 0x6f, 0xcd, 0xac, 0x5d, 0xa2, 0xd6, 0xde, 0x50, 0xd7, 0x83, 0x33, - 0x0b, 0x17, 0xca, 0xcf, 0xeb, 0xb0, 0xcc, 0x15, 0x60, 0x3a, 0xf3, 0x11, 0x4f, 0xca, 0x54, 0x7c, - 0xeb, 0x22, 0x5c, 0x10, 0x08, 0x05, 0xee, 0x9f, 0x53, 0xd8, 0x87, 0xe4, 0x92, 0x0c, 0xff, 0xbf, - 0xb0, 0x67, 0x90, 0xca, 0x39, 0x90, 0x98, 0x74, 0x01, 0xc9, 0xa7, 0xa1, 0x83, 0xe5, 0x06, 0x5a, - 0x07, 0xb2, 0x34, 0xbe, 0x70, 0x51, 0xb7, 0x01, 0x24, 0x33, 0xf1, 0xc2, 0x80, 0x57, 0x75, 0x1e, - 0x9a, 0x52, 0x6e, 0x52, 0xb5, 0xc2, 0x2e, 0x75, 0x52, 0xa0, 0xc0, 0xf3, 0x5b, 0x0d, 0xde, 0x91, - 0xd7, 0x8f, 0x78, 0xd1, 0xbc, 0x30, 0xa4, 0x2d, 0xa8, 0x9b, 0xb6, 0xdd, 0x8f, 0x6a, 0xf0, 0x32, - 0xad, 0xc1, 0xc1, 0xb4, 0xed, 0x88, 0x23, 0xf5, 0xf9, 0x91, 0x7f, 0x82, 0x04, 0x4d, 0x85, 0xd2, - 0x9c, 0x65, 0xb3, 0x9c, 0x4c, 0x42, 0xbf, 0x05, 0x9b, 0xa9, 0xe8, 0x04, 0xfe, 0x53, 0x1a, 0xc6, - 0x63, 0x04, 0xdd, 0x28, 0x75, 0x2d, 0x8c, 0xff, 0x1a, 0xac, 0x12, 0x93, 0x26, 0x6a, 0xe5, 0xba, - 0x87, 0xa6, 0x11, 0x4f, 0x09, 0xda, 0x36, 0x34, 0xd3, 0x25, 0x0b, 0x6c, 0x93, 0x98, 0x69, 0x3f, - 0x8d, 0x17, 0x6d, 0xe9, 0xd0, 0x72, 0xb2, 0x7c, 0xe1, 0x13, 0x8f, 0xdb, 0x2c, 0x2e, 0x56, 0xe0, - 0xfa, 0x05, 0xad, 0xd0, 0x25, 0x82, 0x1c, 0xab, 0xe5, 0x40, 0x5b, 0xd0, 0x72, 0x2d, 0xd8, 0x56, - 0xc9, 0x17, 0x18, 0x7f, 0xc3, 0x42, 0xce, 0x41, 0xe0, 0xda, 0x8e, 0x2a, 0xe4, 0xac, 0xc3, 0x32, - 0x36, 0x03, 0x07, 0x45, 0x31, 0x96, 0x8f, 0xe4, 0xb4, 0x50, 0x4e, 0xa6, 0x85, 0xd8, 0x8d, 0xaf, - 0x14, 0xbf, 0xf1, 0xd2, 0xcd, 0x7e, 0xa9, 0xc5, 0xbc, 0x8e, 0xa6, 0x2d, 0x61, 0xbf, 0x37, 0xae, - 0x01, 0x0a, 0xd8, 0x50, 0xca, 0x9b, 0x71, 0xf7, 0x93, 0x20, 0x08, 0x13, 0xb2, 0xf8, 0xc3, 0x2c, - 0x28, 0x26, 0xbf, 0xaa, 0xd0, 0x96, 0x32, 0x9a, 0xb5, 0x90, 0x7b, 0x82, 0x94, 0xa0, 0x33, 0x2e, - 0xcb, 0x63, 0x58, 0xe1, 0xe7, 0x4f, 0x91, 0xd6, 0xf7, 0xee, 0x29, 0x92, 0xab, 0x24, 0x29, 0x2a, - 0xb3, 0x7b, 0xd1, 0x66, 0xfd, 0xfb, 0xb0, 0x44, 0x8d, 0xc0, 0xeb, 0x96, 0x3b, 0x85, 0xb8, 0xb0, - 0x4a, 0x81, 0x6d, 0x94, 0xab, 0x9f, 0xa5, 0x45, 0xaa, 0x1f, 0xe3, 0x6f, 0x1a, 0x2c, 0xb1, 0x5a, - 0x46, 0x72, 0x19, 0x2d, 0xe9, 0x32, 0xeb, 0xb0, 0x2c, 0x25, 0x73, 0x3e, 0x4a, 0x54, 0xc7, 0xe5, - 0xb7, 0xab, 0x8e, 0x2b, 0x8b, 0x56, 0xc7, 0x19, 0xfd, 0x88, 0x31, 0x84, 0x95, 0xa8, 0x67, 0x4e, - 0x76, 0xb7, 0xda, 0x5c, 0x77, 0x3b, 0x97, 0x84, 0x4b, 0x29, 0x49, 0x38, 0xe3, 0x15, 0x41, 0x76, - 0xcc, 0xcf, 0x69, 0x74, 0x91, 0x0e, 0xac, 0x70, 0x69, 0x9d, 0x13, 0x68, 0x5a, 0x3f, 0x06, 0x9d, - 0xbf, 0x13, 0x11, 0x37, 0xa4, 0xc5, 0xbb, 0x1f, 0xe4, 0x3c, 0x56, 0x35, 0xe8, 0x7d, 0x27, 0x84, - 0xc2, 0x87, 0xd9, 0x70, 0xee, 0x15, 0xea, 0x2a, 0x6d, 0x4e, 0x13, 0xdc, 0xc5, 0xcd, 0x41, 0x34, - 0x91, 0x3e, 0x41, 0x38, 0xbe, 0xba, 0x3f, 0x1c, 0xfa, 0xd3, 0xa1, 0x1b, 0xe2, 0x7c, 0x10, 0xc8, - 0x23, 0xe5, 0x1f, 0x53, 0xaa, 0xda, 0x8b, 0x86, 0x73, 0x20, 0x6e, 0xc2, 0xf5, 0x0c, 0x31, 0x02, - 0x4d, 0x9f, 0xe6, 0x96, 0x1e, 0x4d, 0x9c, 0x5f, 0x8b, 0x31, 0x58, 0x16, 0x99, 0x17, 0x20, 0x10, - 0x78, 0x34, 0xbc, 0xc4, 0xf2, 0xdf, 0x63, 0x94, 0xf7, 0x6e, 0xc8, 0x5f, 0xcf, 0x4a, 0x85, 0x5e, - 0xcf, 0x92, 0x80, 0x36, 0xe0, 0xca, 0x9c, 0x3c, 0x01, 0xc6, 0x89, 0x1e, 0x10, 0xa9, 0xa5, 0x90, - 0xcd, 0xdc, 0xef, 0xf0, 0xd8, 0x74, 0xbd, 0x1c, 0x4c, 0x9b, 0x00, 0x16, 0x21, 0xeb, 0x7b, 0xe6, - 0x08, 0x45, 0x1e, 0x47, 0x67, 0x3e, 0x36, 0x47, 0xf3, 0x28, 0x58, 0xee, 0x4a, 0x15, 0x24, 0xc0, - 0x3c, 0xa7, 0x9e, 0xc2, 0x4c, 0xf7, 0x75, 0xe3, 0x61, 0xee, 0xa2, 0x92, 0x25, 0x20, 0x59, 0xb4, - 0x77, 0x3b, 0x98, 0x04, 0x5e, 0x8f, 0x44, 0x46, 0x12, 0xd1, 0x06, 0x93, 0x60, 0x96, 0x51, 0xf9, - 0x48, 0x19, 0xe9, 0x54, 0xf5, 0x2e, 0xbb, 0xf9, 0x6c, 0x33, 0x6f, 0xe5, 0x84, 0x90, 0x48, 0xf8, - 0xde, 0x7f, 0xd6, 0xa1, 0xdc, 0x0d, 0x1d, 0xfd, 0x27, 0x50, 0x8f, 0xbf, 0xe2, 0xb6, 0x14, 0xb1, - 0x3e, 0x46, 0x63, 0xdc, 0xc9, 0xa7, 0x11, 0xc1, 0xc5, 0x82, 0xb3, 0xf2, 0x4b, 0xe9, 0x8d, 0xcc, - 0xcd, 0x9c, 0xca, 0xb8, 0x57, 0x84, 0x4a, 0x08, 0xf9, 0xb5, 0x06, 0x57, 0xd4, 0xef, 0x93, 0xdf, - 0xc8, 0xe4, 0x95, 0xb2, 0xc3, 0xf8, 0xce, 0xa2, 0x3b, 0x52, 0x90, 0xa4, 0x3d, 0x1e, 0x66, 0x23, - 0x49, 0xd9, 0x91, 0x83, 0x24, 0xe3, 0x55, 0x4f, 0x7f, 0xa9, 0xc1, 0x65, 0xd5, 0x93, 0x5e, 0x5b, - 0xc1, 0x55, 0x41, 0x6f, 0x7c, 0x7b, 0x31, 0x7a, 0x81, 0x41, 0xf8, 0x16, 0xcb, 0xe7, 0xd9, 0xbe, - 0x45, 0x69, 0x72, 0x7c, 0x4b, 0x7e, 0x13, 0x1a, 0xc2, 0xf9, 0xb9, 0xe7, 0x1e, 0xd5, 0x73, 0x42, - 0x92, 0xd0, 0xe8, 0x14, 0x24, 0x14, 0xd2, 0x7e, 0x08, 0xb5, 0xd9, 0x33, 0xcb, 0xb6, 0xf2, 0xd5, - 0x82, 0x53, 0x18, 0x3b, 0x79, 0x14, 0x82, 0xf1, 0x0f, 0xa0, 0x42, 0x1f, 0x54, 0x36, 0x32, 0x5e, - 0x42, 0x8c, 0xeb, 0x19, 0x8b, 0x82, 0xd3, 0xc7, 0xb0, 0xcc, 0x9f, 0x03, 0x36, 0x15, 0xe4, 0x6c, - 0xd9, 0xb8, 0x99, 0xb9, 0x1c, 0xe7, 0xc7, 0xfb, 0x74, 0x15, 0x3f, 0xb6, 0xac, 0xe4, 0x27, 0xf7, - 0xd9, 0xe4, 0xc0, 0xe6, 0x9a, 0xec, 0x5b, 0x99, 0xbe, 0x35, 0x23, 0x54, 0x1e, 0x98, 0xaa, 0x8b, - 0xd6, 0x03, 0xd0, 0x53, 0x3a, 0xe8, 0xdb, 0xf9, 0x6c, 0x38, 0xa9, 0xb1, 0x5b, 0x98, 0x54, 0xc8, - 0x9c, 0xc0, 0xc5, 0xb4, 0xb6, 0xf7, 0x4e, 0x3e, 0xa7, 0x88, 0xd6, 0xd8, 0x2b, 0x4e, 0x3b, 0xaf, - 0xaa, 0xd4, 0xd1, 0xde, 0x2e, 0x72, 0x6d, 0x99, 0x71, 0x77, 0x0b, 0x93, 0x0a, 0x99, 0x3f, 0x83, - 0x77, 0xd2, 0xbb, 0xd5, 0x7b, 0x45, 0x78, 0x09, 0x75, 0xbf, 0xb9, 0x08, 0xf5, 0xbc, 0x9d, 0xe5, - 0x46, 0x2f, 0xdb, 0xce, 0x12, 0x6d, 0x8e, 0x9d, 0x53, 0xbb, 0x37, 0x72, 0x21, 0x78, 0xf3, 0xbb, - 0x99, 0xd9, 0x13, 0x29, 0x2f, 0x84, 0xdc, 0xf8, 0x91, 0xec, 0x28, 0x37, 0x7d, 0x37, 0x8a, 0xb4, - 0x5a, 0x46, 0xa1, 0xb6, 0x2e, 0x2e, 0x44, 0xfe, 0x3f, 0xb2, 0x4a, 0x88, 0x44, 0xa5, 0x14, 0x92, - 0xfa, 0x0f, 0x61, 0xfd, 0x57, 0x1a, 0x34, 0x94, 0x65, 0x78, 0x47, 0x19, 0xbc, 0xd2, 0x37, 0x18, - 0xf7, 0x17, 0xdc, 0x20, 0x60, 0xb8, 0x70, 0x2e, 0xd9, 0x88, 0xbc, 0x9b, 0xa1, 0x47, 0x8c, 0xce, - 0x68, 0x17, 0xa3, 0x8b, 0xdf, 0xb9, 0x94, 0x4a, 0xff, 0xb6, 0x32, 0xb2, 0x26, 0x49, 0x95, 0x77, - 0x4e, 0x5d, 0xde, 0xeb, 0xcf, 0x60, 0x2d, 0x51, 0xdb, 0xdf, 0xcc, 0x8f, 0x16, 0x8f, 0x11, 0x32, - 0xde, 0x2b, 0x44, 0x16, 0xbf, 0xdb, 0xe9, 0x65, 0x7b, 0x86, 0x53, 0xcc, 0x53, 0x2b, 0xef, 0x76, - 0x66, 0xa5, 0x4e, 0x5d, 0x49, 0x59, 0xa7, 0x77, 0x32, 0x8d, 0x96, 0x82, 0xe1, 0xfe, 0x82, 0x1b, - 0xe2, 0xf9, 0x7e, 0x56, 0x9a, 0xab, 0xf2, 0xbd, 0xa0, 0x50, 0xe6, 0xfb, 0xb9, 0xca, 0xfb, 0xe0, - 0x47, 0x7f, 0x7e, 0xd5, 0xd4, 0xbe, 0x7c, 0xd5, 0xd4, 0xfe, 0xf1, 0xaa, 0xa9, 0x7d, 0xf1, 0xba, - 0x79, 0xe6, 0xcb, 0xd7, 0xcd, 0x33, 0x7f, 0x7f, 0xdd, 0x3c, 0xf3, 0xf9, 0x23, 0xc7, 0xc5, 0xc7, - 0x93, 0x41, 0xdb, 0xf2, 0x47, 0x1d, 0xca, 0xed, 0x3d, 0x0f, 0xe1, 0xa9, 0x1f, 0xfc, 0x94, 0x8f, - 0x86, 0xc8, 0x76, 0x50, 0xd0, 0x39, 0x8d, 0xfd, 0x6e, 0x84, 0xfe, 0xa0, 0x85, 0xfe, 0x72, 0xa4, - 0x73, 0xb2, 0x3b, 0x58, 0xa6, 0x0f, 0x14, 0xef, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x36, 0xbb, - 0xd0, 0x69, 0x20, 0x23, 0x00, 0x00, + 0x15, 0x5f, 0x4a, 0xb2, 0x2d, 0x3d, 0x39, 0x4e, 0xc2, 0x64, 0x1d, 0x85, 0x8e, 0x65, 0x47, 0x49, + 0x36, 0xce, 0x9f, 0x95, 0x6a, 0x6f, 0xdb, 0x34, 0x29, 0x8a, 0xd4, 0xf6, 0x6e, 0x50, 0x2f, 0xa0, + 0xdd, 0x85, 0x92, 0x45, 0xd1, 0x45, 0x0b, 0x81, 0x22, 0x27, 0x34, 0x53, 0x89, 0x14, 0xc8, 0x91, + 0xe5, 0xa0, 0x45, 0x81, 0x14, 0x05, 0x7a, 0xdd, 0x5b, 0x81, 0xa2, 0x87, 0x7e, 0x84, 0x7e, 0x87, + 0x5e, 0xda, 0x5b, 0x2e, 0x45, 0x7b, 0x4b, 0x91, 0xb4, 0xe8, 0x37, 0xe8, 0xb9, 0xe0, 0xcc, 0x70, + 0x34, 0x43, 0x71, 0x48, 0x6a, 0xd3, 0x5c, 0x0c, 0xce, 0xcc, 0x9b, 0xf7, 0x7e, 0xef, 0xcd, 0x9b, + 0xf7, 0x67, 0x2c, 0xd8, 0x08, 0x90, 0x83, 0xbc, 0x0e, 0xb2, 0x7c, 0x2b, 0x40, 0xb6, 0x8b, 0x3b, + 0x27, 0xbb, 0x1d, 0x7c, 0xda, 0x1e, 0x07, 0x3e, 0xf6, 0x75, 0x9d, 0x2c, 0xb6, 0xf9, 0x62, 0xfb, + 0x64, 0xd7, 0x68, 0x5a, 0x7e, 0x38, 0xf2, 0xc3, 0xce, 0xc0, 0x0c, 0x51, 0xe7, 0x64, 0x77, 0x80, + 0xb0, 0xb9, 0xdb, 0xb1, 0x7c, 0xd7, 0xa3, 0x7b, 0x8c, 0x4b, 0x6c, 0x7d, 0x14, 0x3a, 0x11, 0xaf, + 0x51, 0xe8, 0xb0, 0x85, 0x8b, 0x8e, 0xef, 0xf8, 0xe4, 0xb3, 0x13, 0x7d, 0xb1, 0xd9, 0x2d, 0xc7, + 0xf7, 0x9d, 0x21, 0xea, 0x90, 0xd1, 0x60, 0xf2, 0xb4, 0x83, 0xdd, 0x11, 0x0a, 0xb1, 0x39, 0x1a, + 0x33, 0x82, 0x66, 0x0a, 0xc0, 0x10, 0x9b, 0x18, 0x65, 0xac, 0xe3, 0xe7, 0x63, 0x14, 0xd2, 0xf5, + 0xd6, 0x0b, 0x0d, 0xce, 0x75, 0x43, 0x67, 0xdf, 0xb6, 0x0f, 0xc9, 0xfa, 0x93, 0xe7, 0x63, 0xa4, + 0x5f, 0x81, 0x9a, 0x39, 0xc1, 0xc7, 0x7e, 0xe0, 0xe2, 0xe7, 0x0d, 0x6d, 0x5b, 0xdb, 0xa9, 0xf5, + 0x66, 0x13, 0xfa, 0x43, 0xa8, 0x53, 0x5e, 0xfd, 0x88, 0x51, 0xa3, 0xb4, 0xad, 0xed, 0xd4, 0xf7, + 0x9a, 0xed, 0x79, 0x63, 0xb4, 0x67, 0x2c, 0x7b, 0x60, 0xf1, 0xef, 0x07, 0x6b, 0xbf, 0xfe, 0xcf, + 0x9f, 0x6e, 0xcf, 0x18, 0xb6, 0x0c, 0x68, 0x24, 0x21, 0xf4, 0x50, 0x38, 0xf6, 0xbd, 0x10, 0xb5, + 0xfe, 0xac, 0xc1, 0x5a, 0x37, 0x74, 0x0e, 0x03, 0x64, 0x62, 0x74, 0x38, 0x34, 0xc3, 0x50, 0xbf, + 0x08, 0x4b, 0xa6, 0x3d, 0x72, 0x3d, 0x86, 0x8c, 0x0e, 0xf4, 0x06, 0xac, 0xb8, 0x61, 0x38, 0x41, + 0x41, 0xd8, 0x28, 0x6d, 0x97, 0x77, 0x6a, 0xbd, 0x78, 0xa8, 0x1b, 0x50, 0x1d, 0x21, 0x6c, 0xda, + 0x26, 0x36, 0x1b, 0x65, 0xb2, 0x85, 0x8f, 0xf5, 0xbb, 0xa0, 0x0b, 0xba, 0xf4, 0xcd, 0xc1, 0x20, + 0x40, 0x27, 0x8d, 0x0a, 0xa1, 0x3a, 0x37, 0x83, 0xbc, 0x4f, 0xe6, 0xf5, 0x3b, 0x50, 0x7e, 0x8a, + 0x50, 0x63, 0x89, 0x68, 0x7c, 0xb9, 0x4d, 0x8f, 0xb2, 0x1d, 0x1d, 0x75, 0x9b, 0x1d, 0x75, 0xfb, + 0xd0, 0x77, 0xbd, 0x5e, 0x44, 0xf5, 0x00, 0x22, 0x2d, 0x29, 0xb8, 0xd6, 0x47, 0xb0, 0x2e, 0x2b, + 0x11, 0xeb, 0xa7, 0x5f, 0x86, 0xaa, 0x15, 0x4d, 0xf4, 0x5d, 0x9b, 0xe9, 0xb3, 0x42, 0xc6, 0x47, + 0x76, 0xeb, 0x15, 0x3d, 0x1a, 0xba, 0xeb, 0x8b, 0xc0, 0x7f, 0x86, 0x2c, 0xac, 0x50, 0x5e, 0xe4, + 0x52, 0x92, 0xb8, 0x64, 0x6a, 0xdf, 0x82, 0xd5, 0x67, 0x93, 0xc0, 0x0d, 0x6d, 0xd7, 0xc2, 0xae, + 0xef, 0x31, 0xbd, 0xa5, 0x39, 0xfd, 0x2a, 0xac, 0x06, 0xe8, 0x29, 0x0a, 0x90, 0x67, 0xa1, 0x88, + 0xfd, 0x12, 0xa1, 0xa9, 0xf3, 0xb9, 0x23, 0x3b, 0x36, 0xcb, 0xf2, 0xc2, 0x66, 0xb9, 0x4f, 0x0e, + 0x5e, 0x52, 0x90, 0x1b, 0x66, 0x13, 0x60, 0x4c, 0xa7, 0x66, 0xa6, 0xa9, 0xb1, 0x99, 0x23, 0xbb, + 0xf5, 0x52, 0x83, 0x2b, 0x7c, 0xef, 0x97, 0x5e, 0x80, 0x1c, 0x37, 0xc4, 0x28, 0x40, 0x76, 0xb6, + 0xa1, 0x44, 0x6b, 0x94, 0x72, 0xac, 0x51, 0x2e, 0x60, 0x8d, 0x8a, 0xd2, 0x1a, 0x8b, 0x3b, 0xc9, + 0x27, 0x70, 0x3d, 0x4b, 0xa3, 0xa2, 0x96, 0xf9, 0xab, 0x68, 0x99, 0xcf, 0x83, 0x2f, 0xc7, 0xb6, + 0x89, 0xd1, 0xfe, 0x78, 0x3c, 0x74, 0x2d, 0x93, 0xe8, 0x70, 0x0d, 0xce, 0xc4, 0xfb, 0x45, 0x0b, + 0xad, 0xb2, 0xc9, 0x7d, 0x62, 0x28, 0x59, 0x48, 0x29, 0x21, 0x44, 0x72, 0xb8, 0xb2, 0xda, 0xe1, + 0x2a, 0x09, 0x13, 0x1b, 0x50, 0x9d, 0xba, 0xf8, 0xd8, 0x0e, 0xcc, 0x29, 0x31, 0x50, 0xb5, 0xc7, + 0xc7, 0x0f, 0xf4, 0xc8, 0x14, 0x32, 0xb2, 0xd6, 0x07, 0x82, 0x49, 0x52, 0x54, 0xe1, 0x51, 0xe2, + 0x8d, 0x06, 0x46, 0x37, 0x74, 0x28, 0x01, 0xb3, 0xd7, 0x27, 0x5e, 0xe0, 0x0f, 0x87, 0x23, 0xe4, + 0x61, 0x7d, 0x1d, 0x96, 0x69, 0x30, 0x60, 0xaa, 0xb2, 0xd1, 0x5b, 0x28, 0xf9, 0x29, 0x80, 0x87, + 0xa6, 0xfd, 0x28, 0xd2, 0x4e, 0x42, 0xa2, 0xe6, 0xda, 0xde, 0x9d, 0xb4, 0x10, 0x38, 0x07, 0xe6, + 0x31, 0xd9, 0xd2, 0xab, 0x79, 0x68, 0x4a, 0x3f, 0x25, 0x83, 0x2d, 0xc9, 0x06, 0x7b, 0x50, 0x8f, + 0x8c, 0xc2, 0xe0, 0xb6, 0xae, 0x43, 0x4b, 0xad, 0x24, 0xb7, 0xc5, 0xef, 0xca, 0x42, 0xc4, 0x3c, + 0x30, 0xb1, 0x75, 0xfc, 0x4d, 0xf5, 0xff, 0x01, 0x54, 0x23, 0x42, 0xd3, 0xb3, 0x50, 0xa3, 0xbc, + 0x5d, 0xde, 0xa9, 0xef, 0x5d, 0x4d, 0x53, 0x91, 0xc8, 0x38, 0x62, 0x84, 0x3d, 0xbe, 0x25, 0xd3, + 0x11, 0x1e, 0x02, 0x84, 0xd8, 0x0c, 0x70, 0x3f, 0xd2, 0x85, 0xdd, 0x15, 0xa3, 0x4d, 0x93, 0x5d, + 0x3b, 0x4e, 0x76, 0xed, 0x27, 0x71, 0xb2, 0x3b, 0xa8, 0x7c, 0xfd, 0x6a, 0x4b, 0xeb, 0xd5, 0xc8, + 0x9e, 0x8f, 0x4d, 0x8c, 0xf4, 0xef, 0x43, 0x15, 0x79, 0x36, 0xdd, 0xbe, 0x5c, 0x70, 0xfb, 0x0a, + 0xf2, 0x6c, 0xb2, 0x59, 0x87, 0x8a, 0x3f, 0x46, 0x5e, 0x63, 0x85, 0xb8, 0x20, 0xf9, 0xd6, 0xef, + 0x43, 0xcd, 0x0f, 0x5c, 0xc7, 0xf5, 0xfa, 0xf8, 0xb4, 0x51, 0x25, 0x1c, 0xaf, 0xa4, 0x69, 0xfb, + 0x39, 0x21, 0x7a, 0x72, 0xda, 0xab, 0xfa, 0xec, 0x4b, 0xf2, 0x93, 0x9a, 0xe4, 0x27, 0xf2, 0xf9, + 0xdd, 0x17, 0xb2, 0x00, 0x31, 0x1a, 0xbf, 0xd2, 0x5b, 0x50, 0x1f, 0x44, 0x13, 0x7d, 0x1b, 0x79, + 0xfe, 0x88, 0x9d, 0x12, 0x90, 0xa9, 0x8f, 0xa3, 0x99, 0xd6, 0xdf, 0x34, 0xb8, 0xd0, 0x0d, 0x9d, + 0xae, 0xeb, 0x61, 0xb2, 0x93, 0x66, 0xca, 0x50, 0x79, 0xb2, 0x09, 0x86, 0xa5, 0x24, 0xc3, 0xb7, + 0x3d, 0x5b, 0xc9, 0x5a, 0x95, 0x45, 0xac, 0x25, 0x9b, 0x64, 0x13, 0x36, 0x52, 0xd4, 0xe2, 0xbe, + 0xfc, 0x04, 0x56, 0xbb, 0xa1, 0xf3, 0x18, 0x99, 0xc3, 0x6c, 0x47, 0xce, 0x53, 0x57, 0x16, 0xba, + 0x0e, 0x17, 0x45, 0xae, 0x5c, 0xda, 0x7f, 0x4b, 0xb0, 0x42, 0x16, 0x3c, 0x3b, 0x92, 0x14, 0x22, + 0xcf, 0x9e, 0x49, 0xa2, 0xa3, 0xa8, 0x34, 0x0a, 0x90, 0xe5, 0x8e, 0x5d, 0xe4, 0xe1, 0xf8, 0xc6, + 0xf0, 0x09, 0x7d, 0x1f, 0x56, 0xa8, 0xee, 0x21, 0x33, 0xea, 0xcd, 0x34, 0xa3, 0x30, 0x19, 0xed, + 0xe8, 0x4f, 0xac, 0x71, 0xbc, 0xcf, 0xf8, 0x97, 0x06, 0x75, 0x61, 0x21, 0xd7, 0x35, 0xf4, 0x9b, + 0x70, 0x16, 0x07, 0xa6, 0x6d, 0x0e, 0x86, 0xa8, 0x6f, 0x8e, 0xfc, 0x09, 0xc7, 0xb5, 0x16, 0x4f, + 0xef, 0x93, 0x59, 0xfd, 0x06, 0xac, 0x05, 0x08, 0xbb, 0x01, 0xb2, 0x63, 0x3a, 0x1a, 0xd4, 0xce, + 0xb0, 0x59, 0x46, 0x76, 0x0f, 0x2e, 0xd1, 0x89, 0x28, 0xaa, 0xf4, 0x53, 0xea, 0x83, 0xf5, 0xd9, + 0xf2, 0xa7, 0x62, 0x6e, 0xbc, 0x03, 0xe7, 0x85, 0x8d, 0x01, 0x32, 0x43, 0xdf, 0x63, 0x01, 0xed, + 0xdc, 0x6c, 0xa1, 0x47, 0xe6, 0xd9, 0x81, 0x50, 0xa3, 0xb6, 0xce, 0xc3, 0x59, 0x66, 0x13, 0x7e, + 0x16, 0x7f, 0xd4, 0xa0, 0xd6, 0x0d, 0x9d, 0x1e, 0xd9, 0x17, 0x25, 0x73, 0x7f, 0xea, 0xf1, 0xc3, + 0xa0, 0x03, 0xfd, 0x3b, 0x33, 0x6b, 0x97, 0x88, 0xb5, 0x37, 0xd4, 0x45, 0xe8, 0xcc, 0xc2, 0x85, + 0xf2, 0xfc, 0x3a, 0x2c, 0x33, 0x05, 0xa8, 0xce, 0x6c, 0xc4, 0xf2, 0x35, 0x11, 0xdf, 0xba, 0x00, + 0xe7, 0x39, 0x42, 0x8e, 0xfb, 0x97, 0x04, 0xf6, 0x61, 0x74, 0x49, 0x86, 0xff, 0x5f, 0xd8, 0x33, + 0x48, 0xe5, 0x1c, 0x48, 0x54, 0x3a, 0x87, 0xe4, 0x93, 0xd0, 0x41, 0xd3, 0x06, 0x29, 0x3e, 0x69, + 0x86, 0x5f, 0xb8, 0x92, 0xdc, 0x80, 0x28, 0x69, 0xb1, 0x9a, 0x81, 0x95, 0x92, 0x1e, 0x9a, 0x12, + 0x6e, 0x52, 0x21, 0x43, 0x2f, 0x75, 0x52, 0x20, 0xc7, 0xf3, 0x07, 0x0d, 0xde, 0x97, 0xd7, 0x8f, + 0x58, 0xa5, 0xbe, 0x30, 0xa4, 0x2d, 0xa8, 0x9b, 0xb6, 0xdd, 0x8f, 0x0b, 0xff, 0x32, 0x29, 0xfc, + 0xc1, 0xb4, 0xed, 0x98, 0x23, 0xf1, 0xf9, 0x91, 0x7f, 0x82, 0x38, 0x4d, 0x85, 0xd0, 0x9c, 0xa1, + 0xb3, 0x8c, 0x4c, 0x42, 0xbf, 0x05, 0x9b, 0xa9, 0xe8, 0x38, 0xfe, 0x53, 0x12, 0xc6, 0x05, 0x82, + 0x6e, 0x9c, 0xd5, 0x16, 0xc6, 0x7f, 0x15, 0x56, 0x23, 0x93, 0x26, 0x0a, 0xf4, 0xba, 0x87, 0xa6, + 0x31, 0x4f, 0x09, 0xda, 0x36, 0x34, 0xd3, 0x25, 0x73, 0x6c, 0x13, 0xc1, 0xb4, 0x5f, 0x88, 0xf5, + 0x5c, 0x3a, 0xb4, 0x9c, 0x02, 0xa0, 0xf0, 0x89, 0x8b, 0x36, 0x13, 0xc5, 0x72, 0x5c, 0xbf, 0x22, + 0x95, 0xbe, 0x44, 0x90, 0x63, 0xb5, 0x1c, 0x68, 0x0b, 0x5a, 0xae, 0x05, 0xdb, 0x2a, 0xf9, 0x1c, + 0xe3, 0xef, 0x69, 0xc8, 0x39, 0x08, 0x5c, 0xdb, 0x51, 0x85, 0x9c, 0x75, 0x58, 0xc6, 0x66, 0xe0, + 0xa0, 0x38, 0xc6, 0xb2, 0x91, 0x9c, 0x16, 0xca, 0xc9, 0xb4, 0x20, 0xdc, 0xf8, 0x4a, 0xf1, 0x1b, + 0x2f, 0xdd, 0xec, 0x17, 0x9a, 0xe0, 0x75, 0x24, 0x6d, 0x71, 0xfb, 0x7d, 0xe3, 0x1a, 0xa0, 0x80, + 0x0d, 0xa5, 0xbc, 0x29, 0xba, 0x9f, 0x04, 0x81, 0x9b, 0x90, 0xc6, 0x1f, 0x6a, 0x41, 0x3e, 0xf9, + 0xaa, 0x42, 0xfa, 0xd8, 0x78, 0xd6, 0x42, 0xee, 0x09, 0x52, 0x82, 0xce, 0xb8, 0x2c, 0x8f, 0x60, + 0x85, 0x9d, 0x3f, 0x41, 0x5a, 0xdf, 0xbb, 0xab, 0x48, 0xae, 0x92, 0xa4, 0xb8, 0x02, 0xef, 0xc5, + 0x9b, 0xf5, 0x1f, 0xc2, 0x12, 0x31, 0x02, 0xab, 0x5b, 0x6e, 0x17, 0xe2, 0x42, 0x2b, 0x05, 0xba, + 0x51, 0xae, 0x7e, 0x96, 0x16, 0xa9, 0x7e, 0x8c, 0xbf, 0x6b, 0xb0, 0x44, 0x6b, 0x19, 0xc9, 0x65, + 0xb4, 0xa4, 0xcb, 0xac, 0xc3, 0xb2, 0x94, 0xcc, 0xd9, 0x28, 0x51, 0x38, 0x97, 0xdf, 0xae, 0x70, + 0xae, 0x2c, 0x5a, 0x38, 0x67, 0xb4, 0x2a, 0xc6, 0x10, 0x56, 0xe2, 0xde, 0x3b, 0xd9, 0x25, 0x6b, + 0xf3, 0x5d, 0x72, 0x32, 0x09, 0x97, 0x52, 0x92, 0x70, 0xc6, 0xd3, 0x85, 0xec, 0x98, 0x5f, 0x91, + 0xe8, 0x22, 0x1d, 0x58, 0xe1, 0xd2, 0x3a, 0x27, 0xd0, 0xb4, 0x7e, 0x0a, 0x3a, 0x7b, 0x9c, 0x8a, + 0xdc, 0x90, 0x14, 0xef, 0x7e, 0x90, 0xf3, 0x42, 0xd6, 0x20, 0xf7, 0x3d, 0x22, 0xe4, 0x3e, 0x4c, + 0x87, 0x73, 0x4f, 0x5f, 0x57, 0x48, 0xdf, 0x9a, 0xe0, 0xce, 0x6f, 0x0e, 0x22, 0x89, 0xf4, 0x31, + 0xc2, 0xe2, 0xea, 0xfe, 0x70, 0xe8, 0x4f, 0x87, 0x6e, 0x88, 0xf3, 0x41, 0x20, 0x2f, 0x2a, 0xff, + 0xa8, 0x52, 0xd5, 0x5e, 0x3c, 0x9c, 0x03, 0x71, 0x03, 0xae, 0x65, 0x88, 0xe1, 0x68, 0xfa, 0x24, + 0xb7, 0xf4, 0x48, 0xe2, 0x7c, 0x27, 0xc6, 0xa0, 0x59, 0x64, 0x5e, 0x00, 0x47, 0xe0, 0x91, 0xf0, + 0x22, 0xe4, 0xbf, 0x47, 0x28, 0xef, 0xb1, 0x92, 0xbd, 0xc6, 0x94, 0x0a, 0xbd, 0xc6, 0x24, 0x01, + 0x6d, 0xc0, 0xe5, 0x39, 0x79, 0x1c, 0xcc, 0x58, 0x28, 0xab, 0x98, 0xe3, 0xbf, 0x63, 0x38, 0x62, + 0x5d, 0x35, 0x93, 0xc8, 0x01, 0x39, 0xf1, 0x33, 0x2a, 0x39, 0x3a, 0x64, 0xd3, 0xfb, 0x70, 0x78, + 0x6c, 0xba, 0x5e, 0x0e, 0xaa, 0x4d, 0x00, 0x2b, 0x22, 0xeb, 0x7b, 0xe6, 0x08, 0xc5, 0x57, 0x80, + 0xcc, 0x7c, 0x66, 0x8e, 0xe6, 0x71, 0xd0, 0x64, 0x9a, 0x2a, 0x88, 0x83, 0x79, 0x46, 0xb0, 0xd2, + 0xb3, 0x7c, 0xd7, 0x78, 0xa8, 0xff, 0xaa, 0x64, 0x71, 0x48, 0x16, 0x69, 0x26, 0x0f, 0x26, 0x81, + 0xd7, 0x8b, 0x42, 0x75, 0x14, 0x62, 0x07, 0x93, 0x60, 0x96, 0xe2, 0xd9, 0x48, 0x19, 0x7a, 0x55, + 0x05, 0x38, 0x0d, 0x45, 0x74, 0x33, 0xeb, 0x2d, 0xb9, 0x90, 0x58, 0xf8, 0xde, 0xbf, 0x2f, 0x41, + 0xb9, 0x1b, 0x3a, 0xfa, 0xcf, 0xa0, 0x2e, 0xbe, 0x65, 0xb7, 0x14, 0xc9, 0x47, 0xa0, 0x31, 0x6e, + 0xe7, 0xd3, 0xf0, 0x68, 0x67, 0xc1, 0x19, 0xf9, 0xbd, 0xf8, 0x7a, 0xe6, 0x66, 0x46, 0x65, 0xdc, + 0x2d, 0x42, 0xc5, 0x85, 0xfc, 0x56, 0x83, 0xcb, 0xea, 0x87, 0xd7, 0x6f, 0x65, 0xf2, 0x4a, 0xd9, + 0x61, 0x7c, 0x6f, 0xd1, 0x1d, 0x29, 0x48, 0xd2, 0x1e, 0x3a, 0xb3, 0x91, 0xa4, 0xec, 0xc8, 0x41, + 0x92, 0xf1, 0x02, 0xa9, 0xbf, 0xd0, 0xe0, 0x92, 0xea, 0xf9, 0xb1, 0xad, 0xe0, 0xaa, 0xa0, 0x37, + 0xbe, 0xbb, 0x18, 0x3d, 0xc7, 0xc0, 0x7d, 0x8b, 0x16, 0x18, 0xd9, 0xbe, 0x45, 0x68, 0x72, 0x7c, + 0x4b, 0x7e, 0xa4, 0x1a, 0xc2, 0xb9, 0xb9, 0xf7, 0x27, 0xd5, 0xfb, 0x46, 0x92, 0xd0, 0xe8, 0x14, + 0x24, 0xe4, 0xd2, 0x7e, 0x0c, 0xb5, 0xd9, 0xbb, 0xcf, 0xb6, 0xf2, 0x19, 0x85, 0x51, 0x18, 0x3b, + 0x79, 0x14, 0x9c, 0xf1, 0x8f, 0xa0, 0x42, 0x5e, 0x78, 0x36, 0x32, 0x9e, 0x66, 0x8c, 0x6b, 0x19, + 0x8b, 0x9c, 0xd3, 0x67, 0xb0, 0xcc, 0xde, 0x27, 0x36, 0x15, 0xe4, 0x74, 0xd9, 0xb8, 0x91, 0xb9, + 0x2c, 0xf2, 0x63, 0x0f, 0x07, 0x2a, 0x7e, 0x74, 0x59, 0xc9, 0x4f, 0x6e, 0xfc, 0xa3, 0x03, 0x9b, + 0xeb, 0xfa, 0x6f, 0x66, 0xfa, 0xd6, 0x8c, 0x50, 0x79, 0x60, 0xaa, 0xb6, 0x5e, 0x0f, 0x40, 0x4f, + 0x69, 0xe9, 0x6f, 0xe5, 0xb3, 0x61, 0xa4, 0xc6, 0x6e, 0x61, 0x52, 0x2e, 0x73, 0x02, 0x17, 0xd2, + 0xfa, 0xf0, 0xdb, 0xf9, 0x9c, 0x62, 0x5a, 0x63, 0xaf, 0x38, 0xed, 0xbc, 0xaa, 0x52, 0x8b, 0x7d, + 0xab, 0xc8, 0xb5, 0xa5, 0xc6, 0xdd, 0x2d, 0x4c, 0xca, 0x65, 0xfe, 0x02, 0xde, 0x4f, 0x6f, 0x9f, + 0xef, 0x16, 0xe1, 0xc5, 0xd5, 0xfd, 0xf6, 0x22, 0xd4, 0xf3, 0x76, 0x96, 0x3b, 0xcf, 0x6c, 0x3b, + 0x4b, 0xb4, 0x39, 0x76, 0x4e, 0x6d, 0x27, 0xa3, 0x0b, 0xc1, 0xba, 0xf1, 0xcd, 0xcc, 0x26, 0x4d, + 0x79, 0x21, 0xe4, 0x4e, 0x34, 0xca, 0x8e, 0x72, 0x17, 0x7a, 0xbd, 0x48, 0xef, 0x67, 0x14, 0xea, + 0x33, 0x45, 0x21, 0xf2, 0x7f, 0xd3, 0x55, 0x42, 0x24, 0x2a, 0xa5, 0x90, 0xd4, 0x7f, 0x8b, 0xeb, + 0xbf, 0xd1, 0xa0, 0xa1, 0xec, 0x0b, 0x3a, 0xca, 0xe0, 0x95, 0xbe, 0xc1, 0xb8, 0xb7, 0xe0, 0x06, + 0x0e, 0xc3, 0x85, 0xb3, 0xc9, 0xce, 0xe8, 0x83, 0x0c, 0x3d, 0x04, 0x3a, 0xa3, 0x5d, 0x8c, 0x4e, + 0xbc, 0x73, 0x29, 0xad, 0xc7, 0x2d, 0x65, 0x64, 0x4d, 0x92, 0x2a, 0xef, 0x9c, 0xba, 0xdf, 0xd0, + 0x9f, 0xc2, 0x5a, 0xa2, 0xd9, 0xb8, 0x91, 0x1f, 0x2d, 0x1e, 0x21, 0x64, 0x7c, 0x58, 0x88, 0x6c, + 0x3e, 0x50, 0x0b, 0x7d, 0xc4, 0xcd, 0x22, 0x17, 0x35, 0x92, 0xd5, 0x29, 0x48, 0x28, 0x46, 0x92, + 0xf4, 0x26, 0x21, 0xc3, 0x05, 0xe7, 0xa9, 0x95, 0x91, 0x24, 0xb3, 0x2f, 0x20, 0x8e, 0xab, 0xec, + 0x0a, 0x3a, 0x99, 0x47, 0x94, 0x82, 0xe1, 0xde, 0x82, 0x1b, 0xc4, 0xea, 0x62, 0xd6, 0x08, 0xa8, + 0xaa, 0x0b, 0x4e, 0xa1, 0xac, 0x2e, 0xe6, 0xea, 0xfc, 0x83, 0x9f, 0xfc, 0xe5, 0x75, 0x53, 0x7b, + 0xf9, 0xba, 0xa9, 0xfd, 0xf3, 0x75, 0x53, 0xfb, 0xfa, 0x4d, 0xf3, 0xbd, 0x97, 0x6f, 0x9a, 0xef, + 0xfd, 0xe3, 0x4d, 0xf3, 0xbd, 0xaf, 0x1e, 0x3a, 0x2e, 0x3e, 0x9e, 0x0c, 0xda, 0x96, 0x3f, 0xea, + 0x10, 0x6e, 0x1f, 0x7a, 0x08, 0x4f, 0xfd, 0xe0, 0xe7, 0x6c, 0x34, 0x44, 0xb6, 0x83, 0x82, 0xce, + 0xa9, 0xf0, 0x5b, 0x1d, 0xf2, 0x23, 0x22, 0xf2, 0x6b, 0x9d, 0xce, 0xc9, 0xee, 0x60, 0x99, 0xbc, + 0xcf, 0x7c, 0xf4, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xd0, 0xd0, 0xc0, 0x94, 0x24, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3659,6 +3795,13 @@ type MsgClient interface { // // Since Revision 2 UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) + // UpdateProjectFee is a governance method that allows for updating the + // project creation fee. If no fee is specified in the request, the project + // creation fee will be removed and no fee will be required to create a + // project. + // + // Since Revision 3 + UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFee, opts ...grpc.CallOption) (*MsgUpdateProjectFeeResponse, error) // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // @@ -3899,6 +4042,15 @@ func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, o return out, nil } +func (c *msgClient) UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFee, opts ...grpc.CallOption) (*MsgUpdateProjectFeeResponse, error) { + out := new(MsgUpdateProjectFeeResponse) + err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/UpdateProjectFee", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) { out := new(MsgAddAllowedBridgeChainResponse) err := c.cc.Invoke(ctx, "/regen.ecocredit.v1.Msg/AddAllowedBridgeChain", in, out, opts...) @@ -4071,6 +4223,13 @@ type MsgServer interface { // // Since Revision 2 UpdateClassFee(context.Context, *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) + // UpdateProjectFee is a governance method that allows for updating the + // project creation fee. If no fee is specified in the request, the project + // creation fee will be removed and no fee will be required to create a + // project. + // + // Since Revision 3 + UpdateProjectFee(context.Context, *MsgUpdateProjectFee) (*MsgUpdateProjectFeeResponse, error) // AddAllowedBridgeChain is a governance method that allows for the // addition of a chain to bridge ecocredits to. // @@ -4163,6 +4322,9 @@ func (*UnimplementedMsgServer) RemoveClassCreator(ctx context.Context, req *MsgR func (*UnimplementedMsgServer) UpdateClassFee(ctx context.Context, req *MsgUpdateClassFee) (*MsgUpdateClassFeeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateClassFee not implemented") } +func (*UnimplementedMsgServer) UpdateProjectFee(ctx context.Context, req *MsgUpdateProjectFee) (*MsgUpdateProjectFeeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectFee not implemented") +} func (*UnimplementedMsgServer) AddAllowedBridgeChain(ctx context.Context, req *MsgAddAllowedBridgeChain) (*MsgAddAllowedBridgeChainResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddAllowedBridgeChain not implemented") } @@ -4609,6 +4771,24 @@ func _Msg_UpdateClassFee_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_UpdateProjectFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateProjectFee) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateProjectFee(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/regen.ecocredit.v1.Msg/UpdateProjectFee", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateProjectFee(ctx, req.(*MsgUpdateProjectFee)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_AddAllowedBridgeChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgAddAllowedBridgeChain) if err := dec(in); err != nil { @@ -4763,6 +4943,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateClassFee", Handler: _Msg_UpdateClassFee_Handler, }, + { + MethodName: "UpdateProjectFee", + Handler: _Msg_UpdateProjectFee_Handler, + }, { MethodName: "AddAllowedBridgeChain", Handler: _Msg_AddAllowedBridgeChain_Handler, @@ -4960,6 +5144,18 @@ func (m *MsgCreateProject) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } if len(m.ReferenceId) > 0 { i -= len(m.ReferenceId) copy(dAtA[i:], m.ReferenceId) @@ -5048,6 +5244,18 @@ func (m *MsgCreateUnregisteredProject) MarshalToSizedBuffer(dAtA []byte) (int, e _ = i var l int _ = l + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } if len(m.ReferenceId) > 0 { i -= len(m.ReferenceId) copy(dAtA[i:], m.ReferenceId) @@ -5292,6 +5500,13 @@ func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x4a + } if m.OriginTx != nil { { size, err := m.OriginTx.MarshalToSizedBuffer(dAtA[:i]) @@ -5315,22 +5530,22 @@ func (m *MsgCreateBatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x38 } if m.EndDate != nil { - n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) - if err4 != nil { - return 0, err4 + n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) + if err6 != nil { + return 0, err6 } - i -= n4 - i = encodeVarintTx(dAtA, i, uint64(n4)) + i -= n6 + i = encodeVarintTx(dAtA, i, uint64(n6)) i-- dAtA[i] = 0x32 } if m.StartDate != nil { - n5, err5 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) - if err5 != nil { - return 0, err5 + n7, err7 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) + if err7 != nil { + return 0, err7 } - i -= n5 - i = encodeVarintTx(dAtA, i, uint64(n5)) + i -= n7 + i = encodeVarintTx(dAtA, i, uint64(n7)) i-- dAtA[i] = 0x2a } @@ -6430,22 +6645,22 @@ func (m *MsgBridgeReceive_Batch) MarshalToSizedBuffer(dAtA []byte) (int, error) dAtA[i] = 0x2a } if m.EndDate != nil { - n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) - if err10 != nil { - return 0, err10 + n12, err12 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.EndDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.EndDate):]) + if err12 != nil { + return 0, err12 } - i -= n10 - i = encodeVarintTx(dAtA, i, uint64(n10)) + i -= n12 + i = encodeVarintTx(dAtA, i, uint64(n12)) i-- dAtA[i] = 0x22 } if m.StartDate != nil { - n11, err11 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) - if err11 != nil { - return 0, err11 + n13, err13 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.StartDate, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.StartDate):]) + if err13 != nil { + return 0, err13 } - i -= n11 - i = encodeVarintTx(dAtA, i, uint64(n11)) + i -= n13 + i = encodeVarintTx(dAtA, i, uint64(n13)) i-- dAtA[i] = 0x1a } @@ -6795,6 +7010,71 @@ func (m *MsgUpdateClassFeeResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *MsgUpdateProjectFee) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateProjectFee) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProjectFee) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Fee != nil { + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateProjectFeeResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateProjectFeeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateProjectFeeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgAddAllowedBridgeChain) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7089,6 +7369,10 @@ func (m *MsgCreateProject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Fee != nil { + l = m.Fee.Size() + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -7127,6 +7411,10 @@ func (m *MsgCreateUnregisteredProject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Fee != nil { + l = m.Fee.Size() + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -7256,6 +7544,10 @@ func (m *MsgCreateBatch) Size() (n int) { l = m.OriginTx.Size() n += 1 + l + sovTx(uint64(l)) } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } @@ -7886,6 +8178,32 @@ func (m *MsgUpdateClassFeeResponse) Size() (n int) { return n } +func (m *MsgUpdateProjectFee) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Fee != nil { + l = m.Fee.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgUpdateProjectFeeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgAddAllowedBridgeChain) Size() (n int) { if m == nil { return 0 @@ -8627,10 +8945,46 @@ func (m *MsgCreateProject) Unmarshal(dAtA []byte) error { } m.ReferenceId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &types.Coin{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { @@ -8887,6 +9241,42 @@ func (m *MsgCreateUnregisteredProject) Unmarshal(dAtA []byte) error { } m.ReferenceId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &types.Coin{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -9772,6 +10162,38 @@ func (m *MsgCreateBatch) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13895,6 +14317,174 @@ func (m *MsgUpdateClassFeeResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateProjectFee) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateProjectFee: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateProjectFee: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fee == nil { + m.Fee = &types.Coin{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateProjectFeeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateProjectFeeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateProjectFeeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *MsgAddAllowedBridgeChain) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 From 72f1d54b2e77d959c27bcf08961901edd262a30e Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 13 Feb 2024 14:18:03 -0500 Subject: [PATCH 026/112] WIP --- x/ecocredit/base/keeper/keeper.go | 8 +- x/ecocredit/base/keeper/msg_create_batch.go | 13 ++- .../msg_create_or_update_application.go | 53 ++++++++++++ .../keeper/msg_create_unregistered_project.go | 11 +++ .../keeper/msg_update_project_enrollment.go | 80 +++++++++++++++++++ x/ecocredit/base/types/v1/msg_create_batch.go | 4 + .../v1/msg_create_or_update_application.go | 8 +- .../types/v1/msg_update_project_enrollment.go | 27 ++++++- x/ecocredit/base/utils.go | 4 +- 9 files changed, 200 insertions(+), 8 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_create_or_update_application.go create mode 100644 x/ecocredit/base/keeper/msg_create_unregistered_project.go create mode 100644 x/ecocredit/base/keeper/msg_update_project_enrollment.go diff --git a/x/ecocredit/base/keeper/keeper.go b/x/ecocredit/base/keeper/keeper.go index 4817597e39..69248c6a5e 100644 --- a/x/ecocredit/base/keeper/keeper.go +++ b/x/ecocredit/base/keeper/keeper.go @@ -1,6 +1,8 @@ package keeper import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" basketapi "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/basket/v1" @@ -16,7 +18,6 @@ var ( ) type Keeper struct { - *types.UnimplementedMsgServer *types.UnimplementedQueryServer stateStore api.StateStore @@ -31,6 +32,11 @@ type Keeper struct { authority sdk.AccAddress } +func (k Keeper) UpdateProjectFee(ctx context.Context, fee *types.MsgUpdateProjectFee) (*types.MsgUpdateProjectFeeResponse, error) { + //TODO implement me + panic("implement me") +} + func NewKeeper( ss api.StateStore, bk ecocredit.BankKeeper, diff --git a/x/ecocredit/base/keeper/msg_create_batch.go b/x/ecocredit/base/keeper/msg_create_batch.go index 2d53b65406..c1bbf62311 100644 --- a/x/ecocredit/base/keeper/msg_create_batch.go +++ b/x/ecocredit/base/keeper/msg_create_batch.go @@ -27,11 +27,22 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get project with id %s: %s", req.ProjectId, err.Error()) } - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) + class, err := k.stateStore.ClassTable().GetById(ctx, req.ClassId) if err != nil { return nil, err } + // check if project enrollment exists + enrollment, err := k.stateStore.ProjectEnrollmentTable().Get(ctx, project.Key, class.Key) + if err != nil { + return nil, err + } + + // check if project enrollment is accepted + if enrollment.Status != api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED { + return nil, sdkerrors.ErrInvalidRequest.Wrapf("project enrollment status is not accepted") + } + issuer, err := sdk.AccAddressFromBech32(req.Issuer) if err != nil { return nil, err diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application.go b/x/ecocredit/base/keeper/msg_create_or_update_application.go new file mode 100644 index 0000000000..36bb1ce21b --- /dev/null +++ b/x/ecocredit/base/keeper/msg_create_or_update_application.go @@ -0,0 +1,53 @@ +package keeper + +import ( + "bytes" + "context" + + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCreateOrUpdateApplication) (*types.MsgCreateOrUpdateApplicationResponse, error) { + admin, err := sdk.AccAddressFromBech32(msg.ProjectAdmin) + if err != nil { + return nil, err + } + + proj, err := k.stateStore.ProjectTable().GetById(ctx, msg.ProjectId) + if err != nil { + return nil, err + } + + if bytes.Equal(proj.Admin, admin) { + return nil, sdkerrors.ErrUnauthorized + } + + class, err := k.stateStore.ClassTable().GetById(ctx, msg.ClassId) + if err != nil { + return nil, err + } + + enrollment, err := k.stateStore.ProjectEnrollmentTable().Get(ctx, proj.Key, class.Key) + if ormerrors.IsNotFound(err) { + enrollment = &ecocreditv1.ProjectEnrollment{ + ProjectKey: proj.Key, + ClassKey: class.Key, + Status: ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, + } + } else if err != nil { + return nil, err + } + + enrollment.ApplicationMetadata = msg.Metadata + + if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + return nil, err + } + + return &types.MsgCreateOrUpdateApplicationResponse{}, nil +} diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project.go b/x/ecocredit/base/keeper/msg_create_unregistered_project.go new file mode 100644 index 0000000000..a8dfaa01a0 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project.go @@ -0,0 +1,11 @@ +package keeper + +import ( + "context" + + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) CreateUnregisteredProject(ctx context.Context, msg *types.MsgCreateUnregisteredProject) (*types.MsgCreateUnregisteredProjectResponse, error) { + panic("unimplemented") +} diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go new file mode 100644 index 0000000000..2793026ef5 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -0,0 +1,80 @@ +package keeper + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdateProjectEnrollment) (*types.MsgUpdateProjectEnrollmentResponse, error) { + issuer, err := sdk.AccAddressFromBech32(msg.Issuer) + if err != nil { + return nil, err + } + + class, err := k.stateStore.ClassTable().GetById(ctx, msg.ClassId) + if err != nil { + return nil, err + } + + err = k.assertClassIssuer(ctx, class.Key, issuer) + if err != nil { + return nil, err + } + + proj, err := k.stateStore.ProjectTable().GetById(ctx, msg.ProjectId) + if err != nil { + return nil, err + } + + enrollment, err := k.stateStore.ProjectEnrollmentTable().Get(ctx, proj.Key, class.Key) + if err != nil { + return nil, err + } + + existingStatus := enrollment.Status + newStatus := ecocreditv1.ProjectEnrollmentStatus(msg.NewStatus) + switch existingStatus { + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, + ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED: + switch newStatus { + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED, + ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: + // Valid case + break + default: + return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) + } + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: + switch newStatus { + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: + // Valid case + break + default: + return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) + } + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: + switch newStatus { + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: + // Valid case + break + default: + return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) + } + default: + return nil, sdkerrors.ErrLogic.Wrapf("invalid existing status: %s", existingStatus) + } + + enrollment.Status = newStatus + enrollment.EnrollmentMetadata = msg.Metadata + + if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + return nil, err + } + + return &types.MsgUpdateProjectEnrollmentResponse{}, nil +} diff --git a/x/ecocredit/base/types/v1/msg_create_batch.go b/x/ecocredit/base/types/v1/msg_create_batch.go index 2516cce765..d75ce13664 100644 --- a/x/ecocredit/base/types/v1/msg_create_batch.go +++ b/x/ecocredit/base/types/v1/msg_create_batch.go @@ -34,6 +34,10 @@ func (m *MsgCreateBatch) ValidateBasic() error { return sdkerrors.ErrInvalidRequest.Wrapf("project id: %s", err) } + if err := base.ValidateClassID(m.ClassId); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("class id: %s", err) + } + if len(m.Issuance) == 0 { return sdkerrors.ErrInvalidRequest.Wrap("issuance cannot be empty") } diff --git a/x/ecocredit/base/types/v1/msg_create_or_update_application.go b/x/ecocredit/base/types/v1/msg_create_or_update_application.go index 1eb7e7def4..d9ea28cd0e 100644 --- a/x/ecocredit/base/types/v1/msg_create_or_update_application.go +++ b/x/ecocredit/base/types/v1/msg_create_or_update_application.go @@ -28,12 +28,12 @@ func (m *MsgCreateOrUpdateApplication) ValidateBasic() error { return sdkerrors.ErrInvalidAddress.Wrapf("project admin: %s", err) } - if m.ProjectId == "" { - return sdkerrors.ErrInvalidRequest.Wrap("project id cannot be empty") + if err := base.ValidateProjectID(m.ProjectId); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("project id: %s", err) } - if m.ClassId == "" { - return sdkerrors.ErrInvalidRequest.Wrap("class id cannot be empty") + if err := base.ValidateClassID(m.ClassId); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("class id: %s", err) } if len(m.Metadata) > base.MaxMetadataLength { diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go index 14fcc692dd..40ca3886fb 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go @@ -2,7 +2,11 @@ package v1 import ( sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" + + "github.com/regen-network/regen-ledger/x/ecocredit/v3" + "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" ) var _ legacytx.LegacyMsg = &MsgUpdateProjectEnrollment{} @@ -20,7 +24,28 @@ func (m *MsgUpdateProjectEnrollment) GetSignBytes() []byte { // ValidateBasic does a sanity check on the provided data. func (m *MsgUpdateProjectEnrollment) ValidateBasic() error { - panic("implement me") + + if _, err := sdk.AccAddressFromBech32(m.Issuer); err != nil { + return sdkerrors.ErrInvalidAddress.Wrapf("issuer: %s", err) + } + + if err := base.ValidateProjectID(m.ProjectId); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("project id: %s", err) + } + + if err := base.ValidateClassID(m.ClassId); err != nil { + return sdkerrors.ErrInvalidRequest.Wrapf("class id: %s", err) + } + + if m.NewStatus == ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED || m.NewStatus.String() == "" { + return sdkerrors.ErrInvalidRequest.Wrapf("new status: empty or invalid") + } + + if len(m.Metadata) > base.MaxMetadataLength { + return ecocredit.ErrMaxLimit.Wrapf("metadata: max length %d", base.MaxMetadataLength) + } + + return nil } // GetSigners returns the expected signers for MsgUpdateProjectEnrollment. diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 899799c2fb..309ea49d10 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -23,7 +23,9 @@ const ( var ( RegexCreditTypeAbbrev = `[A-Z]{1,3}` //nolint:gosec RegexClassID = fmt.Sprintf(`%s[0-9]{2,}`, RegexCreditTypeAbbrev) - RegexProjectID = fmt.Sprintf(`%s-[0-9]{3,}`, RegexClassID) + RegexProjectID = fmt.Sprintf("(%s)|(%s)", RegexProjectIDV1, RegexProjectIDV2) + RegexProjectIDV1 = fmt.Sprintf(`%s-[0-9]{3,}`, RegexClassID) + RegexProjectIDV2 = `P[0-9]{3,}` RegexBatchDenom = fmt.Sprintf(`%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexProjectID) RegexJurisdiction = `([A-Z]{2})(?:-([A-Z0-9]{1,3})(?: ([a-zA-Z0-9 \-]{1,64}))?)?` From 8e5852544f64311a8416f017716e9f24643a206a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 13 Feb 2024 14:29:22 -0500 Subject: [PATCH 027/112] WIP --- proto/regen/ecocredit/v1/state.proto | 4 +- x/ecocredit/base/keeper/msg_create_batch.go | 2 +- x/ecocredit/base/keeper/msg_create_project.go | 56 +++++++++---------- .../keeper/msg_create_unregistered_project.go | 27 ++++++++- x/ecocredit/base/utils.go | 25 ++++----- 5 files changed, 69 insertions(+), 45 deletions(-) diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 8bbdf1f00b..9c48379c66 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -92,7 +92,7 @@ message Project { uint64 key = 1; // id is the unique identifier of the project either auto-generated from the - // credit class id and project sequence number or provided upon creation. + // project key. string id = 2; // admin is the admin of the project. @@ -186,6 +186,8 @@ message ClassSequence { // ProjectSequence stores and increments the sequence number for projects within // a credit class. message ProjectSequence { + option deprecated = true; + option (cosmos.orm.v1.table) = { id : 7, primary_key : {fields : "class_key"} diff --git a/x/ecocredit/base/keeper/msg_create_batch.go b/x/ecocredit/base/keeper/msg_create_batch.go index c1bbf62311..21723c31f1 100644 --- a/x/ecocredit/base/keeper/msg_create_batch.go +++ b/x/ecocredit/base/keeper/msg_create_batch.go @@ -58,7 +58,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty return nil, err } - batchDenom, err := base.FormatBatchDenom(project.Id, batchSeqNo, req.StartDate, req.EndDate) + batchDenom, err := base.FormatBatchDenom(class.Id, project.Id, batchSeqNo, req.StartDate, req.EndDate) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index 7085d1d277..a206443c18 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -3,7 +3,6 @@ package keeper import ( "context" - "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -25,12 +24,14 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) return nil, err } + // TODO deduct fee + err = k.assertClassIssuer(ctx, classInfo.Key, adminAddress) if err != nil { return nil, err } - projectID, err := k.genProjectID(ctx, classInfo.Key, classInfo.Id) + project, projectID, err := k.createNewProject(ctx) if err != nil { return nil, err } @@ -41,14 +42,22 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) return nil, err } - if err = k.stateStore.ProjectTable().Insert(ctx, &api.Project{ - Id: projectID, - Admin: adminAddress, - ClassKey: classInfo.Key, - Jurisdiction: req.Jurisdiction, - Metadata: req.Metadata, - ReferenceId: req.ReferenceId, - }); err != nil { + project.Admin = adminAddress + project.Jurisdiction = req.Jurisdiction + project.Metadata = req.Metadata + project.ReferenceId = req.ReferenceId + + if err = k.stateStore.ProjectTable().Save(ctx, project); err != nil { + return nil, err + } + + // create enrollment + enrollment := &api.ProjectEnrollment{ + ProjectKey: project.Key, + ClassKey: classInfo.Key, + Status: api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + } + if err = k.stateStore.ProjectEnrollmentTable().Insert(ctx, enrollment); err != nil { return nil, err } @@ -63,28 +72,17 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) }, nil } -// genProjectID generates a projectID when no projectID was given for CreateProject. +// createNewProject generates a projectID when no projectID was given for CreateProject. // The ID is generated by concatenating the classID and a sequence number. -func (k Keeper) genProjectID(ctx context.Context, classKey uint64, classID string) (string, error) { - var nextSeq uint64 - projectSeqNo, err := k.stateStore.ProjectSequenceTable().Get(ctx, classKey) - switch err { - case ormerrors.NotFound: - nextSeq = 1 - case nil: - nextSeq = projectSeqNo.NextSequence - default: - return "", err - } - - if err = k.stateStore.ProjectSequenceTable().Save(ctx, &api.ProjectSequence{ - ClassKey: classKey, - NextSequence: nextSeq + 1, - }); err != nil { - return "", err +func (k Keeper) createNewProject(ctx context.Context) (*api.Project, string, error) { + newProject := &api.Project{} + id, err := k.stateStore.ProjectTable().InsertReturningID(ctx, newProject) + if err != nil { + return nil, "", err } - return base.FormatProjectID(classID, nextSeq), nil + projectID := base.FormatProjectID(id) + return newProject, projectID, nil } // verifyReferenceID prevents multiple projects from having the same reference id within the diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project.go b/x/ecocredit/base/keeper/msg_create_unregistered_project.go index a8dfaa01a0..0043507773 100644 --- a/x/ecocredit/base/keeper/msg_create_unregistered_project.go +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project.go @@ -3,9 +3,34 @@ package keeper import ( "context" + sdk "github.com/cosmos/cosmos-sdk/types" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) func (k Keeper) CreateUnregisteredProject(ctx context.Context, msg *types.MsgCreateUnregisteredProject) (*types.MsgCreateUnregisteredProjectResponse, error) { - panic("unimplemented") + admin, err := sdk.AccAddressFromBech32(msg.Admin) + if err != nil { + return nil, err + } + + // TODO deduct fee + + project, projectID, err := k.createNewProject(ctx) + if err != nil { + return nil, err + } + + project.Admin = admin + project.Jurisdiction = msg.Jurisdiction + project.Metadata = msg.Metadata + if msg.ReferenceId != "" { + panic("reject reference ID") + } + + if err = k.stateStore.ProjectTable().Save(ctx, project); err != nil { + return nil, err + } + + return &types.MsgCreateUnregisteredProjectResponse{ProjectId: projectID}, nil } diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 309ea49d10..54ee9a3ced 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -53,27 +53,23 @@ func FormatClassID(creditTypeAbbreviation string, classSeqNo uint64) string { } // FormatProjectID formats the unique identifier for a new project, based on -// the credit class id and project sequence number. This format may evolve over -// time, but will maintain backwards compatibility. +// the project sequence number. This format may evolve over time. // // The current version has the format: -// - +// P // -// is the unique identifier of the credit class (see FormatClassID) -// is the sequence number of the project, padded to at least -// three digits -// -// e.g. C01-001 -func FormatProjectID(classID string, projectSeqNo uint64) string { - return fmt.Sprintf("%s-%03d", classID, projectSeqNo) +// e.g. P001 +func FormatProjectID(projectSeqNo uint64) string { + return fmt.Sprintf("P%03d", projectSeqNo) } // FormatBatchDenom formats the unique denomination for a credit batch. This // format may evolve over time, but will maintain backwards compatibility. // // The current version has the format: -// --- +// ---- // +// is the unique identifier of the credit class (see FormatClassID) // is the unique identifier of the project (see FormatProjectID) // is the start date of the credit batch with the format YYYYMMDD // is the end date of the credit batch with the format YYYYMMDD @@ -81,9 +77,12 @@ func FormatProjectID(classID string, projectSeqNo uint64) string { // three digits // // e.g. C01-001-20190101-20200101-001 -func FormatBatchDenom(projectID string, batchSeqNo uint64, startDate, endDate *time.Time) (string, error) { +func FormatBatchDenom(classId, projectID string, batchSeqNo uint64, startDate, endDate *time.Time) (string, error) { return fmt.Sprintf( - "%s-%s-%s-%03d", + "%s-%s-%s-%s-%03d", + + // Class ID string + classId, // Project ID string projectID, From 5450d06af1b1a3fe378fc7baf52c0146d90cd16e Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Fri, 16 Feb 2024 15:44:31 -0500 Subject: [PATCH 028/112] proto updates --- api/regen/ecocredit/v1/events.pulsar.go | 3 - api/regen/ecocredit/v1/state.pulsar.go | 372 ++++++++++++------------ proto/regen/ecocredit/v1/events.proto | 1 - proto/regen/ecocredit/v1/state.proto | 9 +- x/ecocredit/base/types/v1/state.pb.go | 194 ++++++------ 5 files changed, 287 insertions(+), 292 deletions(-) diff --git a/api/regen/ecocredit/v1/events.pulsar.go b/api/regen/ecocredit/v1/events.pulsar.go index 2b874889bd..10ed170a78 100644 --- a/api/regen/ecocredit/v1/events.pulsar.go +++ b/api/regen/ecocredit/v1/events.pulsar.go @@ -12149,8 +12149,6 @@ var file_regen_ecocredit_v1_events_proto_rawDesc = []byte{ 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 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, @@ -12381,7 +12379,6 @@ func file_regen_ecocredit_v1_events_proto_init() { } file_regen_ecocredit_v1_state_proto_init() file_regen_ecocredit_v1_types_proto_init() - file_regen_ecocredit_v1_state_proto_init() if !protoimpl.UnsafeEnabled { file_regen_ecocredit_v1_events_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EventCreateClass); i { diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 3ea1cfdc2a..33a3183de4 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -10213,13 +10213,13 @@ type Project struct { // key is the table row identifier of the project used internally for // efficient lookups. This identifier is auto-incrementing. Key uint64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` - // id is the unique identifier of the project either auto-generated from the - // credit class id and project sequence number or provided upon creation. + // id is the auto-generated unique identifier of the project. Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin []byte `protobuf:"bytes,3,opt,name=admin,proto3" json:"admin,omitempty"` - // class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. + // Deprecated: use ProjectEnrollment instead. + // + // Deprecated: Do not use. ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // jurisdiction is the jurisdiction of the project. // Full documentation can be found in MsgCreateProject.jurisdiction. @@ -10271,6 +10271,7 @@ func (x *Project) GetAdmin() []byte { return nil } +// Deprecated: Do not use. func (x *Project) GetClassKey() uint64 { if x != nil { return x.ClassKey @@ -10476,8 +10477,9 @@ func (x *ClassSequence) GetNextSequence() uint64 { return 0 } -// ProjectSequence stores and increments the sequence number for projects within -// a credit class. +// Deprecated: No longer used. +// +// Deprecated: Do not use. type ProjectSequence struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -11177,191 +11179,191 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x3a, 0x1c, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x16, 0x0a, 0x12, 0x0a, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x22, 0xab, 0x02, 0x0a, 0x07, + 0x65, 0x79, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x22, 0xaf, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x3a, - 0x68, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x62, 0x0a, 0x07, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01, 0x18, 0x01, 0x12, 0x12, 0x0a, 0x0c, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x10, 0x02, 0x18, 0x01, 0x12, 0x09, - 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0xc4, 0x03, 0x0a, 0x05, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 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, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x1f, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, + 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x3a, 0x68, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x62, 0x0a, 0x07, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x02, 0x69, 0x64, 0x10, 0x01, 0x18, 0x01, 0x12, 0x12, + 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x10, 0x02, + 0x18, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, + 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x04, 0x12, + 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x10, 0x05, 0x18, 0x04, 0x22, 0xc4, 0x03, + 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 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, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 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, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, + 0x63, 0x65, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 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, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x5a, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x54, 0x0a, 0x07, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x10, 0x01, - 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x10, 0x04, 0x12, - 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x05, 0x18, 0x05, - 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, - 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x18, 0x0a, 0x14, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, - 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, - 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, - 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, - 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x11, - 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, - 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, 0x0a, 0x13, 0x0a, 0x11, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, - 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, + 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x3a, 0x5a, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x54, + 0x0a, 0x07, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x05, 0x64, 0x65, 0x6e, + 0x6f, 0x6d, 0x10, 0x01, 0x18, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x10, 0x05, 0x18, 0x05, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x62, + 0x62, 0x72, 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, + 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x1e, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, + 0x18, 0x0a, 0x14, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x06, 0x22, 0x6c, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, + 0x18, 0x01, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, + 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x11, 0x0a, 0x0d, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x4b, 0x65, 0x79, 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x1f, 0xf2, - 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, - 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x22, 0x96, - 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x29, 0x0a, 0x0b, - 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x12, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, - 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0d, 0x0a, 0x09, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x22, 0x41, 0x0a, 0x08, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, - 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0f, 0x22, 0x4b, 0x0a, - 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, 0x0a, 0x0c, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x22, 0xac, 0x02, 0x0a, 0x11, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x43, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2a, 0x0a, - 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x22, 0x43, 0x0a, 0x0a, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, - 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, - 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x12, 0x2a, 0xef, - 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, - 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, - 0x2b, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, - 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, + 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x34, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2e, + 0x0a, 0x13, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, + 0x65, 0x79, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, 0x22, 0xbc, + 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x65, 0x79, 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, 0x15, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, + 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x22, 0x75, 0x0a, + 0x0d, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x3a, 0x1f, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x19, 0x0a, 0x15, 0x0a, 0x13, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x69, 0x64, 0x2c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x0b, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x3a, 0x2f, 0xf2, 0x9e, + 0xd3, 0x8e, 0x03, 0x29, 0x0a, 0x0b, 0x0a, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x65, + 0x79, 0x12, 0x18, 0x0a, 0x12, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x10, 0x01, 0x18, 0x01, 0x18, 0x0c, 0x22, 0x3b, 0x0a, + 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, 0x02, 0x08, 0x0d, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 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, 0x3a, 0x13, 0xf2, 0x9e, 0xd3, + 0x8e, 0x03, 0x0d, 0x0a, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, + 0x22, 0x41, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, 0x03, + 0x02, 0x08, 0x0f, 0x22, 0x4b, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, + 0x0a, 0x0c, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, + 0x22, 0xac, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, + 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x30, 0xf2, + 0x9e, 0xd3, 0x8e, 0x03, 0x2a, 0x0a, 0x17, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x0d, + 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x10, 0x01, 0x18, 0x11, 0x22, + 0x43, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x2b, 0x0a, + 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0xfa, 0x9e, 0xd3, 0x8e, + 0x03, 0x02, 0x08, 0x12, 0x2a, 0xef, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, + 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, + 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, + 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x4e, 0x52, 0x4f, 0x4c, 0x4c, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, + 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, + 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, + 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/regen/ecocredit/v1/events.proto b/proto/regen/ecocredit/v1/events.proto index 58de073da6..f8319b53b9 100644 --- a/proto/regen/ecocredit/v1/events.proto +++ b/proto/regen/ecocredit/v1/events.proto @@ -4,7 +4,6 @@ package regen.ecocredit.v1; import "regen/ecocredit/v1/state.proto"; import "regen/ecocredit/v1/types.proto"; -import "regen/ecocredit/v1/state.proto"; option go_package = "github.com/regen-network/regen-ledger/x/ecocredit/base/types/v1"; diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index 9c48379c66..d9927807da 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -91,15 +91,13 @@ message Project { // efficient lookups. This identifier is auto-incrementing. uint64 key = 1; - // id is the unique identifier of the project either auto-generated from the - // project key. + // id is the auto-generated unique identifier of the project. string id = 2; // admin is the admin of the project. bytes admin = 3; - // Deprecated: class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. + // Deprecated: use ProjectEnrollment instead. uint64 class_key = 4 [deprecated = true]; // jurisdiction is the jurisdiction of the project. @@ -183,8 +181,7 @@ message ClassSequence { uint64 next_sequence = 2; } -// ProjectSequence stores and increments the sequence number for projects within -// a credit class. +// Deprecated: No longer used. message ProjectSequence { option deprecated = true; diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 7c6f1bd9c5..80e1515c76 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -297,14 +297,12 @@ type Project struct { // key is the table row identifier of the project used internally for // efficient lookups. This identifier is auto-incrementing. Key uint64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` - // id is the unique identifier of the project either auto-generated from the - // credit class id and project sequence number or provided upon creation. + // id is the auto-generated unique identifier of the project. Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin []byte `protobuf:"bytes,3,opt,name=admin,proto3" json:"admin,omitempty"` - // class_key is the table row identifier of the credit class used internally - // for efficient lookups. This links a project to a credit class. - ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` + // Deprecated: use ProjectEnrollment instead. + ClassKey uint64 `protobuf:"varint,4,opt,name=class_key,json=classKey,proto3" json:"class_key,omitempty"` // Deprecated: Do not use. // jurisdiction is the jurisdiction of the project. // Full documentation can be found in MsgCreateProject.jurisdiction. Jurisdiction string `protobuf:"bytes,5,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` @@ -368,6 +366,7 @@ func (m *Project) GetAdmin() []byte { return nil } +// Deprecated: Do not use. func (m *Project) GetClassKey() uint64 { if m != nil { return m.ClassKey @@ -591,8 +590,9 @@ func (m *ClassSequence) GetNextSequence() uint64 { return 0 } -// ProjectSequence stores and increments the sequence number for projects within -// a credit class. +// Deprecated: No longer used. +// +// Deprecated: Do not use. type ProjectSequence struct { // class_key is the table row identifier of the credit class used internally // for efficient lookups. This links a project sequence to a credit class. @@ -1385,96 +1385,96 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/state.proto", fileDescriptor_6cfdca0a4aaabb36) } var fileDescriptor_6cfdca0a4aaabb36 = []byte{ - // 1413 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x72, 0xdb, 0xd4, - 0x17, 0x8f, 0xfc, 0x91, 0xd8, 0xc7, 0x1f, 0x51, 0x6e, 0xbe, 0xd4, 0xfc, 0xfb, 0x77, 0x8b, 0x68, - 0x69, 0xda, 0x06, 0x9b, 0x14, 0x98, 0x01, 0x33, 0x43, 0xc7, 0x71, 0x5c, 0x08, 0x6d, 0xd3, 0xa0, - 0xb8, 0x0b, 0xba, 0x11, 0xd7, 0xd2, 0x6d, 0xa2, 0x56, 0x96, 0x8c, 0x74, 0x9d, 0x26, 0x5b, 0x1e, - 0x80, 0x61, 0xc5, 0x8a, 0xe1, 0x05, 0xe0, 0x11, 0x58, 0xb2, 0x80, 0x5d, 0x67, 0xd8, 0xb0, 0x64, - 0xda, 0x07, 0x60, 0x86, 0x61, 0xc5, 0x8a, 0xb9, 0x47, 0x57, 0xb2, 0xe5, 0x3a, 0x69, 0xa7, 0x3b, - 0x9d, 0xef, 0xdf, 0xf9, 0xdd, 0x73, 0xa4, 0x2b, 0xa8, 0x05, 0xec, 0x80, 0x79, 0x0d, 0x66, 0xf9, - 0x56, 0xc0, 0x6c, 0x87, 0x37, 0x8e, 0x36, 0x1b, 0x21, 0xa7, 0x9c, 0xd5, 0x07, 0x81, 0xcf, 0x7d, - 0x42, 0xd0, 0x5e, 0x4f, 0xec, 0xf5, 0xa3, 0xcd, 0xb5, 0x9a, 0xe5, 0x87, 0x7d, 0x3f, 0x6c, 0xf4, - 0x68, 0xc8, 0x1a, 0x47, 0x9b, 0x3d, 0xc6, 0xe9, 0x66, 0xc3, 0xf2, 0x1d, 0x2f, 0x8a, 0x59, 0x5b, - 0x95, 0x76, 0x3f, 0xe8, 0x8b, 0x74, 0x7e, 0xd0, 0x97, 0x86, 0x0b, 0x07, 0xbe, 0x7f, 0xe0, 0xb2, - 0x06, 0x4a, 0xbd, 0xe1, 0xc3, 0x06, 0x77, 0xfa, 0x2c, 0xe4, 0xb4, 0x3f, 0x88, 0x1c, 0xf4, 0xef, - 0x15, 0x80, 0x36, 0xd6, 0xe9, 0x9e, 0x0c, 0x18, 0xd1, 0xa1, 0x4c, 0x7b, 0xbd, 0x80, 0x1d, 0x39, - 0x94, 0x3b, 0xbe, 0xa7, 0x29, 0x17, 0x95, 0xf5, 0xa2, 0x91, 0xd2, 0x11, 0x02, 0x39, 0x8f, 0xf6, - 0x99, 0x96, 0x41, 0x1b, 0x3e, 0x0b, 0xdd, 0xd0, 0x73, 0xb8, 0x96, 0x8d, 0x74, 0xe2, 0x99, 0x9c, - 0x87, 0xe2, 0x20, 0x60, 0x96, 0x13, 0x8a, 0x44, 0xb9, 0x8b, 0xca, 0x7a, 0xc5, 0x18, 0x29, 0x9a, - 0x97, 0xfe, 0xfe, 0xe1, 0xf7, 0x6f, 0xb2, 0x35, 0xa8, 0xa6, 0x2b, 0x12, 0x88, 0xb2, 0xab, 0x8a, - 0xa6, 0x68, 0x8a, 0xfe, 0x9b, 0x02, 0xf9, 0xb6, 0x4b, 0xc3, 0x90, 0xa8, 0x90, 0x7d, 0xcc, 0x4e, - 0x10, 0x50, 0xce, 0x10, 0x8f, 0xa4, 0x0a, 0x19, 0xc7, 0x96, 0x28, 0x32, 0x8e, 0x4d, 0x96, 0x20, - 0x4f, 0xed, 0xbe, 0xe3, 0x21, 0x88, 0xb2, 0x11, 0x09, 0x64, 0x0d, 0x0a, 0x7d, 0xc6, 0xa9, 0x4d, - 0x39, 0x45, 0x10, 0x45, 0x23, 0x91, 0xc9, 0x06, 0x90, 0x88, 0x63, 0x93, 0x9f, 0x0c, 0x98, 0x19, - 0xe1, 0xd0, 0xf2, 0xe8, 0xa5, 0x5a, 0x09, 0x2b, 0x2d, 0xd4, 0x37, 0x3f, 0x46, 0xc4, 0x1f, 0xc0, - 0x1c, 0x22, 0x51, 0x15, 0x52, 0x10, 0x00, 0x04, 0x50, 0x52, 0x94, 0xa5, 0xd5, 0x0c, 0x59, 0x99, - 0x96, 0x53, 0xcd, 0x6a, 0x19, 0xfd, 0x4b, 0x28, 0x61, 0x2b, 0x3b, 0x61, 0x38, 0x64, 0x01, 0xf9, - 0x1f, 0x14, 0x2d, 0x21, 0x9a, 0xa3, 0xb6, 0x0a, 0xa8, 0xb8, 0xcd, 0x4e, 0xc8, 0x0a, 0xcc, 0x3a, - 0xe8, 0x86, 0xfd, 0x95, 0x0d, 0x29, 0x35, 0xcf, 0x23, 0x86, 0x15, 0x20, 0xa0, 0x26, 0xc1, 0x1b, - 0xd2, 0x33, 0xab, 0xff, 0x98, 0x81, 0xb9, 0xbd, 0xc0, 0x7f, 0xc4, 0x2c, 0xfe, 0xda, 0x7c, 0xa5, - 0x60, 0xe5, 0x26, 0x60, 0xe9, 0x50, 0x7e, 0x34, 0x0c, 0x9c, 0xd0, 0x76, 0x2c, 0x1c, 0x8f, 0x88, - 0xaa, 0x94, 0x2e, 0x45, 0xf8, 0xec, 0x04, 0xe1, 0x6f, 0x40, 0x39, 0x60, 0x0f, 0x59, 0xc0, 0x3c, - 0x8b, 0x99, 0x8e, 0xad, 0xcd, 0xa1, 0xbd, 0x94, 0xe8, 0x76, 0xec, 0xe6, 0x21, 0x76, 0xd8, 0x9b, - 0xc6, 0x32, 0x81, 0xf2, 0x58, 0xd3, 0xb6, 0x9a, 0x19, 0x67, 0x3e, 0x4b, 0xd4, 0x74, 0x72, 0x35, - 0x47, 0xd6, 0x60, 0x65, 0x14, 0x90, 0xb2, 0xe5, 0xb5, 0x9c, 0xfe, 0x4b, 0x16, 0xf2, 0x5b, 0x94, - 0x5b, 0x87, 0x53, 0xb8, 0x3a, 0x85, 0x7f, 0x72, 0x01, 0x4a, 0x83, 0x88, 0x60, 0xe4, 0x27, 0x8b, - 0x11, 0x20, 0x55, 0x82, 0xa1, 0x25, 0xc8, 0xdb, 0xcc, 0xf3, 0xfb, 0x72, 0xd6, 0x22, 0x21, 0xc5, - 0x49, 0x7e, 0x82, 0x93, 0x0f, 0x01, 0x42, 0x4e, 0x03, 0x6e, 0xda, 0x94, 0x33, 0x64, 0xac, 0x74, - 0x63, 0xad, 0x1e, 0xed, 0x6d, 0x3d, 0xde, 0xdb, 0x7a, 0x37, 0xde, 0x5b, 0xa3, 0x88, 0xde, 0xdb, - 0x94, 0x33, 0xf2, 0x3e, 0x14, 0x98, 0x67, 0x47, 0x81, 0x73, 0x2f, 0x0d, 0x9c, 0x63, 0x9e, 0x8d, - 0x61, 0x37, 0xa1, 0x22, 0xda, 0xa1, 0x82, 0x0b, 0x8c, 0x2d, 0xbc, 0x34, 0xb6, 0x1c, 0x07, 0x60, - 0x02, 0x02, 0x39, 0x7f, 0xc0, 0x3c, 0xad, 0x78, 0x51, 0x59, 0x2f, 0x18, 0xf8, 0x9c, 0x9e, 0x1b, - 0x48, 0xcf, 0x4d, 0xf3, 0x01, 0x1e, 0x6a, 0x77, 0x74, 0xa8, 0x25, 0x49, 0x13, 0x9e, 0xeb, 0x7c, - 0x8a, 0x54, 0x35, 0x43, 0xaa, 0xe3, 0x94, 0xa8, 0x59, 0x02, 0xf1, 0x69, 0xa8, 0x39, 0x52, 0x19, - 0xab, 0xa3, 0xe6, 0xb5, 0xbc, 0xfe, 0xb5, 0x02, 0x15, 0xdc, 0xab, 0x7d, 0xf6, 0xd5, 0x50, 0x9c, - 0xef, 0x29, 0x6b, 0xad, 0x4c, 0x5f, 0x6b, 0xf2, 0x26, 0x54, 0x3c, 0x76, 0xcc, 0xcd, 0x50, 0x86, - 0xe3, 0x89, 0xe7, 0x8c, 0xb2, 0x50, 0xc6, 0x29, 0x9b, 0x35, 0x6c, 0x40, 0x83, 0xa5, 0xa9, 0xa9, - 0x67, 0xf5, 0x47, 0x30, 0x2f, 0x17, 0x2f, 0x41, 0x71, 0xe6, 0x7e, 0xbf, 0x52, 0xd1, 0x65, 0x2c, - 0x3a, 0x0f, 0xa5, 0xf1, 0x4c, 0x73, 0xba, 0x07, 0x15, 0x1c, 0xdb, 0xa4, 0xd2, 0xc4, 0x50, 0x2a, - 0x2f, 0x0c, 0xe5, 0x2b, 0x55, 0x5b, 0xc5, 0x6a, 0x0b, 0x50, 0x49, 0x67, 0x2b, 0xe8, 0xff, 0x28, - 0x50, 0xc6, 0x82, 0x5b, 0xd4, 0xa5, 0xb2, 0xb3, 0x9e, 0x90, 0xc7, 0x3b, 0x43, 0x85, 0xa8, 0xa5, - 0xc1, 0x1c, 0xb5, 0xed, 0x80, 0x85, 0xa1, 0x5c, 0x9d, 0x58, 0x24, 0x57, 0x60, 0x9e, 0x07, 0xd4, - 0xa6, 0x3d, 0x97, 0x99, 0xb4, 0xef, 0x0f, 0xbd, 0xf8, 0x73, 0x51, 0x8d, 0xd5, 0x2d, 0xd4, 0x92, - 0xcb, 0x50, 0x0d, 0x18, 0x77, 0x02, 0x66, 0xc7, 0x7e, 0xd1, 0x32, 0x55, 0xa4, 0x56, 0xba, 0x5d, - 0x81, 0x79, 0x16, 0x5a, 0x81, 0xff, 0x64, 0xe4, 0x17, 0xed, 0x56, 0x35, 0x56, 0x47, 0x8e, 0xcd, - 0xf7, 0xb0, 0xb3, 0x3a, 0x2c, 0xc2, 0x82, 0xc4, 0xb2, 0x91, 0xe0, 0x27, 0xcb, 0xb0, 0x90, 0x08, - 0x1b, 0xd2, 0xac, 0x2a, 0x5a, 0x51, 0xff, 0x59, 0x81, 0x52, 0xc4, 0xf3, 0x70, 0x30, 0x70, 0x4f, - 0xce, 0xee, 0x7a, 0x4a, 0x6f, 0x99, 0x57, 0xec, 0x2d, 0x3b, 0xad, 0xb7, 0xab, 0xa0, 0x5a, 0x82, - 0x6b, 0xd7, 0x9d, 0x24, 0x61, 0x3e, 0xd1, 0xcb, 0xee, 0xc6, 0xa6, 0x64, 0x84, 0x0f, 0xf4, 0x21, - 0x54, 0xee, 0x05, 0xce, 0x81, 0xe3, 0x75, 0x8f, 0x77, 0x3c, 0x9b, 0x1d, 0x9f, 0x3d, 0x8f, 0x93, - 0xdf, 0x86, 0x15, 0x98, 0x0d, 0xfd, 0x61, 0x60, 0x31, 0x09, 0x4f, 0x4a, 0xcd, 0x0b, 0x58, 0xec, - 0x1c, 0x2c, 0xc3, 0xe2, 0xf8, 0xab, 0x78, 0x43, 0x3a, 0x97, 0xf4, 0xef, 0x14, 0x39, 0x9d, 0x6d, - 0xdf, 0xe3, 0x01, 0xb5, 0xf8, 0xd9, 0xbc, 0xa5, 0x40, 0x65, 0x26, 0x40, 0xad, 0x41, 0xc1, 0x92, - 0x59, 0x24, 0x8c, 0x44, 0x6e, 0x36, 0x10, 0xc8, 0xd5, 0x54, 0xd7, 0x44, 0x03, 0x32, 0x42, 0x15, - 0xbb, 0xe2, 0x4d, 0xa2, 0xac, 0x7f, 0x04, 0xcb, 0xf8, 0x96, 0x68, 0x07, 0x8c, 0x72, 0x3f, 0x68, - 0xb9, 0xae, 0xff, 0xc4, 0x75, 0x42, 0x2e, 0x06, 0x96, 0x79, 0xe2, 0x84, 0x6c, 0x44, 0x57, 0x30, - 0x62, 0xb1, 0x59, 0xf8, 0x57, 0xd4, 0xc8, 0x14, 0x2a, 0xfa, 0x36, 0x2c, 0x62, 0x00, 0xb3, 0xc7, - 0x73, 0x8c, 0xcf, 0xba, 0x92, 0x9a, 0xf5, 0xe6, 0x22, 0xc2, 0xab, 0x40, 0x71, 0xe4, 0x51, 0xd5, - 0x5b, 0x50, 0xc0, 0xf0, 0x5b, 0x8c, 0x91, 0xeb, 0x90, 0x7d, 0xc8, 0x18, 0x86, 0x95, 0x6e, 0x9c, - 0xab, 0x47, 0xf7, 0xb7, 0xba, 0xb8, 0xdf, 0xd5, 0xe5, 0xfd, 0xae, 0xde, 0xf6, 0x1d, 0xcf, 0x10, - 0x5e, 0x09, 0x90, 0x79, 0xfd, 0x36, 0x10, 0x09, 0x64, 0x2b, 0x70, 0xec, 0x03, 0xd6, 0x3e, 0xa4, - 0x8e, 0x47, 0xfe, 0x0f, 0x60, 0x89, 0x07, 0x13, 0xef, 0x65, 0xd1, 0x8b, 0xae, 0x88, 0x9a, 0x5d, - 0xda, 0x67, 0xcd, 0x15, 0x04, 0xa3, 0x42, 0x39, 0xe5, 0xa6, 0xea, 0x3f, 0x65, 0x60, 0x41, 0xbe, - 0xb5, 0x3a, 0x5e, 0xe0, 0xbb, 0x6e, 0x9f, 0x79, 0xfc, 0xe5, 0x6f, 0x93, 0xd4, 0x99, 0x65, 0x27, - 0xce, 0xac, 0x0d, 0xb3, 0xe2, 0x32, 0x3b, 0x0c, 0x71, 0x5c, 0xab, 0x37, 0xae, 0xd7, 0x5f, 0xbc, - 0xce, 0xd6, 0x5f, 0x28, 0xba, 0x8f, 0x21, 0x86, 0x0c, 0x25, 0x9b, 0xb0, 0x44, 0x07, 0x03, 0xd7, - 0xb1, 0xf0, 0x4a, 0x68, 0x4e, 0x7c, 0x3a, 0x17, 0xc7, 0x6c, 0x77, 0xe3, 0xaf, 0x68, 0x03, 0x16, - 0x59, 0x92, 0xce, 0x9c, 0xb8, 0x80, 0x90, 0x91, 0x29, 0x0e, 0x68, 0xbe, 0x83, 0xa4, 0x5c, 0x83, - 0x55, 0x58, 0x1e, 0x6b, 0x77, 0x23, 0xe9, 0x2c, 0xfd, 0xa1, 0x51, 0xb4, 0x05, 0xbd, 0x0d, 0x20, - 0x81, 0xbf, 0xf6, 0x01, 0x92, 0x6b, 0x7f, 0x29, 0xb0, 0x7a, 0x4a, 0xfb, 0xe4, 0x2a, 0x5c, 0xde, - 0x33, 0xee, 0x7d, 0xd6, 0x69, 0x77, 0xcd, 0xce, 0xae, 0x71, 0xef, 0xce, 0x9d, 0xbb, 0x9d, 0xdd, - 0xae, 0xb9, 0xdf, 0x6d, 0x75, 0xef, 0xef, 0x9b, 0xf7, 0x77, 0xf7, 0xf7, 0x3a, 0xed, 0x9d, 0x5b, - 0x3b, 0x9d, 0x6d, 0x75, 0x86, 0xbc, 0x05, 0xfa, 0xe9, 0xae, 0xad, 0x76, 0xbb, 0xb3, 0xd7, 0xed, - 0x6c, 0xab, 0x0a, 0x69, 0xc0, 0xf5, 0xd3, 0xfd, 0xda, 0x9f, 0xb6, 0x76, 0x3f, 0xe9, 0xec, 0x9b, - 0x46, 0xe7, 0xf3, 0xfb, 0x9d, 0x7d, 0x11, 0x90, 0x39, 0x3b, 0xb1, 0xd1, 0x11, 0x86, 0xce, 0xb6, - 0x9a, 0x25, 0xeb, 0x70, 0xe9, 0x74, 0xbf, 0x6e, 0xc7, 0xb8, 0xbb, 0xb3, 0xdb, 0x12, 0x9e, 0xb9, - 0xad, 0x2f, 0x7e, 0x7d, 0x56, 0x53, 0x9e, 0x3e, 0xab, 0x29, 0x7f, 0x3e, 0xab, 0x29, 0xdf, 0x3e, - 0xaf, 0xcd, 0x3c, 0x7d, 0x5e, 0x9b, 0xf9, 0xe3, 0x79, 0x6d, 0xe6, 0xc1, 0xcd, 0x03, 0x87, 0x1f, - 0x0e, 0x7b, 0x75, 0xcb, 0xef, 0x37, 0x70, 0x4a, 0xde, 0xf6, 0x18, 0x7f, 0xe2, 0x07, 0x8f, 0xa5, - 0xe4, 0x32, 0xfb, 0x80, 0x05, 0x8d, 0xe3, 0xb1, 0x7f, 0x25, 0xfc, 0x01, 0x12, 0x9f, 0xde, 0x50, - 0xfc, 0x06, 0xcd, 0xe2, 0x4d, 0xe5, 0xdd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x14, 0xb3, - 0xd1, 0x53, 0x0d, 0x00, 0x00, + // 1420 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x72, 0xdb, 0x54, + 0x14, 0x8e, 0xfc, 0x93, 0xd8, 0xc7, 0x3f, 0x51, 0x6e, 0xfe, 0xd4, 0x50, 0x9c, 0x22, 0x5a, 0x9a, + 0xb6, 0xc1, 0x26, 0x05, 0x66, 0xc0, 0xcc, 0xd0, 0x71, 0x1c, 0x17, 0x42, 0xdb, 0x34, 0x28, 0xee, + 0x82, 0x6e, 0xcc, 0xb5, 0x74, 0x9b, 0xa8, 0x95, 0x25, 0x23, 0x5d, 0xa7, 0xc9, 0x96, 0x07, 0x60, + 0x58, 0xb1, 0x62, 0x78, 0x02, 0x66, 0x78, 0x01, 0x96, 0x2c, 0x60, 0xd7, 0x19, 0x36, 0x2c, 0x99, + 0xf6, 0x01, 0x98, 0x61, 0x58, 0xb1, 0x62, 0xee, 0xd1, 0x95, 0x2c, 0xb9, 0x49, 0x5a, 0xba, 0xd3, + 0x39, 0xf7, 0xfc, 0x7c, 0xe7, 0x3b, 0xe7, 0x48, 0x57, 0x50, 0xf3, 0xd9, 0x3e, 0x73, 0x1b, 0xcc, + 0xf4, 0x4c, 0x9f, 0x59, 0x36, 0x6f, 0x1c, 0x6e, 0x34, 0x02, 0x4e, 0x39, 0xab, 0x0f, 0x7d, 0x8f, + 0x7b, 0x84, 0xe0, 0x79, 0x3d, 0x3e, 0xaf, 0x1f, 0x6e, 0xac, 0xd4, 0x4c, 0x2f, 0x18, 0x78, 0x41, + 0xa3, 0x4f, 0x03, 0xd6, 0x38, 0xdc, 0xe8, 0x33, 0x4e, 0x37, 0x1a, 0xa6, 0x67, 0xbb, 0xa1, 0xcf, + 0xca, 0xb2, 0x3c, 0xf7, 0xfc, 0x81, 0x08, 0xe7, 0xf9, 0x03, 0x79, 0xb0, 0xba, 0xef, 0x79, 0xfb, + 0x0e, 0x6b, 0xa0, 0xd4, 0x1f, 0x3d, 0x68, 0x70, 0x7b, 0xc0, 0x02, 0x4e, 0x07, 0xc3, 0xd0, 0x40, + 0xff, 0x5e, 0x01, 0x68, 0x63, 0x9e, 0xee, 0xf1, 0x90, 0x11, 0x1d, 0xca, 0xb4, 0xdf, 0xf7, 0xd9, + 0xa1, 0x4d, 0xb9, 0xed, 0xb9, 0x9a, 0x72, 0x41, 0x59, 0x2b, 0x1a, 0x29, 0x1d, 0x21, 0x90, 0x73, + 0xe9, 0x80, 0x69, 0x19, 0x3c, 0xc3, 0x67, 0xa1, 0x1b, 0xb9, 0x36, 0xd7, 0xb2, 0xa1, 0x4e, 0x3c, + 0x93, 0xf3, 0x50, 0x1c, 0xfa, 0xcc, 0xb4, 0x03, 0x11, 0x28, 0x77, 0x41, 0x59, 0xab, 0x18, 0x63, + 0x45, 0xf3, 0xe2, 0xdf, 0x3f, 0xfc, 0xfe, 0x4d, 0xb6, 0x06, 0xd5, 0x74, 0x46, 0x02, 0x61, 0x74, + 0x55, 0xd1, 0x14, 0x4d, 0xd1, 0x7f, 0x53, 0x20, 0xdf, 0x76, 0x68, 0x10, 0x10, 0x15, 0xb2, 0x8f, + 0xd8, 0x31, 0x02, 0xca, 0x19, 0xe2, 0x91, 0x54, 0x21, 0x63, 0x5b, 0x12, 0x45, 0xc6, 0xb6, 0xc8, + 0x02, 0xe4, 0xa9, 0x35, 0xb0, 0x5d, 0x04, 0x51, 0x36, 0x42, 0x81, 0xac, 0x40, 0x61, 0xc0, 0x38, + 0xb5, 0x28, 0xa7, 0x08, 0xa2, 0x68, 0xc4, 0x32, 0x59, 0x07, 0x12, 0x72, 0xdc, 0xe3, 0xc7, 0x43, + 0xd6, 0x0b, 0x71, 0x68, 0x79, 0xb4, 0x52, 0xcd, 0x98, 0x95, 0x16, 0xea, 0x9b, 0x1f, 0x23, 0xe2, + 0x0f, 0x60, 0x06, 0x91, 0xa8, 0x0a, 0x29, 0x08, 0x00, 0x02, 0x28, 0x29, 0xca, 0xd4, 0x6a, 0x86, + 0x2c, 0x9d, 0x14, 0x53, 0xcd, 0x6a, 0x19, 0xfd, 0x4b, 0x28, 0x61, 0x29, 0xdb, 0x41, 0x30, 0x62, + 0x3e, 0x79, 0x0d, 0x8a, 0xa6, 0x10, 0x7b, 0xe3, 0xb2, 0x0a, 0xa8, 0xb8, 0xc5, 0x8e, 0xc9, 0x12, + 0x4c, 0xdb, 0x68, 0x86, 0xf5, 0x95, 0x0d, 0x29, 0x35, 0xcf, 0x23, 0x86, 0x25, 0x20, 0xa0, 0xc6, + 0xce, 0xeb, 0xd2, 0x32, 0xab, 0xff, 0x94, 0x81, 0x99, 0x5d, 0xdf, 0x7b, 0xc8, 0x4c, 0xfe, 0xca, + 0x7c, 0xad, 0x26, 0x61, 0x09, 0xc2, 0x72, 0x9b, 0x19, 0x4d, 0x49, 0x40, 0xd3, 0xa1, 0xfc, 0x70, + 0xe4, 0xdb, 0x81, 0x65, 0x9b, 0x38, 0x22, 0x21, 0x5d, 0x29, 0x5d, 0x8a, 0xf4, 0xe9, 0x09, 0xd2, + 0xdf, 0x80, 0xb2, 0xcf, 0x1e, 0x30, 0x9f, 0xb9, 0x26, 0xeb, 0xd9, 0x96, 0x36, 0x83, 0xe7, 0xa5, + 0x58, 0xb7, 0x6d, 0x35, 0x0f, 0xb0, 0xca, 0xfe, 0x49, 0x4c, 0x13, 0x28, 0x27, 0x0a, 0xb7, 0xd4, + 0x4c, 0x92, 0xfd, 0x2c, 0x51, 0xd3, 0xc1, 0xd5, 0x1c, 0x59, 0x81, 0xa5, 0xb1, 0x43, 0xea, 0x2c, + 0xaf, 0xe5, 0xf4, 0x5f, 0xb2, 0x90, 0xdf, 0xa4, 0xdc, 0x3c, 0x38, 0x81, 0xaf, 0x53, 0x7a, 0x40, + 0x56, 0xa1, 0x34, 0x0c, 0x49, 0x46, 0x8e, 0xb2, 0xe8, 0x01, 0x52, 0x25, 0x18, 0x5a, 0x80, 0xbc, + 0xc5, 0x5c, 0x6f, 0x20, 0xe7, 0x2d, 0x14, 0x52, 0x9c, 0xe4, 0x27, 0x38, 0xf9, 0x10, 0x20, 0xe0, + 0xd4, 0xe7, 0x3d, 0x8b, 0x72, 0x86, 0x8c, 0x95, 0xae, 0xaf, 0xd4, 0xc3, 0xdd, 0xad, 0x47, 0xbb, + 0x5b, 0xef, 0x46, 0xbb, 0x6b, 0x14, 0xd1, 0x7a, 0x8b, 0x72, 0x46, 0xde, 0x87, 0x02, 0x73, 0xad, + 0xd0, 0x71, 0xe6, 0x85, 0x8e, 0x33, 0xcc, 0xb5, 0xd0, 0xed, 0x06, 0x54, 0x44, 0x39, 0x54, 0x70, + 0x81, 0xbe, 0x85, 0x17, 0xfa, 0x96, 0x23, 0x07, 0x0c, 0x40, 0x20, 0xe7, 0x0d, 0x99, 0xab, 0x15, + 0x2f, 0x28, 0x6b, 0x05, 0x03, 0x9f, 0xd3, 0x23, 0x0d, 0xe9, 0x91, 0x6e, 0xde, 0xc7, 0xa6, 0x76, + 0xc7, 0x4d, 0x2d, 0x49, 0x9a, 0xb0, 0xaf, 0xb3, 0x29, 0x52, 0xd5, 0x0c, 0xa9, 0x26, 0x29, 0x51, + 0xb3, 0x04, 0xa2, 0x6e, 0xa8, 0x39, 0x52, 0x49, 0xe4, 0x51, 0xf3, 0x5a, 0x5e, 0xff, 0x5a, 0x81, + 0x0a, 0xee, 0xd6, 0x1e, 0xfb, 0x6a, 0x24, 0xfa, 0x7b, 0xca, 0x6a, 0x2b, 0x27, 0xaf, 0x36, 0x79, + 0x13, 0x2a, 0x2e, 0x3b, 0xe2, 0xbd, 0x40, 0xba, 0x63, 0xc7, 0x73, 0x46, 0x59, 0x28, 0xa3, 0x90, + 0xcd, 0x1a, 0x16, 0xa0, 0xc1, 0xc2, 0x89, 0xa1, 0xa7, 0x75, 0x07, 0x66, 0xe5, 0xf2, 0xc5, 0x28, + 0xce, 0xdc, 0xf1, 0x97, 0x4a, 0xba, 0x8c, 0x49, 0x67, 0xa1, 0x94, 0x8c, 0x34, 0xa3, 0x29, 0xba, + 0x0b, 0x15, 0x1c, 0xdc, 0x38, 0xd7, 0xc4, 0x58, 0x2a, 0xcf, 0x8d, 0xe5, 0xff, 0xc8, 0x37, 0x07, + 0x95, 0x74, 0xb4, 0x82, 0xfe, 0x8f, 0x02, 0x65, 0x4c, 0xb8, 0x49, 0x1d, 0x2a, 0x6b, 0xeb, 0x0b, + 0x39, 0x59, 0x1b, 0x2a, 0x44, 0x2e, 0x0d, 0x66, 0xa8, 0x65, 0xf9, 0x2c, 0x08, 0xe4, 0xf2, 0x44, + 0x22, 0xb9, 0x0c, 0xb3, 0xdc, 0xa7, 0x16, 0xed, 0x3b, 0xac, 0x47, 0x07, 0xde, 0xc8, 0x8d, 0x3e, + 0x1a, 0xd5, 0x48, 0xdd, 0x42, 0x2d, 0xb9, 0x04, 0x55, 0x9f, 0x71, 0xdb, 0x67, 0x56, 0x64, 0x17, + 0xae, 0x53, 0x45, 0x6a, 0xa5, 0xd9, 0x65, 0x98, 0x65, 0x81, 0xe9, 0x7b, 0x8f, 0xc7, 0x76, 0xe1, + 0x76, 0x55, 0x23, 0x75, 0x68, 0xd8, 0x7c, 0x0f, 0x2b, 0xab, 0xc3, 0x3c, 0xcc, 0x49, 0x2c, 0xeb, + 0x31, 0x7e, 0xb2, 0x08, 0x73, 0xb1, 0xb0, 0x2e, 0x8f, 0x55, 0x45, 0x2b, 0xea, 0x3f, 0x2b, 0x50, + 0x0a, 0x79, 0x1e, 0x0d, 0x87, 0xce, 0xf1, 0xd9, 0x55, 0x9f, 0x50, 0x5b, 0xe6, 0x25, 0x6b, 0xcb, + 0x9e, 0x54, 0xdb, 0x15, 0x50, 0x4d, 0xc1, 0xb5, 0xe3, 0x4c, 0x92, 0x30, 0x1b, 0xeb, 0x65, 0x75, + 0x8b, 0xe3, 0x39, 0x19, 0xe3, 0x03, 0x7d, 0x04, 0x95, 0xbb, 0xbe, 0xbd, 0x6f, 0xbb, 0xdd, 0xa3, + 0x6d, 0xd7, 0x62, 0x47, 0x67, 0x4f, 0xe4, 0xe4, 0x17, 0x62, 0x09, 0xa6, 0x03, 0x6f, 0xe4, 0x9b, + 0x4c, 0xc2, 0x93, 0x52, 0x73, 0x15, 0x93, 0x9d, 0x83, 0x45, 0x98, 0x4f, 0xbe, 0x8c, 0xd7, 0xa5, + 0x71, 0x49, 0xff, 0x4e, 0x91, 0xd3, 0xd9, 0xf6, 0x5c, 0xee, 0x53, 0x93, 0x9f, 0xcd, 0x5b, 0x0a, + 0x54, 0x66, 0x02, 0xd4, 0x0a, 0x14, 0x4c, 0x19, 0x45, 0xc2, 0x88, 0xe5, 0x66, 0x03, 0x81, 0x5c, + 0x49, 0x55, 0x4d, 0x34, 0x20, 0x63, 0x54, 0x91, 0x29, 0xde, 0x27, 0xca, 0xfa, 0x47, 0xb0, 0x88, + 0xef, 0x89, 0xb6, 0xcf, 0x28, 0xf7, 0xfc, 0x96, 0xe3, 0x78, 0x8f, 0x1d, 0x3b, 0xe0, 0x62, 0x60, + 0x99, 0x2b, 0x3a, 0x64, 0x21, 0xba, 0x82, 0x11, 0x89, 0xcd, 0xc2, 0xbf, 0x22, 0x47, 0xa6, 0x50, + 0xd1, 0xb7, 0x60, 0x1e, 0x1d, 0x98, 0x95, 0x8c, 0x91, 0x9c, 0x75, 0x25, 0x35, 0xeb, 0xcd, 0x79, + 0x84, 0x57, 0x81, 0xe2, 0xd8, 0xa2, 0xaa, 0xb7, 0xa0, 0x80, 0xee, 0x37, 0x19, 0x23, 0xd7, 0x20, + 0xfb, 0x80, 0x31, 0x74, 0x2b, 0x5d, 0x3f, 0x57, 0x0f, 0x6f, 0x71, 0x75, 0x71, 0xcb, 0xab, 0xcb, + 0x5b, 0x5e, 0xbd, 0xed, 0xd9, 0xae, 0x21, 0xac, 0x62, 0x20, 0xb3, 0xfa, 0x2d, 0x20, 0x12, 0xc8, + 0xa6, 0x6f, 0x5b, 0xfb, 0xac, 0x7d, 0x40, 0x6d, 0x97, 0xbc, 0x0e, 0x60, 0x8a, 0x87, 0x1e, 0xde, + 0xce, 0xc2, 0x57, 0x5d, 0x11, 0x35, 0x3b, 0x74, 0xc0, 0x9a, 0x4b, 0x08, 0x46, 0x85, 0x72, 0xca, + 0x4c, 0xd5, 0x7f, 0xcc, 0xc0, 0x9c, 0x7c, 0x6f, 0x75, 0x5c, 0xdf, 0x73, 0x9c, 0x01, 0x73, 0xf9, + 0x8b, 0xdf, 0x26, 0xa9, 0x9e, 0x65, 0x27, 0x7a, 0xd6, 0x86, 0x69, 0x71, 0xa5, 0x1d, 0x05, 0x38, + 0xae, 0xd5, 0xeb, 0xd7, 0xea, 0xcf, 0x5f, 0x6a, 0xeb, 0xcf, 0x25, 0xdd, 0x43, 0x17, 0x43, 0xba, + 0x92, 0x0d, 0x58, 0xa0, 0xc3, 0xa1, 0x63, 0x9b, 0x78, 0x31, 0xec, 0x4d, 0x7c, 0x3c, 0xe7, 0x13, + 0x67, 0x77, 0xa2, 0xef, 0x68, 0x03, 0xe6, 0x59, 0x1c, 0xae, 0x37, 0x71, 0x05, 0x21, 0xe3, 0xa3, + 0xc8, 0xa1, 0xf9, 0x0e, 0x92, 0x72, 0x15, 0x96, 0x61, 0x31, 0x51, 0xee, 0x7a, 0x5c, 0x59, 0xfa, + 0x53, 0xa3, 0x68, 0x73, 0x7a, 0x1b, 0x40, 0x02, 0x7f, 0xe5, 0x06, 0x92, 0xab, 0x7f, 0x29, 0xb0, + 0x7c, 0x4a, 0xf9, 0xe4, 0x0a, 0x5c, 0xda, 0x35, 0xee, 0x7e, 0xd6, 0x69, 0x77, 0x7b, 0x9d, 0x1d, + 0xe3, 0xee, 0xed, 0xdb, 0x77, 0x3a, 0x3b, 0xdd, 0xde, 0x5e, 0xb7, 0xd5, 0xbd, 0xb7, 0xd7, 0xbb, + 0xb7, 0xb3, 0xb7, 0xdb, 0x69, 0x6f, 0xdf, 0xdc, 0xee, 0x6c, 0xa9, 0x53, 0xe4, 0x2d, 0xd0, 0x4f, + 0x37, 0x6d, 0xb5, 0xdb, 0x9d, 0xdd, 0x6e, 0x67, 0x4b, 0x55, 0x48, 0x03, 0xae, 0x9d, 0x6e, 0xd7, + 0xfe, 0xb4, 0xb5, 0xf3, 0x49, 0x67, 0xaf, 0x67, 0x74, 0x3e, 0xbf, 0xd7, 0xd9, 0x13, 0x0e, 0x99, + 0xb3, 0x03, 0x1b, 0x1d, 0x71, 0xd0, 0xd9, 0x52, 0xb3, 0x64, 0x0d, 0x2e, 0x9e, 0x6e, 0xd7, 0xed, + 0x18, 0x77, 0xb6, 0x77, 0x5a, 0xc2, 0x32, 0xb7, 0xf9, 0xc5, 0xaf, 0x4f, 0x6b, 0xca, 0x93, 0xa7, + 0x35, 0xe5, 0xcf, 0xa7, 0x35, 0xe5, 0xdb, 0x67, 0xb5, 0xa9, 0x27, 0xcf, 0x6a, 0x53, 0x7f, 0x3c, + 0xab, 0x4d, 0xdd, 0xbf, 0xb1, 0x6f, 0xf3, 0x83, 0x51, 0xbf, 0x6e, 0x7a, 0x83, 0x06, 0x4e, 0xc9, + 0xdb, 0x2e, 0xe3, 0x8f, 0x3d, 0xff, 0x91, 0x94, 0x1c, 0x66, 0xed, 0x33, 0xbf, 0x71, 0x94, 0xf8, + 0x63, 0xc2, 0xdf, 0x20, 0xf1, 0xf1, 0x0d, 0xc4, 0xcf, 0xd0, 0x34, 0xde, 0x55, 0xde, 0xfd, 0x2f, + 0x00, 0x00, 0xff, 0xff, 0x42, 0x03, 0x26, 0x56, 0x59, 0x0d, 0x00, 0x00, } func (m *CreditType) Marshal() (dAtA []byte, err error) { From 2e523c80a934a20795e9881f151e1ace6a72eef3 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 21 Feb 2024 15:00:29 -0500 Subject: [PATCH 029/112] update logic --- .../msg_create_or_update_application.go | 27 ++++++++++++++-- .../keeper/msg_update_project_enrollment.go | 32 +++++++++++++------ 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application.go b/x/ecocredit/base/keeper/msg_create_or_update_application.go index 36bb1ce21b..b269ae49e4 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application.go @@ -32,8 +32,14 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre return nil, err } + action := types.EventUpdateApplication_ACTION_UPDATE enrollment, err := k.stateStore.ProjectEnrollmentTable().Get(ctx, proj.Key, class.Key) if ormerrors.IsNotFound(err) { + if msg.Withdraw { + return nil, sdkerrors.ErrInvalidRequest.Wrapf("cannot withdraw non-existent application") + } + + action = types.EventUpdateApplication_ACTION_CREATE enrollment = &ecocreditv1.ProjectEnrollment{ ProjectKey: proj.Key, ClassKey: class.Key, @@ -43,9 +49,26 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre return nil, err } - enrollment.ApplicationMetadata = msg.Metadata + if msg.Withdraw { + action = types.EventUpdateApplication_ACTION_WITHDRAW + if err := k.stateStore.ProjectEnrollmentTable().Delete(ctx, enrollment); err != nil { + return nil, err + } + } else { + enrollment.ApplicationMetadata = msg.Metadata - if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + return nil, err + } + } + + err = sdk.UnwrapSDKContext(ctx).EventManager().EmitTypedEvent(&types.EventUpdateApplication{ + ProjectId: proj.Id, + ClassId: class.Id, + Action: action, + NewApplicationMetadata: msg.Metadata, + }) + if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go index 2793026ef5..e1842cca85 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -38,6 +38,7 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat existingStatus := enrollment.Status newStatus := ecocreditv1.ProjectEnrollmentStatus(msg.NewStatus) + delete := false switch existingStatus { case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED: @@ -46,21 +47,16 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: // Valid case break + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED: + delete = true + break default: return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) } case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: switch newStatus { case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: - // Valid case - break - default: - return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) - } - case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: - switch newStatus { - case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: - // Valid case + delete = true break default: return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) @@ -72,7 +68,23 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat enrollment.Status = newStatus enrollment.EnrollmentMetadata = msg.Metadata - if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + if delete { + if err := k.stateStore.ProjectEnrollmentTable().Delete(ctx, enrollment); err != nil { + return nil, err + } + + } else { + if err := k.stateStore.ProjectEnrollmentTable().Save(ctx, enrollment); err != nil { + return nil, err + } + } + + if err := sdk.UnwrapSDKContext(ctx).EventManager().EmitTypedEvent(&types.EventUpdateProjectEnrollment{ + ProjectId: proj.Id, + ClassId: class.Id, + NewStatus: types.ProjectEnrollmentStatus(newStatus), + NewEnrollmentMetadata: msg.Metadata, + }); err != nil { return nil, err } From 53fbaf6898d5ce9d7bc63b37c3fced8fe863e967 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 21 Feb 2024 15:12:09 -0500 Subject: [PATCH 030/112] add fee logic --- x/ecocredit/base/keeper/fees.go | 87 +++++++++++++++++++ x/ecocredit/base/keeper/msg_create_class.go | 64 +------------- x/ecocredit/base/keeper/msg_create_project.go | 5 +- .../keeper/msg_create_unregistered_project.go | 5 +- 4 files changed, 98 insertions(+), 63 deletions(-) create mode 100644 x/ecocredit/base/keeper/fees.go diff --git a/x/ecocredit/base/keeper/fees.go b/x/ecocredit/base/keeper/fees.go new file mode 100644 index 0000000000..17d1db40ea --- /dev/null +++ b/x/ecocredit/base/keeper/fees.go @@ -0,0 +1,87 @@ +package keeper + +import ( + "context" + + basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + regentypes "github.com/regen-network/regen-ledger/types/v2" + "github.com/regen-network/regen-ledger/x/ecocredit/v3" +) + +func (k Keeper) deductFee(ctx context.Context, payer sdk.AccAddress, fee *sdk.Coin, minFee *basev1beta1.Coin) error { + if minFee == nil { + return nil + } + + requiredFee, ok := regentypes.ProtoCoinToCoin(minFee) + if !ok { + return sdkerrors.ErrInvalidType.Wrap("fee") + } + + if requiredFee.IsZero() { + return nil + } + + // check if fee is empty + if fee == nil { + return sdkerrors.ErrInsufficientFee.Wrapf( + "fee cannot be empty: must be %s", requiredFee, + ) + } + + // check if fee is the correct denom + if fee.Denom != requiredFee.Denom { + return sdkerrors.ErrInsufficientFee.Wrapf( + "fee must be %s, got %s", requiredFee, fee, + ) + } + + // check if fee is greater than or equal to required fee + if !fee.IsGTE(requiredFee) { + return sdkerrors.ErrInsufficientFee.Wrapf( + "fee must be %s, got %s", requiredFee, fee, + ) + } + + sdkCtx := sdk.UnwrapSDKContext(ctx) + // check payer balance against required fee + payerBalance := k.bankKeeper.GetBalance(sdkCtx, payer, requiredFee.Denom) + if payerBalance.IsNil() || payerBalance.IsLT(requiredFee) { + return sdkerrors.ErrInsufficientFunds.Wrapf( + "insufficient balance %s for bank denom %s", payerBalance.Amount, requiredFee.Denom, + ) + } + + feeCoins := sdk.Coins{requiredFee} + + err := k.bankKeeper.SendCoinsFromAccountToModule(sdkCtx, payer, ecocredit.ModuleName, feeCoins) + if err != nil { + return err + } + + if requiredFee.Denom == "uregen" { + err = k.bankKeeper.BurnCoins(sdkCtx, ecocredit.ModuleName, feeCoins) + if err != nil { + return err + } + } + + return nil +} + +func (k Keeper) deductCreateProjectFee(ctx context.Context, address sdk.AccAddress, fee *sdk.Coin) error { + projectFee, err := k.stateStore.ProjectFeeTable().Get(ctx) + if ormerrors.IsNotFound(err) { + // no fee set, so no fee to deduct + return nil + } + if err != nil { + return err + } + + return k.deductFee(ctx, address, fee, projectFee.Fee) +} diff --git a/x/ecocredit/base/keeper/msg_create_class.go b/x/ecocredit/base/keeper/msg_create_class.go index ed33bf619f..17538390f9 100644 --- a/x/ecocredit/base/keeper/msg_create_class.go +++ b/x/ecocredit/base/keeper/msg_create_class.go @@ -8,7 +8,6 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" - regentypes "github.com/regen-network/regen-ledger/types/v2" "github.com/regen-network/regen-ledger/x/ecocredit/v3" "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" @@ -35,51 +34,9 @@ func (k Keeper) CreateClass(goCtx context.Context, req *types.MsgCreateClass) (* return nil, err } - // only check and charge fee if required fee is set - if classFee.Fee != nil { - - requiredFee, ok := regentypes.ProtoCoinToCoin(classFee.Fee) - if !ok { - return nil, sdkerrors.ErrInvalidType.Wrap("class fee") - } - - // check if fee is empty - if req.Fee == nil { - return nil, sdkerrors.ErrInsufficientFee.Wrapf( - "fee cannot be empty: must be %s", requiredFee, - ) - } - - // check if fee is the correct denom - if req.Fee.Denom != requiredFee.Denom { - return nil, sdkerrors.ErrInsufficientFee.Wrapf( - "fee must be %s, got %s", requiredFee, req.Fee, - ) - } - - // check if fee is greater than or equal to required fee - if !req.Fee.IsGTE(requiredFee) { - return nil, sdkerrors.ErrInsufficientFee.Wrapf( - "fee must be %s, got %s", requiredFee, req.Fee, - ) - } - - // check admin balance against required fee - adminBalance := k.bankKeeper.GetBalance(sdkCtx, adminAddress, requiredFee.Denom) - if adminBalance.IsNil() || adminBalance.IsLT(requiredFee) { - return nil, sdkerrors.ErrInsufficientFunds.Wrapf( - "insufficient balance %s for bank denom %s", adminBalance.Amount, requiredFee.Denom, - ) - } - - // convert required fee to multiple coins for processing - requiredFees := sdk.Coins{requiredFee} - - // send coins from account to module and then burn the coins - err = k.chargeCreditClassFee(sdkCtx, adminAddress, requiredFees) - if err != nil { - return nil, err - } + err = k.deductFee(goCtx, adminAddress, req.Fee, classFee.Fee) + if err != nil { + return nil, err } creditType, err := k.stateStore.CreditTypeTable().Get(goCtx, req.CreditTypeAbbrev) @@ -159,18 +116,3 @@ func (k Keeper) assertCanCreateClass(ctx context.Context, adminAddress sdk.AccAd } return nil } - -func (k Keeper) chargeCreditClassFee(ctx sdk.Context, creatorAddr sdk.AccAddress, creditClassFee sdk.Coins) error { - // Move the fee to the ecocredit module's account - err := k.bankKeeper.SendCoinsFromAccountToModule(ctx, creatorAddr, ecocredit.ModuleName, creditClassFee) - if err != nil { - return err - } - - err = k.bankKeeper.BurnCoins(ctx, ecocredit.ModuleName, creditClassFee) - if err != nil { - return err - } - - return nil -} diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index a206443c18..088e4a0047 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -24,7 +24,10 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) return nil, err } - // TODO deduct fee + err = k.deductCreateProjectFee(ctx, adminAddress, req.Fee) + if err != nil { + return nil, err + } err = k.assertClassIssuer(ctx, classInfo.Key, adminAddress) if err != nil { diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project.go b/x/ecocredit/base/keeper/msg_create_unregistered_project.go index 0043507773..222f835b70 100644 --- a/x/ecocredit/base/keeper/msg_create_unregistered_project.go +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project.go @@ -14,7 +14,10 @@ func (k Keeper) CreateUnregisteredProject(ctx context.Context, msg *types.MsgCre return nil, err } - // TODO deduct fee + err = k.deductCreateProjectFee(ctx, admin, msg.Fee) + if err != nil { + return nil, err + } project, projectID, err := k.createNewProject(ctx) if err != nil { From 5faccb5ec495c37d8b18d6ec0476a96700355d05 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 21 Feb 2024 15:25:24 -0500 Subject: [PATCH 031/112] refactoring --- api/regen/data/v1/query.pulsar.go | 94 +- api/regen/data/v2/query.pulsar.go | 94 +- api/regen/ecocredit/basket/v1/query.pulsar.go | 48 +- .../ecocredit/marketplace/v1/query.pulsar.go | 42 +- api/regen/ecocredit/v1/query.pulsar.go | 885 +++++++++--------- api/regen/ecocredit/v1/state.pulsar.go | 4 +- proto/regen/ecocredit/v1/query.proto | 5 +- x/ecocredit/base/keeper/msg_create_batch.go | 4 +- .../base/keeper/msg_mint_batch_credits.go | 2 +- x/ecocredit/base/keeper/query_project_info.go | 6 - x/ecocredit/base/keeper/query_projects.go | 6 - .../base/keeper/query_projects_by_admin.go | 6 - .../base/keeper/query_projects_by_class.go | 13 +- x/ecocredit/base/types/v1/query.pb.go | 331 +++---- 14 files changed, 762 insertions(+), 778 deletions(-) diff --git a/api/regen/data/v1/query.pulsar.go b/api/regen/data/v1/query.pulsar.go index b106f7cd99..a0287b6c26 100644 --- a/api/regen/data/v1/query.pulsar.go +++ b/api/regen/data/v1/query.pulsar.go @@ -13729,11 +13729,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x6f, 0x72, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, - 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, - 0x72, 0x69, 0x7d, 0x5a, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x5a, + 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, + 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, + 0x72, 0x69, 0x7d, 0x12, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, @@ -13741,11 +13741,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x44, 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, - 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x22, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0xee, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65, + 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, + 0x6f, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, + 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xee, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, @@ -13754,12 +13754,12 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x67, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, + 0x67, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x7d, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, @@ -13768,11 +13768,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x53, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x5a, 0x27, 0x12, - 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x72, 0x69, + 0x93, 0x02, 0x53, 0x5a, 0x27, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0x28, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xca, 0x01, 0x0a, 0x12, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, @@ -13781,21 +13781,21 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x23, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x25, 0x22, 0x20, + 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x5a, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x23, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, - 0x3a, 0x01, 0x2a, 0x12, 0x9c, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x9c, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3f, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x93, 0x02, 0x3f, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, @@ -13803,11 +13803,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x5a, 0x24, 0x12, 0x22, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, + 0xe4, 0x93, 0x02, 0x4d, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, + 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, @@ -13815,11 +13815,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x22, 0x1d, 0x2f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xb6, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, @@ -13827,11 +13827,11 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x22, 0x1f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x75, - 0x72, 0x6c, 0x3a, 0x01, 0x2a, 0x5a, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x47, 0x3a, 0x01, 0x2a, 0x5a, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x73, 0x2f, 0x75, 0x72, 0x6c, 0x22, 0x1f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, - 0x73, 0x2f, 0x75, 0x72, 0x6c, 0x3a, 0x01, 0x2a, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x75, 0x72, 0x6c, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x52, 0x49, 0x54, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x52, 0x49, 0x54, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, @@ -13847,10 +13847,10 @@ var file_regen_data_v1_query_proto_rawDesc = []byte{ 0x68, 0x54, 0x6f, 0x49, 0x52, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x54, 0x6f, 0x49, 0x52, 0x49, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22, 0x22, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x2d, 0x74, 0x6f, 0x2d, 0x69, - 0x72, 0x69, 0x3a, 0x01, 0x2a, 0x42, 0xb5, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, + 0x2a, 0x22, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x2d, 0x74, + 0x6f, 0x2d, 0x69, 0x72, 0x69, 0x42, 0xb5, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, diff --git a/api/regen/data/v2/query.pulsar.go b/api/regen/data/v2/query.pulsar.go index bf23e4dab2..c26cad98bb 100644 --- a/api/regen/data/v2/query.pulsar.go +++ b/api/regen/data/v2/query.pulsar.go @@ -13729,11 +13729,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x6f, 0x72, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, - 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, - 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, - 0x72, 0x69, 0x7d, 0x5a, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x5a, + 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, + 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, + 0x72, 0x69, 0x7d, 0x12, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x0c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, @@ -13741,11 +13741,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x44, 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, - 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x22, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, 0xee, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65, + 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, + 0x6f, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x2d, + 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xee, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, @@ -13754,12 +13754,12 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x67, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, - 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, + 0x67, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x7d, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2f, 0x7b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x11, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, @@ -13768,11 +13768,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x53, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x5a, 0x27, 0x12, - 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, - 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x69, 0x72, 0x69, + 0x93, 0x02, 0x53, 0x5a, 0x27, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0x28, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xca, 0x01, 0x0a, 0x12, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, @@ -13781,21 +13781,21 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x23, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x25, 0x22, 0x20, + 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x5a, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x23, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, - 0x3a, 0x01, 0x2a, 0x12, 0x9c, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x9c, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3f, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x93, 0x02, 0x3f, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, @@ -13803,11 +13803,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x49, 0x52, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x5a, 0x24, 0x12, 0x22, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, + 0xe4, 0x93, 0x02, 0x4d, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, + 0x2f, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0x25, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x72, 0x69, 0x2f, 0x7b, 0x69, 0x72, 0x69, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, @@ -13815,11 +13815,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x22, 0x1d, 0x2f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x12, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x12, 0xb6, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x55, 0x52, 0x4c, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, @@ -13827,11 +13827,11 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x42, 0x79, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x22, 0x1f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, - 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x75, - 0x72, 0x6c, 0x3a, 0x01, 0x2a, 0x5a, 0x21, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x47, 0x3a, 0x01, 0x2a, 0x5a, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x72, 0x73, 0x2f, 0x75, 0x72, 0x6c, 0x22, 0x1f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x72, - 0x73, 0x2f, 0x75, 0x72, 0x6c, 0x3a, 0x01, 0x2a, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x75, 0x72, 0x6c, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x52, 0x49, 0x54, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x49, 0x52, 0x49, 0x54, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, @@ -13847,10 +13847,10 @@ var file_regen_data_v2_query_proto_rawDesc = []byte{ 0x68, 0x54, 0x6f, 0x49, 0x52, 0x49, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x48, 0x61, 0x73, 0x68, 0x54, 0x6f, 0x49, 0x52, 0x49, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22, 0x22, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x2d, 0x74, 0x6f, 0x2d, 0x69, - 0x72, 0x69, 0x3a, 0x01, 0x2a, 0x42, 0xb5, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, + 0x2a, 0x22, 0x22, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, + 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x2d, 0x68, 0x61, 0x73, 0x68, 0x2d, 0x74, + 0x6f, 0x2d, 0x69, 0x72, 0x69, 0x42, 0xb5, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, diff --git a/api/regen/ecocredit/basket/v1/query.pulsar.go b/api/regen/ecocredit/basket/v1/query.pulsar.go index dbc4d63fa6..baca20c0b8 100644 --- a/api/regen/ecocredit/basket/v1/query.pulsar.go +++ b/api/regen/ecocredit/basket/v1/query.pulsar.go @@ -7146,12 +7146,12 @@ var file_regen_ecocredit_basket_v1_query_proto_rawDesc = []byte{ 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, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, 0x30, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x33, 0x12, 0x31, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, + 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x5a, 0x33, 0x12, 0x31, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x73, + 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x30, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x62, 0x61, 0x73, 0x6b, 0x65, @@ -7170,15 +7170,15 @@ var file_regen_ecocredit_basket_v1_query_proto_rawDesc = []byte{ 0x36, 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, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x12, - 0x39, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, - 0x65, 0x74, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, - 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x0d, 0x42, 0x61, 0x73, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, + 0x3c, 0x12, 0x3a, 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, 0x2f, 0x62, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x39, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, + 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x9a, 0x02, 0x0a, 0x0d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 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, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x6b, @@ -7187,15 +7187,15 @@ var file_regen_ecocredit_basket_v1_query_proto_rawDesc = []byte{ 0x69, 0x74, 0x2e, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x94, - 0x01, 0x12, 0x46, 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, 0x2f, 0x62, 0x61, - 0x73, 0x6b, 0x65, 0x74, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, - 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x4a, 0x12, 0x48, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x01, 0x5a, 0x4a, 0x12, 0x48, 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, 0x2f, + 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, + 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x46, 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, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x9f, 0x01, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x46, 0x65, 0x65, 0x12, 0x30, 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, 0x2e, diff --git a/api/regen/ecocredit/marketplace/v1/query.pulsar.go b/api/regen/ecocredit/marketplace/v1/query.pulsar.go index f0e7e3862d..b23abb8206 100644 --- a/api/regen/ecocredit/marketplace/v1/query.pulsar.go +++ b/api/regen/ecocredit/marketplace/v1/query.pulsar.go @@ -6548,14 +6548,14 @@ var file_regen_ecocredit_marketplace_v1_query_proto_rawDesc = []byte{ 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x12, 0x3a, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x5a, 0x3d, 0x12, 0x3b, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x5a, 0x3d, 0x12, 0x3b, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x3a, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 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, @@ -6577,14 +6577,14 @@ var file_regen_ecocredit_marketplace_v1_query_proto_rawDesc = []byte{ 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x12, 0x42, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x41, 0x12, 0x3f, 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, 0x2f, 0x73, 0x65, - 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, + 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x5a, 0x41, 0x12, 0x3f, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x42, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x9d, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x3e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, @@ -6595,14 +6595,14 @@ var file_regen_ecocredit_marketplace_v1_query_proto_rawDesc = []byte{ 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x42, 0x79, 0x53, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x12, 0x3e, - 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, 0x2f, - 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x73, - 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x7d, 0x5a, 0x3d, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x5a, 0x3d, 0x12, 0x3b, 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, 0x2f, 0x73, 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x65, + 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x7d, 0x12, 0x3e, 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, 0x2f, 0x73, + 0x65, 0x6c, 0x6c, 0x2d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x7b, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x7d, 0x12, 0xbe, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x73, 0x12, 0x39, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index b552a26042..1e86ed95dc 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -31966,8 +31967,9 @@ type ProjectInfo struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin string `protobuf:"bytes,2,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class within which the - // project was created. + // Deprecated: use ProjectEnrollment instead. + // + // Deprecated: Do not use. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // jurisdiction is the jurisdiction of the project. Full documentation can be // found in MsgCreateProject.jurisdiction. @@ -32012,6 +32014,7 @@ func (x *ProjectInfo) GetAdmin() string { return "" } +// Deprecated: Do not use. func (x *ProjectInfo) GetClassId() string { if x != nil { return x.ClassId @@ -33049,474 +33052,474 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, 0x22, 0xb5, 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, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x19, 0x0a, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, - 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 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, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, + 0xbb, 0x02, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 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, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, + 0x61, 0x6e, 0x63, 0x65, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 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, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 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, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, - 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x44, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x20, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 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, 0x22, 0x6c, 0x0a, - 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x69, 0x73, 0x73, + 0x75, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xc6, 0x01, + 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 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, 0x27, 0x0a, + 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x22, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x20, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, + 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, + 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xc1, 0x2a, 0x0a, 0x05, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x7d, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, - 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x22, 0x6c, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x50, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, + 0x87, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, + 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0xc1, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, + 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, + 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x96, 0x01, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, - 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, - 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x7d, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, - 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, - 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, - 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, - 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x5a, 0x2c, - 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x57, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2b, 0x12, - 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, - 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x2e, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x5a, 0x2d, 0x12, - 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, - 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x12, 0x33, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x7d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, + 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, + 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, + 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x2b, - 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0xb2, 0x01, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, - 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x5f, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, + 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, + 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, + 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, + 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, + 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, + 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, - 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x34, 0x12, 0x32, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, - 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x28, 0x2f, 0x72, 0x65, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, + 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, + 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, + 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, + 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, - 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x88, 0x02, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x63, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, - 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, + 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, + 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, + 0x70, 0x6c, 0x79, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, + 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, + 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, + 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, - 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, - 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x88, 0x02, 0x01, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, - 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, + 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, - 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, + 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, - 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, + 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 33a3183de4..4efd9a58ac 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -11241,8 +11241,8 @@ var file_regen_ecocredit_v1_state_proto_rawDesc = []byte{ 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x17, - 0x18, 0x01, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, + 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0f, 0x0a, 0x0b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x07, 0x18, 0x01, 0x22, 0x6e, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x78, diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 1545a73457..41da6dbea0 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -702,9 +702,8 @@ message ProjectInfo { // admin is the admin of the project. string admin = 2; - // class_id is the unique identifier of the credit class within which the - // project was created. - string class_id = 3; + // Deprecated: use ProjectEnrollment instead. + string class_id = 3 [deprecated = true]; // jurisdiction is the jurisdiction of the project. Full documentation can be // found in MsgCreateProject.jurisdiction. diff --git a/x/ecocredit/base/keeper/msg_create_batch.go b/x/ecocredit/base/keeper/msg_create_batch.go index 21723c31f1..96e5123306 100644 --- a/x/ecocredit/base/keeper/msg_create_batch.go +++ b/x/ecocredit/base/keeper/msg_create_batch.go @@ -204,7 +204,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty if req.OriginTx != nil { if err = k.stateStore.OriginTxIndexTable().Insert(ctx, &api.OriginTxIndex{ - ClassKey: project.ClassKey, + ClassKey: class.Key, Id: req.OriginTx.Id, Source: req.OriginTx.Source, }); err != nil { @@ -220,7 +220,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty if len(req.OriginTx.Contract) != 0 { err = k.stateStore.BatchContractTable().Insert(ctx, &api.BatchContract{ BatchKey: batchKey, - ClassKey: project.ClassKey, + ClassKey: class.Key, Contract: req.OriginTx.Contract, }) if err != nil { diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits.go b/x/ecocredit/base/keeper/msg_mint_batch_credits.go index 03cbb304af..5b699b4178 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits.go @@ -34,7 +34,7 @@ func (k Keeper) MintBatchCredits(ctx context.Context, req *types.MsgMintBatchCre } if err = k.stateStore.OriginTxIndexTable().Insert(ctx, &api.OriginTxIndex{ - ClassKey: project.ClassKey, + ClassKey: batch.ClassKey, Id: req.OriginTx.Id, Source: req.OriginTx.Source, }); err != nil { diff --git a/x/ecocredit/base/keeper/query_project_info.go b/x/ecocredit/base/keeper/query_project_info.go index e155dae29a..3a313c5cdb 100644 --- a/x/ecocredit/base/keeper/query_project_info.go +++ b/x/ecocredit/base/keeper/query_project_info.go @@ -18,15 +18,9 @@ func (k Keeper) Project(ctx context.Context, request *types.QueryProjectRequest) admin := sdk.AccAddress(project.Admin) - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) - if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("could not get class with key %d: %s", project.ClassKey, err.Error()) - } - info := types.ProjectInfo{ Id: project.Id, Admin: admin.String(), - ClassId: class.Id, Jurisdiction: project.Jurisdiction, Metadata: project.Metadata, ReferenceId: project.ReferenceId, diff --git a/x/ecocredit/base/keeper/query_projects.go b/x/ecocredit/base/keeper/query_projects.go index 455a368132..413c33a9b0 100644 --- a/x/ecocredit/base/keeper/query_projects.go +++ b/x/ecocredit/base/keeper/query_projects.go @@ -34,15 +34,9 @@ func (k Keeper) Projects(ctx context.Context, request *types.QueryProjectsReques admin := sdk.AccAddress(project.Admin) - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) - if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("class with key: %d", project.ClassKey) - } - info := types.ProjectInfo{ Id: project.Id, Admin: admin.String(), - ClassId: class.Id, Jurisdiction: project.Jurisdiction, Metadata: project.Metadata, ReferenceId: project.ReferenceId, diff --git a/x/ecocredit/base/keeper/query_projects_by_admin.go b/x/ecocredit/base/keeper/query_projects_by_admin.go index 7f52d61af0..e481f57bf1 100644 --- a/x/ecocredit/base/keeper/query_projects_by_admin.go +++ b/x/ecocredit/base/keeper/query_projects_by_admin.go @@ -36,15 +36,9 @@ func (k Keeper) ProjectsByAdmin(ctx context.Context, req *types.QueryProjectsByA return nil, err } - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) - if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("unable to get class with key: %d: %s", project.ClassKey, err.Error()) - } - projects = append(projects, &types.ProjectInfo{ Id: project.Id, Admin: req.Admin, - ClassId: class.Id, Jurisdiction: project.Jurisdiction, Metadata: project.Metadata, ReferenceId: project.ReferenceId, diff --git a/x/ecocredit/base/keeper/query_projects_by_class.go b/x/ecocredit/base/keeper/query_projects_by_class.go index ad4d48abca..0e0b2cacf7 100644 --- a/x/ecocredit/base/keeper/query_projects_by_class.go +++ b/x/ecocredit/base/keeper/query_projects_by_class.go @@ -24,7 +24,7 @@ func (k Keeper) ProjectsByClass(ctx context.Context, request *types.QueryProject return nil, regenerrors.ErrNotFound.Wrapf("could not get class with id %s: %s", request.ClassId, err.Error()) } - it, err := k.stateStore.ProjectTable().List(ctx, api.ProjectClassKeyIdIndexKey{}.WithClassKey(cInfo.Key), ormlist.Paginate(pg)) + it, err := k.stateStore.ProjectEnrollmentTable().List(ctx, api.ProjectEnrollmentClassKeyIndexKey{}.WithClassKey(cInfo.Key), ormlist.Paginate(pg)) if err != nil { return nil, err } @@ -32,22 +32,21 @@ func (k Keeper) ProjectsByClass(ctx context.Context, request *types.QueryProject projects := make([]*types.ProjectInfo, 0) for it.Next() { - project, err := it.Value() + enrollment, err := it.Value() if err != nil { return nil, err } - admin := sdk.AccAddress(project.Admin) - - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) + project, err := k.stateStore.ProjectTable().Get(ctx, enrollment.ProjectKey) if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("could not get class with key: %d", project.ClassKey) + return nil, regenerrors.ErrNotFound.Wrapf("could not get project with key: %d", enrollment.ProjectKey) } + admin := sdk.AccAddress(project.Admin) + info := types.ProjectInfo{ Id: project.Id, Admin: admin.String(), - ClassId: class.Id, Jurisdiction: project.Jurisdiction, Metadata: project.Metadata, ReferenceId: project.ReferenceId, diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index 40fb3c2ef7..e0a9a0f36a 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -2376,9 +2376,8 @@ type ProjectInfo struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin string `protobuf:"bytes,2,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class within which the - // project was created. - ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // Deprecated: use ProjectEnrollment instead. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // Deprecated: Do not use. // jurisdiction is the jurisdiction of the project. Full documentation can be // found in MsgCreateProject.jurisdiction. Jurisdiction string `protobuf:"bytes,4,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` @@ -2435,6 +2434,7 @@ func (m *ProjectInfo) GetAdmin() string { return "" } +// Deprecated: Do not use. func (m *ProjectInfo) GetClassId() string { if m != nil { return m.ClassId @@ -3323,168 +3323,169 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2574 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdb, 0x8f, 0x1c, 0x47, - 0xd5, 0x77, 0x8d, 0xbd, 0xbb, 0xb3, 0x67, 0xd7, 0x6b, 0xa7, 0x7c, 0xf9, 0xd6, 0x13, 0x7b, 0x6c, - 0x77, 0x6c, 0xef, 0xfa, 0x32, 0xd3, 0xde, 0x8b, 0xf3, 0x91, 0xc4, 0xc4, 0xec, 0xda, 0xc4, 0x2c, - 0x4f, 0xce, 0x10, 0x19, 0x65, 0xc1, 0x59, 0x7a, 0xa6, 0x6b, 0xd7, 0xed, 0xcc, 0x76, 0x8f, 0xbb, - 0x7b, 0xed, 0x2c, 0xab, 0x25, 0x01, 0x29, 0x09, 0x4f, 0x10, 0x11, 0x84, 0xf2, 0x12, 0x71, 0x11, - 0x3c, 0xc0, 0x03, 0x12, 0x09, 0x12, 0x42, 0x7e, 0x40, 0x08, 0x09, 0xf1, 0x68, 0x29, 0x3c, 0x70, - 0x79, 0x41, 0x36, 0x12, 0xfc, 0x19, 0x68, 0xaa, 0x4e, 0xf5, 0x6d, 0xba, 0xab, 0x7b, 0xc2, 0x60, - 0xed, 0x93, 0xb7, 0x6b, 0xce, 0xa9, 0xfa, 0xfd, 0x4e, 0x9d, 0x3a, 0x75, 0xea, 0x1c, 0x19, 0xaa, - 0x2e, 0x5b, 0x63, 0xb6, 0xce, 0x5a, 0x4e, 0xcb, 0x65, 0xa6, 0xe5, 0xeb, 0xf7, 0x66, 0xf4, 0xbb, - 0x1b, 0xcc, 0xdd, 0xac, 0x77, 0x5c, 0xc7, 0x77, 0x28, 0xe5, 0xbf, 0xd7, 0x83, 0xdf, 0xeb, 0xf7, - 0x66, 0x2a, 0xe7, 0x5a, 0x8e, 0xb7, 0xee, 0x78, 0x7a, 0xd3, 0xf0, 0x98, 0x10, 0xd6, 0xef, 0xcd, - 0x34, 0x99, 0x6f, 0xcc, 0xe8, 0x1d, 0x63, 0xcd, 0xb2, 0x0d, 0xdf, 0x72, 0x6c, 0xa1, 0x5f, 0xa9, - 0x46, 0x65, 0xa5, 0x54, 0xcb, 0xb1, 0xe4, 0xef, 0x47, 0xd7, 0x1c, 0x67, 0xad, 0xcd, 0x74, 0xa3, - 0x63, 0xe9, 0x86, 0x6d, 0x3b, 0x3e, 0x57, 0xf6, 0xf0, 0xd7, 0xe3, 0xf8, 0x2b, 0xff, 0x6a, 0x6e, - 0xac, 0xea, 0xbe, 0xb5, 0xce, 0x3c, 0xdf, 0x58, 0xef, 0xc8, 0xe9, 0x53, 0xe0, 0x7b, 0xbe, 0xe1, - 0x33, 0xc5, 0xef, 0xfe, 0x66, 0x87, 0xe1, 0x02, 0xda, 0x2d, 0x38, 0xf0, 0x72, 0x97, 0xc0, 0xd5, - 0xb6, 0xe1, 0x79, 0xcc, 0x6b, 0xb0, 0xbb, 0x1b, 0xcc, 0xf3, 0xe9, 0x4b, 0x00, 0x21, 0x93, 0x49, - 0x72, 0x82, 0x4c, 0x8f, 0xcd, 0x9e, 0xa9, 0x0b, 0x2a, 0xf5, 0x2e, 0x95, 0xba, 0xb0, 0x11, 0x12, - 0xaa, 0xdf, 0x30, 0xd6, 0x18, 0xea, 0x36, 0x22, 0x9a, 0xda, 0x07, 0x04, 0x0e, 0xc6, 0xe7, 0xf7, - 0x3a, 0x8e, 0xed, 0x31, 0xfa, 0xff, 0x30, 0xd2, 0x12, 0x43, 0x93, 0xe4, 0xc4, 0xee, 0xe9, 0xb1, - 0xd9, 0x63, 0xf5, 0x5e, 0x43, 0xd7, 0xb9, 0xd6, 0x92, 0xbd, 0xea, 0x34, 0xa4, 0x34, 0xbd, 0x1e, - 0x43, 0x56, 0xe2, 0xc8, 0xa6, 0x72, 0x91, 0x89, 0x55, 0x63, 0xd0, 0xbe, 0x0e, 0x95, 0x28, 0xb2, - 0xc5, 0xcd, 0x05, 0x73, 0xdd, 0xb2, 0xa5, 0x01, 0x0e, 0xc2, 0x90, 0xd1, 0xfd, 0xe6, 0xdc, 0x47, - 0x1b, 0xe2, 0x23, 0x61, 0x96, 0xd2, 0xa7, 0x36, 0xcb, 0x0f, 0x09, 0x3c, 0x9d, 0xba, 0xf8, 0x8e, - 0xb1, 0x4e, 0x1d, 0x9e, 0x0a, 0x01, 0x4a, 0xa3, 0x1c, 0x81, 0x32, 0x5f, 0x68, 0xc5, 0x32, 0xd1, - 0x2e, 0x62, 0xe1, 0x25, 0x53, 0x5b, 0x02, 0x1a, 0x95, 0x47, 0x1e, 0x73, 0x30, 0xc4, 0x05, 0xd0, - 0x83, 0x72, 0x58, 0x08, 0x59, 0x6d, 0x1b, 0x26, 0xc3, 0xa9, 0x96, 0x3c, 0x6f, 0x83, 0xb9, 0x05, - 0x10, 0x0c, 0x6c, 0x6f, 0xbe, 0x01, 0x47, 0x52, 0x96, 0x47, 0x42, 0x93, 0x30, 0x62, 0x89, 0x21, - 0xbe, 0x31, 0xa3, 0x0d, 0xf9, 0x39, 0x38, 0xcb, 0xbf, 0x86, 0x27, 0xe6, 0x86, 0xeb, 0xdc, 0x61, - 0x2d, 0x7f, 0xe0, 0x47, 0xf2, 0x43, 0x02, 0x87, 0x12, 0x0b, 0x20, 0xb9, 0x17, 0xa0, 0xdc, 0xc1, - 0x31, 0x74, 0xbb, 0xe3, 0x69, 0x1b, 0x86, 0x7a, 0x7c, 0xcb, 0x02, 0x85, 0xc1, 0xf1, 0x7f, 0x4b, - 0x9e, 0x0d, 0x89, 0x6f, 0xb1, 0xa8, 0x13, 0x0e, 0xcc, 0x05, 0x7e, 0x4a, 0xe0, 0x68, 0x3a, 0x84, - 0x1d, 0x65, 0xa9, 0xef, 0x10, 0x38, 0x99, 0x80, 0xd9, 0x60, 0xab, 0xcc, 0x65, 0x76, 0x8b, 0x2d, - 0x99, 0xd2, 0x5e, 0x27, 0x61, 0xdc, 0x95, 0xa3, 0xa1, 0xcd, 0xc6, 0xdc, 0x50, 0x72, 0x60, 0x76, - 0xfb, 0x05, 0x01, 0x4d, 0x05, 0x68, 0x47, 0x59, 0x6f, 0xab, 0xc7, 0xcd, 0x9e, 0xe0, 0x05, 0x90, - 0xe2, 0x61, 0xf1, 0x1b, 0x60, 0x67, 0xd8, 0x68, 0x1e, 0xb3, 0x03, 0x5c, 0x46, 0xda, 0xe6, 0x18, - 0x00, 0xae, 0x15, 0x3a, 0xd4, 0x28, 0x8e, 0x2c, 0x99, 0xda, 0xcb, 0xf1, 0x08, 0x16, 0x70, 0x7a, - 0x0e, 0x46, 0x50, 0x08, 0xc3, 0x57, 0x2e, 0x25, 0x29, 0x1f, 0xa4, 0x29, 0x8b, 0x86, 0xdf, 0xba, - 0xfd, 0x3f, 0x4c, 0x53, 0x82, 0xf9, 0xc3, 0x8b, 0xb8, 0x29, 0x86, 0x54, 0x17, 0x31, 0xd7, 0x12, - 0x80, 0x51, 0x7a, 0x70, 0x5b, 0xb0, 0x8d, 0x6e, 0x8a, 0xc8, 0x16, 0x37, 0xc5, 0x95, 0x24, 0x2d, - 0x70, 0x18, 0x86, 0xc5, 0x0d, 0x84, 0xdb, 0x80, 0x5f, 0x03, 0x73, 0xd4, 0x1f, 0x49, 0x47, 0xed, - 0x59, 0x7f, 0xc7, 0x58, 0xe8, 0x4d, 0x4c, 0xe4, 0x02, 0x84, 0x4f, 0xfa, 0xba, 0x78, 0xbb, 0xc7, - 0x46, 0x7d, 0x9d, 0x97, 0x81, 0xe1, 0xf8, 0x31, 0x81, 0x63, 0x19, 0x38, 0x76, 0xcc, 0x66, 0x05, - 0x99, 0x6f, 0x72, 0xb7, 0x76, 0x0c, 0xc2, 0x79, 0xcc, 0x7c, 0xf9, 0x1a, 0x72, 0x07, 0x8f, 0xc3, - 0x18, 0x5f, 0x68, 0xc5, 0x64, 0xb6, 0xb3, 0x8e, 0x5b, 0x08, 0x7c, 0xe8, 0x5a, 0x77, 0x24, 0xc8, - 0x7f, 0x51, 0x2b, 0xcc, 0x7f, 0xb9, 0x8c, 0x2a, 0xff, 0x0d, 0xb9, 0x08, 0x59, 0xed, 0x46, 0x10, - 0xeb, 0xda, 0x86, 0xdd, 0x92, 0x3b, 0xdd, 0x4d, 0x3d, 0x0d, 0xd3, 0x74, 0x19, 0x66, 0xd3, 0xa3, - 0x0d, 0xf9, 0x99, 0x04, 0x57, 0xea, 0x01, 0x77, 0x33, 0x88, 0x6e, 0x38, 0x23, 0xc2, 0x7b, 0xb1, - 0x6b, 0x6c, 0x3e, 0x84, 0x00, 0x4f, 0x65, 0x02, 0x44, 0x55, 0x69, 0x73, 0xfe, 0xa1, 0xbd, 0x11, - 0x9f, 0xd7, 0xcb, 0x87, 0x3a, 0x28, 0x57, 0xff, 0x89, 0x4c, 0x62, 0xc3, 0xa5, 0x91, 0xd3, 0xe7, - 0xa0, 0x8c, 0xf0, 0xa4, 0x07, 0x15, 0x23, 0x15, 0x68, 0x0d, 0xce, 0x93, 0xde, 0x09, 0x7d, 0x5d, - 0x4c, 0xbd, 0xd8, 0x9f, 0x53, 0x0d, 0xcc, 0x5a, 0x3f, 0x0f, 0x03, 0x54, 0x02, 0xc8, 0xce, 0x33, - 0x9a, 0x01, 0xff, 0xc7, 0xa1, 0x2e, 0xb4, 0xdb, 0x49, 0xb7, 0x1a, 0xd4, 0x6d, 0xff, 0x33, 0x82, - 0x2f, 0xcc, 0xd8, 0x1a, 0x3b, 0xcf, 0x14, 0x97, 0x30, 0xa6, 0x7c, 0x69, 0xa3, 0xd3, 0x69, 0x6f, - 0x16, 0x0e, 0x45, 0xef, 0x11, 0x0c, 0x20, 0x52, 0x0f, 0x99, 0x4d, 0xc1, 0x3e, 0xdf, 0x35, 0x4c, - 0xa3, 0xd9, 0x66, 0x2b, 0xc6, 0xba, 0xb3, 0x61, 0xfb, 0xa8, 0x3c, 0x21, 0x87, 0x17, 0xf8, 0x28, - 0x3d, 0x0d, 0x13, 0x2e, 0xf3, 0x2d, 0x97, 0x99, 0x52, 0x4e, 0x84, 0x94, 0xbd, 0x38, 0x8a, 0x62, - 0x67, 0x61, 0x7f, 0xab, 0xcb, 0xb8, 0xdd, 0x0e, 0x05, 0x77, 0x73, 0xc1, 0x7d, 0xc1, 0xb8, 0x10, - 0xd5, 0x8e, 0xe0, 0xa6, 0x5e, 0xe5, 0xf6, 0x7b, 0x65, 0xb3, 0x13, 0x6c, 0xaa, 0x76, 0x4b, 0xbe, - 0xf6, 0xa3, 0x3f, 0x21, 0xe2, 0x05, 0x18, 0x17, 0x16, 0x5f, 0xe1, 0x25, 0x2b, 0xdc, 0x8f, 0x6a, - 0x6a, 0x15, 0x21, 0x50, 0x6f, 0x8c, 0xb5, 0xc2, 0xa9, 0xb4, 0x83, 0x68, 0xc3, 0x1b, 0x86, 0x6b, - 0xac, 0x07, 0x8b, 0x2e, 0xc9, 0xbc, 0x16, 0x47, 0x71, 0xbd, 0x59, 0x18, 0xee, 0xf0, 0x11, 0x74, - 0xae, 0x4a, 0x6a, 0x7e, 0x2a, 0x74, 0x50, 0x52, 0xbb, 0x0c, 0x87, 0x13, 0xf8, 0xe5, 0x46, 0x69, - 0x30, 0x6e, 0x34, 0x9b, 0x2e, 0xbb, 0x67, 0x85, 0x0e, 0x3b, 0xda, 0x88, 0x8d, 0x69, 0xcb, 0x3d, - 0x86, 0x09, 0xc0, 0x5c, 0x81, 0xb1, 0x08, 0x79, 0x44, 0x94, 0xc7, 0x1d, 0x42, 0xee, 0xda, 0x16, - 0x8c, 0x06, 0xb5, 0x15, 0x3a, 0x01, 0xa5, 0x20, 0xf5, 0x28, 0x59, 0x66, 0xf8, 0xbc, 0x29, 0x45, - 0x9f, 0x37, 0x15, 0x28, 0xaf, 0x33, 0xdf, 0x30, 0x0d, 0xdf, 0xc0, 0xad, 0x0c, 0xbe, 0xe9, 0x05, - 0xa0, 0x11, 0x3c, 0x2b, 0x82, 0xc6, 0xe4, 0x1e, 0x2e, 0xb5, 0x3f, 0x5c, 0x76, 0x81, 0x8f, 0x6b, - 0xbf, 0x22, 0x30, 0x16, 0xc9, 0xe4, 0x0b, 0xae, 0x1f, 0x4d, 0xd6, 0x76, 0xc7, 0x93, 0x35, 0x0d, - 0xc6, 0xef, 0x6c, 0xb8, 0x96, 0x67, 0x5a, 0x2d, 0x6e, 0x4d, 0xb1, 0x70, 0x6c, 0x2c, 0x06, 0x7f, - 0x28, 0x01, 0x3f, 0xf9, 0x0c, 0x1e, 0xee, 0x79, 0x06, 0x6b, 0x0f, 0x4a, 0x30, 0x1a, 0xdc, 0xc6, - 0x99, 0x99, 0x75, 0x3c, 0x99, 0x2b, 0x25, 0x93, 0xb9, 0x83, 0x30, 0x24, 0x0e, 0xa6, 0xc0, 0x2f, - 0x3e, 0x62, 0xc8, 0xf6, 0x24, 0x90, 0x3d, 0x07, 0xe0, 0xf9, 0x86, 0xeb, 0xaf, 0x98, 0x86, 0xcf, - 0x38, 0xee, 0xae, 0xe7, 0x89, 0xc2, 0x6f, 0x5d, 0x16, 0x7e, 0xeb, 0xaf, 0xc8, 0xc2, 0x6f, 0x63, - 0x94, 0x4b, 0x5f, 0x33, 0x7c, 0x46, 0x2f, 0x41, 0x99, 0xd9, 0xa6, 0x50, 0x1c, 0xce, 0x55, 0x1c, - 0x61, 0xb6, 0xc9, 0xd5, 0xae, 0xc0, 0xde, 0x2e, 0x99, 0xee, 0x21, 0x15, 0xba, 0x23, 0xb9, 0xba, - 0xe3, 0x52, 0x81, 0x4f, 0x40, 0x61, 0x8f, 0xd3, 0x61, 0xf6, 0x64, 0xf9, 0x04, 0x99, 0x2e, 0x37, - 0xf8, 0xdf, 0xda, 0x1f, 0x09, 0xec, 0x4f, 0x46, 0xc5, 0xff, 0x22, 0x69, 0x49, 0x0b, 0x57, 0xbb, - 0x0b, 0x86, 0xab, 0x3d, 0x69, 0xe1, 0x6a, 0x0a, 0xf6, 0x31, 0xaf, 0xe5, 0x3a, 0xf7, 0x43, 0x39, - 0xe1, 0x23, 0x13, 0x72, 0x18, 0x83, 0xd5, 0x33, 0x58, 0x55, 0xe1, 0x87, 0xe7, 0xaa, 0xcb, 0x0c, - 0xdf, 0x71, 0x17, 0xda, 0x6d, 0xe7, 0x7e, 0xdb, 0xf2, 0x64, 0x4a, 0xaf, 0xbd, 0x88, 0x95, 0x8e, - 0x0c, 0xa1, 0xb0, 0x5c, 0xc8, 0xec, 0x2e, 0x54, 0xe1, 0xfa, 0xe5, 0x86, 0xfc, 0xd4, 0xee, 0xc0, - 0x09, 0x79, 0x05, 0x75, 0x97, 0x8e, 0x4e, 0x33, 0xf0, 0xfb, 0xee, 0x7d, 0x59, 0x27, 0x4a, 0x5f, - 0x0c, 0xb1, 0x9e, 0x86, 0x09, 0x71, 0xf6, 0x5a, 0xf8, 0x0b, 0x56, 0x38, 0xf7, 0xb6, 0xa2, 0xe2, - 0x83, 0xbb, 0xdd, 0x0e, 0x47, 0x3b, 0x03, 0x2f, 0x31, 0x89, 0x5c, 0xbb, 0x86, 0x99, 0x5d, 0x38, - 0x8e, 0x00, 0xcf, 0xc3, 0xee, 0x55, 0x26, 0x03, 0xe1, 0x91, 0xd8, 0x92, 0x72, 0xb1, 0xab, 0x8e, - 0x65, 0x37, 0xba, 0x52, 0xda, 0x49, 0x38, 0x1e, 0xa5, 0xbc, 0xe8, 0x5a, 0xe6, 0x1a, 0xbb, 0x7a, - 0xdb, 0xb0, 0xec, 0xe0, 0x12, 0xb8, 0x19, 0xdf, 0x82, 0xb8, 0x48, 0x70, 0x23, 0x1c, 0x32, 0xc4, - 0xcf, 0x2b, 0x4d, 0xfe, 0xfb, 0x4a, 0x8b, 0x0b, 0xa0, 0x6d, 0x0e, 0x18, 0xbd, 0xba, 0xda, 0xab, - 0xf8, 0x0a, 0xc3, 0xf0, 0xf7, 0x79, 0xdb, 0x75, 0xda, 0xed, 0x75, 0x66, 0x17, 0x7d, 0x0e, 0x46, - 0x83, 0x60, 0x29, 0x5e, 0x65, 0x6f, 0x43, 0x35, 0x6b, 0x6a, 0x04, 0xfc, 0x45, 0xd8, 0x2b, 0xe7, - 0x8e, 0x56, 0xde, 0x4f, 0x2b, 0x2a, 0x2d, 0x91, 0x59, 0xc6, 0x51, 0x97, 0xdb, 0x5e, 0x7b, 0x97, - 0x64, 0x2d, 0xe7, 0x3d, 0xe1, 0x97, 0xed, 0xc7, 0x04, 0xb7, 0x33, 0x0d, 0x09, 0x32, 0xbf, 0x0e, - 0x63, 0x2c, 0x1c, 0xc6, 0x5c, 0xa1, 0x20, 0xef, 0xa8, 0xe6, 0xc0, 0x3c, 0x7c, 0xf6, 0xf7, 0xe7, - 0x60, 0x88, 0xa3, 0xa6, 0xdf, 0x24, 0x30, 0x82, 0xad, 0x1e, 0x3a, 0x95, 0x06, 0x29, 0xa5, 0x07, - 0x57, 0x99, 0xce, 0x17, 0x14, 0x8b, 0x6a, 0xcf, 0x7c, 0xeb, 0x93, 0x7f, 0xbe, 0x5f, 0x3a, 0x46, - 0x9f, 0xd6, 0x53, 0xba, 0x7d, 0xb2, 0x35, 0xf4, 0x67, 0x02, 0x13, 0xf1, 0x76, 0x13, 0xad, 0xe7, - 0xad, 0x10, 0xaf, 0x89, 0x56, 0xf4, 0xc2, 0xf2, 0x08, 0xcc, 0xe0, 0xc0, 0xbe, 0x42, 0x2f, 0x28, - 0x80, 0xd5, 0x9a, 0x9b, 0x35, 0x7e, 0xfb, 0xeb, 0x5b, 0xfc, 0x9f, 0xed, 0xe5, 0xf3, 0xf4, 0xac, - 0x42, 0x5e, 0x8f, 0x09, 0xd3, 0x5f, 0x12, 0x18, 0xe2, 0xab, 0xd3, 0xd3, 0x6a, 0x74, 0x92, 0xc4, - 0x99, 0x3c, 0x31, 0xc4, 0x7e, 0x93, 0x63, 0xbf, 0x41, 0x4f, 0x65, 0x62, 0xd1, 0xb7, 0xe4, 0x39, - 0xdd, 0x5e, 0x9e, 0xa6, 0x67, 0x54, 0x98, 0x43, 0x49, 0xfa, 0x09, 0x81, 0xf1, 0x68, 0x6f, 0x89, - 0x5e, 0x50, 0x03, 0x8a, 0x77, 0xc0, 0x2a, 0xb5, 0x82, 0xd2, 0xc8, 0x62, 0x95, 0xb3, 0xf8, 0x9a, - 0x62, 0x07, 0x6a, 0xd8, 0xc1, 0x8a, 0xb2, 0xb9, 0x48, 0xeb, 0xc5, 0xd8, 0xe8, 0xb2, 0xfd, 0xf5, - 0x36, 0x81, 0xb2, 0xac, 0x65, 0xd3, 0x6c, 0xcf, 0x4d, 0x34, 0xb5, 0x2a, 0x67, 0x0b, 0x48, 0x22, - 0x93, 0x53, 0x9c, 0x49, 0x95, 0x1e, 0x4d, 0x43, 0x16, 0x94, 0xbe, 0xbf, 0x5f, 0x82, 0x7d, 0x89, - 0xae, 0x0d, 0xd5, 0x73, 0x17, 0x89, 0xd7, 0x0c, 0x2b, 0x17, 0x8b, 0x2b, 0x20, 0xb8, 0x0f, 0x09, - 0x47, 0xf7, 0x03, 0x42, 0x2f, 0xaa, 0xe0, 0x75, 0x7d, 0xbd, 0xc7, 0x75, 0x74, 0x5a, 0x53, 0xe9, - 0xf4, 0xfa, 0xda, 0x0c, 0xd5, 0x0b, 0xee, 0x4e, 0x60, 0x96, 0x77, 0x4b, 0x70, 0x28, 0xb5, 0x29, - 0x43, 0x2f, 0x15, 0xe0, 0xda, 0xdb, 0x55, 0xaa, 0x3c, 0xdb, 0xaf, 0x1a, 0x1a, 0xea, 0x4d, 0x6e, - 0xa7, 0x4d, 0xfa, 0x42, 0x9e, 0x99, 0x82, 0xc4, 0xbc, 0x66, 0x99, 0xfa, 0x56, 0x34, 0x75, 0xdf, - 0x5e, 0x7e, 0x9e, 0x7e, 0x46, 0x69, 0x31, 0x85, 0x2e, 0xfd, 0x2b, 0x89, 0x3a, 0x88, 0x88, 0x83, - 0x45, 0x1c, 0x24, 0x16, 0x08, 0x2f, 0x16, 0x57, 0x40, 0xde, 0x2d, 0xce, 0xfb, 0x96, 0x7a, 0xab, - 0x7b, 0x43, 0xe1, 0x05, 0x7a, 0x4e, 0xc9, 0x34, 0x1e, 0x0b, 0x1f, 0x10, 0x18, 0x41, 0x00, 0x8a, - 0x6b, 0x26, 0x5e, 0x9c, 0xae, 0x4c, 0xe7, 0x0b, 0x22, 0x87, 0x5b, 0x9c, 0xc3, 0x97, 0xe9, 0xb4, - 0x02, 0x92, 0xbe, 0x15, 0xe6, 0x03, 0x99, 0x91, 0x3c, 0x80, 0x1f, 0x15, 0xe6, 0x97, 0x24, 0x56, - 0x85, 0x15, 0xe8, 0xe3, 0x1d, 0x20, 0x05, 0xfa, 0x44, 0x2b, 0x47, 0x7d, 0x49, 0xca, 0x2a, 0xf2, - 0xdf, 0x09, 0xec, 0x4b, 0x74, 0x3a, 0x14, 0xde, 0x91, 0xde, 0x93, 0x51, 0x78, 0x47, 0x46, 0x13, - 0x45, 0x63, 0x1c, 0xdb, 0x4a, 0x7a, 0xd4, 0x45, 0x6c, 0x5d, 0xe7, 0x10, 0xd1, 0x56, 0xdf, 0x12, - 0xff, 0x6e, 0x2f, 0xd7, 0xe8, 0x79, 0x85, 0x86, 0x9e, 0x10, 0xa7, 0x7f, 0x23, 0x30, 0x11, 0xaf, - 0xbb, 0x2b, 0x52, 0x80, 0xd4, 0x76, 0x4a, 0x45, 0x2f, 0x2c, 0x8f, 0xd4, 0xd6, 0x38, 0x35, 0x23, - 0x3d, 0x64, 0x45, 0xa8, 0xf5, 0x44, 0xb9, 0x7a, 0xfa, 0x9d, 0x25, 0xb9, 0x25, 0xe5, 0xe9, 0xbf, - 0xe5, 0xfb, 0x33, 0xd2, 0xf8, 0xa0, 0x05, 0xb6, 0x22, 0x71, 0x1c, 0x66, 0xfa, 0xd0, 0x40, 0x8a, - 0x0e, 0xa7, 0x68, 0xd1, 0xb9, 0x1c, 0x8a, 0xa9, 0x47, 0x64, 0x36, 0xfd, 0xc6, 0x90, 0x34, 0xd3, - 0x74, 0xe8, 0xaf, 0x09, 0x0c, 0x71, 0x34, 0x8a, 0x9c, 0x27, 0x5a, 0x69, 0x56, 0xe4, 0x3c, 0xb1, - 0x3a, 0xb0, 0xf6, 0x55, 0xce, 0xe4, 0x26, 0x9d, 0xca, 0x84, 0xa4, 0x6f, 0x45, 0x5e, 0xed, 0x99, - 0x07, 0x5c, 0xa2, 0x8f, 0x09, 0xd3, 0x0f, 0x4a, 0xdd, 0x03, 0xce, 0x8b, 0x03, 0xca, 0x03, 0x1e, - 0x6d, 0x7b, 0x28, 0x0f, 0x78, 0xac, 0x9b, 0xa1, 0xfd, 0x56, 0xdc, 0xc1, 0x1f, 0x91, 0xac, 0x8d, - 0xe0, 0xe2, 0x71, 0x4c, 0xdd, 0xd0, 0xc9, 0xeb, 0x11, 0xdb, 0xcb, 0x9f, 0x4d, 0xbf, 0x93, 0x52, - 0xa9, 0x84, 0x93, 0x05, 0xea, 0x97, 0xe9, 0xf3, 0x8a, 0x55, 0xbd, 0x50, 0x32, 0xcd, 0x8e, 0xf4, - 0xbb, 0x04, 0xca, 0xb2, 0x14, 0x4d, 0x73, 0x29, 0x17, 0x48, 0x9f, 0x92, 0x75, 0x6d, 0xad, 0xce, - 0x8d, 0x93, 0x91, 0xa6, 0xf6, 0xa2, 0xa4, 0xff, 0xe2, 0x91, 0x30, 0xd6, 0x2e, 0x50, 0x46, 0xc2, - 0xb4, 0x0e, 0x87, 0x32, 0x12, 0xa6, 0x76, 0x22, 0xb4, 0xbb, 0x1c, 0xe6, 0xeb, 0xca, 0x2d, 0xe4, - 0x87, 0x29, 0xcd, 0x1b, 0xe7, 0xe9, 0x6c, 0xdf, 0x5b, 0xe8, 0xd1, 0x8f, 0x08, 0x8c, 0x45, 0x3a, - 0x01, 0xf4, 0x7c, 0x26, 0xe8, 0xde, 0x9e, 0x44, 0xe5, 0x42, 0x31, 0x61, 0x64, 0xf7, 0x05, 0xce, - 0x6e, 0x91, 0x9e, 0x48, 0x83, 0x69, 0xb4, 0xdb, 0x35, 0x09, 0x6a, 0x39, 0x23, 0xcf, 0x0d, 0x40, - 0xff, 0x8e, 0xc0, 0xb0, 0xa8, 0xef, 0xd3, 0xec, 0xc3, 0x1d, 0x6b, 0x1c, 0x54, 0xa6, 0x72, 0xe5, - 0x10, 0xa5, 0xc9, 0x51, 0xbe, 0x96, 0x7e, 0xcf, 0x7b, 0x5c, 0x36, 0x61, 0xf8, 0x9c, 0x20, 0x16, - 0x37, 0xbc, 0x98, 0x81, 0x7e, 0x8f, 0xc0, 0x58, 0xa4, 0xe8, 0xaf, 0x30, 0x7b, 0x6f, 0xd7, 0x40, - 0x61, 0xf6, 0x94, 0x3e, 0x82, 0x36, 0xcd, 0x09, 0x69, 0xe9, 0x66, 0x17, 0x7f, 0xd5, 0x78, 0x87, - 0x81, 0xbe, 0x45, 0x60, 0x58, 0x14, 0xf8, 0x15, 0x66, 0x8d, 0xf5, 0x12, 0x14, 0x66, 0x8d, 0x77, - 0x17, 0xb4, 0xd3, 0x1c, 0xc5, 0x51, 0x5a, 0x49, 0x4d, 0x89, 0xb8, 0xec, 0xb7, 0x4b, 0x84, 0x3e, - 0x24, 0x00, 0x21, 0x09, 0x7a, 0xae, 0x00, 0x53, 0x09, 0xe5, 0x7c, 0x21, 0x59, 0x84, 0x63, 0x71, - 0x38, 0xad, 0x8c, 0x97, 0x5e, 0x68, 0x14, 0x7d, 0x2b, 0xda, 0xb1, 0xc8, 0x7e, 0x7d, 0x44, 0xcc, - 0x98, 0x50, 0xe9, 0xe6, 0xa5, 0x87, 0x52, 0x0b, 0xa5, 0x8a, 0xd7, 0x87, 0xaa, 0xfa, 0xaa, 0x78, - 0x7d, 0x28, 0xeb, 0xb1, 0xda, 0x1c, 0xe7, 0x9c, 0x91, 0x35, 0x89, 0xd7, 0x30, 0x56, 0x3f, 0x6b, - 0x46, 0x80, 0xf1, 0x37, 0x04, 0x0e, 0xa6, 0x55, 0x4e, 0xe9, 0xbc, 0xea, 0xec, 0x67, 0x55, 0x75, - 0x2b, 0x97, 0xfa, 0xd4, 0x42, 0xe8, 0xb3, 0x1c, 0x7a, 0xc6, 0x7b, 0x00, 0xcb, 0x90, 0xb5, 0x18, - 0x05, 0x8f, 0xbe, 0x43, 0xa0, 0x2c, 0xcb, 0xa8, 0x34, 0xa7, 0x9c, 0x14, 0x56, 0x60, 0x15, 0xb7, - 0x4a, 0xb2, 0x26, 0x8b, 0x3e, 0x7d, 0x9c, 0x1e, 0xcb, 0x36, 0xe8, 0x2a, 0x63, 0xf4, 0x63, 0x02, - 0x07, 0x52, 0xca, 0xac, 0x74, 0x2e, 0xcf, 0x16, 0x29, 0x75, 0xdb, 0xca, 0x7c, 0x7f, 0x4a, 0x88, - 0x74, 0x86, 0x23, 0xcd, 0xc8, 0x57, 0xa4, 0xfd, 0x44, 0x8d, 0xb7, 0x26, 0x6a, 0xbc, 0xf4, 0x0f, - 0x04, 0x9e, 0xea, 0xa9, 0x15, 0xd2, 0x99, 0xbc, 0xf7, 0x52, 0x4f, 0xc1, 0xb7, 0x32, 0xdb, 0x8f, - 0x0a, 0xe2, 0xbd, 0xce, 0xf1, 0x2e, 0xd0, 0x2b, 0x45, 0x1f, 0x5b, 0x7a, 0xa4, 0x86, 0x19, 0xcd, - 0x8b, 0x1f, 0x10, 0xa0, 0xbd, 0x65, 0x53, 0xda, 0x07, 0xa6, 0xc0, 0xf2, 0x73, 0x7d, 0xe9, 0x20, - 0x91, 0xcb, 0x9c, 0xc8, 0xb3, 0x74, 0xfe, 0xd3, 0x10, 0x59, 0x7c, 0xf5, 0x4f, 0x8f, 0xaa, 0xe4, - 0xe1, 0xa3, 0x2a, 0xf9, 0xc7, 0xa3, 0x2a, 0x79, 0xef, 0x71, 0x75, 0xd7, 0xc3, 0xc7, 0xd5, 0x5d, - 0x7f, 0x79, 0x5c, 0xdd, 0xb5, 0x7c, 0x65, 0xcd, 0xf2, 0x6f, 0x6f, 0x34, 0xeb, 0x2d, 0x67, 0x5d, - 0xcc, 0x5c, 0xb3, 0x99, 0x7f, 0xdf, 0x71, 0x5f, 0xc7, 0xaf, 0x36, 0x33, 0xd7, 0x98, 0xab, 0xbf, - 0x11, 0x59, 0x90, 0xff, 0x1f, 0x0c, 0x11, 0xa1, 0xee, 0xcd, 0x34, 0x87, 0x79, 0x9b, 0x6b, 0xee, - 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0x90, 0x55, 0x29, 0x02, 0x32, 0x00, 0x00, + // 2579 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcb, 0x6f, 0x1c, 0xc7, + 0xd1, 0x57, 0xaf, 0x44, 0x72, 0x59, 0xa4, 0x28, 0xb9, 0xf5, 0xf8, 0xa8, 0xb5, 0xb8, 0x92, 0xc6, + 0x92, 0x48, 0x3d, 0x76, 0x47, 0x7c, 0xc8, 0x5f, 0x6c, 0x2b, 0x56, 0x48, 0x29, 0x56, 0x98, 0x93, + 0xbc, 0x31, 0x14, 0x98, 0x89, 0xcc, 0xcc, 0xee, 0x34, 0xa9, 0x91, 0x97, 0x33, 0xab, 0x99, 0x21, + 0x65, 0x86, 0x60, 0xec, 0x04, 0xb0, 0x9d, 0x53, 0x62, 0xc4, 0x41, 0xe0, 0x8b, 0x91, 0x07, 0x92, + 0x43, 0x72, 0xc8, 0xc1, 0x4e, 0x10, 0x04, 0x3a, 0x04, 0x41, 0x80, 0x20, 0x47, 0x01, 0xce, 0x21, + 0x8f, 0x4b, 0x20, 0x05, 0x48, 0xfe, 0x8c, 0x60, 0xbb, 0xab, 0xe7, 0xb5, 0x33, 0x3d, 0x43, 0x67, + 0x23, 0xf0, 0x24, 0x4e, 0x6f, 0x55, 0xf7, 0xef, 0x57, 0x5d, 0x5d, 0x5d, 0x5d, 0x05, 0x41, 0xd5, + 0x65, 0xab, 0xcc, 0xd6, 0x59, 0xcb, 0x69, 0xb9, 0xcc, 0xb4, 0x7c, 0x7d, 0x63, 0x5a, 0xbf, 0xb7, + 0xce, 0xdc, 0xcd, 0x7a, 0xc7, 0x75, 0x7c, 0x87, 0x52, 0xfe, 0x7b, 0x3d, 0xf8, 0xbd, 0xbe, 0x31, + 0x5d, 0x39, 0xdf, 0x72, 0xbc, 0x35, 0xc7, 0xd3, 0x9b, 0x86, 0xc7, 0x84, 0xb0, 0xbe, 0x31, 0xdd, + 0x64, 0xbe, 0x31, 0xad, 0x77, 0x8c, 0x55, 0xcb, 0x36, 0x7c, 0xcb, 0xb1, 0x85, 0x7e, 0xa5, 0x1a, + 0x95, 0x95, 0x52, 0x2d, 0xc7, 0x92, 0xbf, 0x1f, 0x5f, 0x75, 0x9c, 0xd5, 0x36, 0xd3, 0x8d, 0x8e, + 0xa5, 0x1b, 0xb6, 0xed, 0xf8, 0x5c, 0xd9, 0xc3, 0x5f, 0x4f, 0xe0, 0xaf, 0xfc, 0xab, 0xb9, 0xbe, + 0xa2, 0xfb, 0xd6, 0x1a, 0xf3, 0x7c, 0x63, 0xad, 0x23, 0xa7, 0x4f, 0x81, 0xef, 0xf9, 0x86, 0xcf, + 0x14, 0xbf, 0xfb, 0x9b, 0x1d, 0x86, 0x0b, 0x68, 0xb7, 0xe1, 0xd0, 0xcb, 0x5d, 0x02, 0xd7, 0xda, + 0x86, 0xe7, 0x31, 0xaf, 0xc1, 0xee, 0xad, 0x33, 0xcf, 0xa7, 0x2f, 0x01, 0x84, 0x4c, 0xc6, 0xc9, + 0x49, 0x32, 0x35, 0x32, 0x73, 0xb6, 0x2e, 0xa8, 0xd4, 0xbb, 0x54, 0xea, 0xc2, 0x46, 0x48, 0xa8, + 0x7e, 0xd3, 0x58, 0x65, 0xa8, 0xdb, 0x88, 0x68, 0x6a, 0x1f, 0x10, 0x38, 0x1c, 0x9f, 0xdf, 0xeb, + 0x38, 0xb6, 0xc7, 0xe8, 0xff, 0xc3, 0x50, 0x4b, 0x0c, 0x8d, 0x93, 0x93, 0x7b, 0xa7, 0x46, 0x66, + 0x26, 0xea, 0xbd, 0x86, 0xae, 0x73, 0xad, 0x45, 0x7b, 0xc5, 0x69, 0x48, 0x69, 0x7a, 0x23, 0x86, + 0xac, 0xc4, 0x91, 0x4d, 0xe6, 0x22, 0x13, 0xab, 0xc6, 0xa0, 0x7d, 0x1d, 0x2a, 0x51, 0x64, 0x0b, + 0x9b, 0xf3, 0xe6, 0x9a, 0x65, 0x4b, 0x03, 0x1c, 0x86, 0x01, 0xa3, 0xfb, 0xcd, 0xb9, 0x0f, 0x37, + 0xc4, 0x47, 0xc2, 0x2c, 0xa5, 0x4f, 0x6d, 0x96, 0x1f, 0x12, 0x78, 0x3a, 0x75, 0xf1, 0x5d, 0x63, + 0x9d, 0x3a, 0x3c, 0x15, 0x02, 0x94, 0x46, 0x39, 0x06, 0x65, 0xbe, 0xd0, 0xb2, 0x65, 0xa2, 0x5d, + 0xc4, 0xc2, 0x8b, 0xa6, 0xb6, 0x08, 0x34, 0x2a, 0x8f, 0x3c, 0x66, 0x61, 0x80, 0x0b, 0xa0, 0x07, + 0xe5, 0xb0, 0x10, 0xb2, 0xda, 0x36, 0x8c, 0x87, 0x53, 0x2d, 0x7a, 0xde, 0x3a, 0x73, 0x0b, 0x20, + 0xe8, 0xdb, 0xde, 0x7c, 0x03, 0x8e, 0xa5, 0x2c, 0x8f, 0x84, 0xc6, 0x61, 0xc8, 0x12, 0x43, 0x7c, + 0x63, 0x86, 0x1b, 0xf2, 0xb3, 0x7f, 0x96, 0x7f, 0x0d, 0x4f, 0xcc, 0x4d, 0xd7, 0xb9, 0xcb, 0x5a, + 0x7e, 0xdf, 0x8f, 0xe4, 0x87, 0x04, 0x8e, 0x24, 0x16, 0x40, 0x72, 0x2f, 0x40, 0xb9, 0x83, 0x63, + 0xe8, 0x76, 0x27, 0xd2, 0x36, 0x0c, 0xf5, 0xf8, 0x96, 0x05, 0x0a, 0xfd, 0xe3, 0xff, 0x96, 0x3c, + 0x1b, 0x12, 0xdf, 0x42, 0x51, 0x27, 0xec, 0x9b, 0x0b, 0xfc, 0x94, 0xc0, 0xf1, 0x74, 0x08, 0xbb, + 0xca, 0x52, 0xdf, 0x21, 0x70, 0x2a, 0x01, 0xb3, 0xc1, 0x56, 0x98, 0xcb, 0xec, 0x16, 0x5b, 0x34, + 0xa5, 0xbd, 0x4e, 0xc1, 0xa8, 0x2b, 0x47, 0x43, 0x9b, 0x8d, 0xb8, 0xa1, 0x64, 0xdf, 0xec, 0xf6, + 0x0b, 0x02, 0x9a, 0x0a, 0xd0, 0xae, 0xb2, 0xde, 0x56, 0x8f, 0x9b, 0x3d, 0xc1, 0x0b, 0x20, 0xc5, + 0xc3, 0xe2, 0x37, 0xc0, 0xee, 0xb0, 0xd1, 0x1c, 0x66, 0x07, 0xb8, 0x8c, 0xb4, 0xcd, 0x04, 0x00, + 0xae, 0x15, 0x3a, 0xd4, 0x30, 0x8e, 0x2c, 0x9a, 0xda, 0xcb, 0xf1, 0x08, 0x16, 0x70, 0x7a, 0x0e, + 0x86, 0x50, 0x08, 0xc3, 0x57, 0x2e, 0x25, 0x29, 0x1f, 0xa4, 0x29, 0x0b, 0x86, 0xdf, 0xba, 0xf3, + 0x3f, 0x4c, 0x53, 0x82, 0xf9, 0xc3, 0x8b, 0xb8, 0x29, 0x86, 0x54, 0x17, 0x31, 0xd7, 0x12, 0x80, + 0x51, 0xba, 0x7f, 0x5b, 0xb0, 0x8d, 0x6e, 0x8a, 0xc8, 0x16, 0x36, 0xc5, 0x95, 0x24, 0x2d, 0x70, + 0x14, 0x06, 0xc5, 0x0d, 0x84, 0xdb, 0x80, 0x5f, 0x7d, 0x73, 0xd4, 0x1f, 0x49, 0x47, 0xed, 0x59, + 0x7f, 0xd7, 0x58, 0xe8, 0x4d, 0x4c, 0xe4, 0x02, 0x84, 0x4f, 0xfa, 0xba, 0x78, 0xbb, 0xc7, 0x46, + 0x3b, 0x3a, 0x2f, 0x7d, 0xc3, 0xf1, 0x63, 0x02, 0x13, 0x19, 0x38, 0x76, 0xcd, 0x66, 0x05, 0x99, + 0x6f, 0x72, 0xb7, 0x76, 0x0d, 0xc2, 0x39, 0xcc, 0x7c, 0xf9, 0x1a, 0x72, 0x07, 0x4f, 0xc0, 0x08, + 0x5f, 0x68, 0xd9, 0x64, 0xb6, 0xb3, 0x86, 0x5b, 0x08, 0x7c, 0xe8, 0x7a, 0x77, 0x24, 0xc8, 0x7f, + 0x51, 0x2b, 0xcc, 0x7f, 0xb9, 0x8c, 0x2a, 0xff, 0x0d, 0xb9, 0x08, 0x59, 0xed, 0x66, 0x10, 0xeb, + 0xda, 0x86, 0xdd, 0x92, 0x3b, 0xdd, 0x4d, 0x3d, 0x0d, 0xd3, 0x74, 0x19, 0x66, 0xd3, 0xc3, 0x0d, + 0xf9, 0x99, 0x04, 0x57, 0xea, 0x01, 0x77, 0x2b, 0x88, 0x6e, 0x38, 0x23, 0xc2, 0x7b, 0xb1, 0x6b, + 0x6c, 0x3e, 0x84, 0x00, 0x4f, 0x67, 0x02, 0x44, 0x55, 0x69, 0x73, 0xfe, 0xa1, 0xbd, 0x11, 0x9f, + 0xd7, 0xcb, 0x87, 0xda, 0x2f, 0x57, 0xff, 0x89, 0x4c, 0x62, 0xc3, 0xa5, 0x91, 0xd3, 0xe7, 0xa0, + 0x8c, 0xf0, 0xa4, 0x07, 0x15, 0x23, 0x15, 0x68, 0xf5, 0xcf, 0x93, 0xde, 0x09, 0x7d, 0x5d, 0x4c, + 0xbd, 0xb0, 0x33, 0xa7, 0xea, 0x9b, 0xb5, 0x7e, 0x1e, 0x06, 0xa8, 0x04, 0x90, 0xdd, 0x67, 0x34, + 0x03, 0xfe, 0x8f, 0x43, 0x9d, 0x6f, 0xb7, 0x93, 0x6e, 0xd5, 0xaf, 0xdb, 0xfe, 0x67, 0x04, 0x5f, + 0x98, 0xb1, 0x35, 0x76, 0x9f, 0x29, 0x2e, 0x63, 0x4c, 0xf9, 0xd2, 0x7a, 0xa7, 0xd3, 0xde, 0x2c, + 0x1c, 0x8a, 0xde, 0x23, 0x18, 0x40, 0xa4, 0x1e, 0x32, 0x9b, 0x84, 0x03, 0xbe, 0x6b, 0x98, 0x46, + 0xb3, 0xcd, 0x96, 0x8d, 0x35, 0x67, 0xdd, 0xf6, 0x51, 0x79, 0x4c, 0x0e, 0xcf, 0xf3, 0x51, 0x7a, + 0x06, 0xc6, 0x5c, 0xe6, 0x5b, 0x2e, 0x33, 0xa5, 0x9c, 0x08, 0x29, 0xfb, 0x71, 0x14, 0xc5, 0xce, + 0xc1, 0xc1, 0x56, 0x97, 0x71, 0xbb, 0x1d, 0x0a, 0xee, 0xe5, 0x82, 0x07, 0x82, 0x71, 0x21, 0xaa, + 0x1d, 0xc3, 0x4d, 0xbd, 0xc6, 0xed, 0xf7, 0xca, 0x66, 0x27, 0xd8, 0x54, 0xed, 0xb6, 0x7c, 0xed, + 0x47, 0x7f, 0x42, 0xc4, 0xf3, 0x30, 0x2a, 0x2c, 0xbe, 0xcc, 0x4b, 0x56, 0xb8, 0x1f, 0xd5, 0xd4, + 0x2a, 0x42, 0xa0, 0xde, 0x18, 0x69, 0x85, 0x53, 0x69, 0x87, 0xd1, 0x86, 0x37, 0x0d, 0xd7, 0x58, + 0x0b, 0x16, 0x5d, 0x94, 0x79, 0x2d, 0x8e, 0xe2, 0x7a, 0x33, 0x30, 0xd8, 0xe1, 0x23, 0xe8, 0x5c, + 0x95, 0xd4, 0xfc, 0x54, 0xe8, 0xa0, 0xa4, 0x76, 0x05, 0x8e, 0x26, 0xf0, 0xcb, 0x8d, 0xd2, 0x60, + 0xd4, 0x68, 0x36, 0x5d, 0xb6, 0x61, 0x85, 0x0e, 0x3b, 0xdc, 0x88, 0x8d, 0x69, 0x4b, 0x3d, 0x86, + 0x09, 0xc0, 0x5c, 0x85, 0x91, 0x08, 0x79, 0x44, 0x94, 0xc7, 0x1d, 0x42, 0xee, 0xda, 0x16, 0x0c, + 0x07, 0xb5, 0x15, 0x3a, 0x06, 0xa5, 0x20, 0xf5, 0x28, 0x59, 0x66, 0xf8, 0xbc, 0x29, 0x45, 0x9f, + 0x37, 0x15, 0x28, 0xaf, 0x31, 0xdf, 0x30, 0x0d, 0xdf, 0xc0, 0xad, 0x0c, 0xbe, 0xe9, 0x45, 0xa0, + 0x11, 0x3c, 0xcb, 0x82, 0xc6, 0xf8, 0x3e, 0x2e, 0x75, 0x30, 0x5c, 0x76, 0x9e, 0x8f, 0x6b, 0xbf, + 0x26, 0x30, 0x12, 0xc9, 0xe4, 0x0b, 0xae, 0x3f, 0x11, 0x49, 0xd6, 0xf8, 0xfa, 0x0b, 0xa5, 0x71, + 0x12, 0x26, 0x6c, 0x1a, 0x8c, 0xde, 0x5d, 0x77, 0x2d, 0xcf, 0xb4, 0x5a, 0xdc, 0xa2, 0x62, 0xf1, + 0xd8, 0x58, 0x8c, 0xc2, 0x40, 0x82, 0x42, 0xf2, 0x29, 0x3c, 0xd8, 0xf3, 0x14, 0xd6, 0x1e, 0x94, + 0x60, 0x38, 0xb8, 0x91, 0x33, 0xb3, 0xeb, 0x78, 0x42, 0x57, 0x4a, 0x26, 0x74, 0x87, 0x61, 0x40, + 0x1c, 0x4e, 0x61, 0x43, 0xf1, 0x11, 0x43, 0xb6, 0x2f, 0x81, 0xec, 0x39, 0x00, 0xcf, 0x37, 0x5c, + 0x7f, 0xd9, 0x34, 0x7c, 0xc6, 0x71, 0x77, 0xbd, 0x4f, 0x14, 0x7f, 0xeb, 0xb2, 0xf8, 0x5b, 0x7f, + 0x45, 0x16, 0x7f, 0x1b, 0xc3, 0x5c, 0xfa, 0xba, 0xe1, 0x33, 0x7a, 0x19, 0xca, 0xcc, 0x36, 0x85, + 0xe2, 0x60, 0xae, 0xe2, 0x10, 0xb3, 0x4d, 0xae, 0x76, 0x15, 0xf6, 0x77, 0xc9, 0x74, 0x0f, 0xaa, + 0xd0, 0x1d, 0xca, 0xd5, 0x1d, 0x95, 0x0a, 0x7c, 0x02, 0x0a, 0xfb, 0x9c, 0x0e, 0xb3, 0xc7, 0xcb, + 0x27, 0xc9, 0x54, 0xb9, 0xc1, 0xff, 0xd6, 0xfe, 0x48, 0xe0, 0x60, 0x32, 0x32, 0xfe, 0x17, 0x89, + 0x4b, 0x5a, 0xc8, 0xda, 0x5b, 0x30, 0x64, 0xed, 0x4b, 0x0b, 0x59, 0x93, 0x70, 0x80, 0x79, 0x2d, + 0xd7, 0xb9, 0x1f, 0xca, 0x09, 0x1f, 0x19, 0x93, 0xc3, 0x18, 0xb0, 0x9e, 0xc1, 0xca, 0x0a, 0x3f, + 0x40, 0xd7, 0x5c, 0x66, 0xf8, 0x8e, 0x3b, 0xdf, 0x6e, 0x3b, 0xf7, 0xdb, 0x96, 0x27, 0xd3, 0x7a, + 0xed, 0x45, 0xac, 0x76, 0x64, 0x08, 0x85, 0x25, 0x43, 0x66, 0x77, 0xa1, 0x0a, 0xf7, 0x2f, 0x37, + 0xe4, 0xa7, 0x76, 0x17, 0x4e, 0xca, 0x6b, 0xa8, 0xbb, 0x74, 0x74, 0x9a, 0xbe, 0xdf, 0x79, 0xef, + 0xcb, 0x5a, 0x51, 0xfa, 0x62, 0x88, 0xf5, 0x0c, 0x8c, 0x89, 0xf3, 0xd7, 0xc2, 0x5f, 0xb0, 0xca, + 0xb9, 0xbf, 0x15, 0x15, 0xef, 0xdf, 0x0d, 0x77, 0x34, 0xda, 0x1d, 0x78, 0x89, 0x49, 0xe4, 0xda, + 0x75, 0xcc, 0xee, 0xc2, 0x71, 0x04, 0x78, 0x01, 0xf6, 0xae, 0x30, 0x19, 0x0c, 0x8f, 0xc5, 0x96, + 0x94, 0x8b, 0x5d, 0x73, 0x2c, 0xbb, 0xd1, 0x95, 0xd2, 0x4e, 0xc1, 0x89, 0x28, 0xe5, 0x05, 0xd7, + 0x32, 0x57, 0xd9, 0xb5, 0x3b, 0x86, 0x65, 0x07, 0x17, 0xc1, 0xad, 0xf8, 0x16, 0xc4, 0x45, 0x82, + 0x5b, 0xe1, 0x88, 0x21, 0x7e, 0x5e, 0x6e, 0xf2, 0xdf, 0x97, 0x5b, 0x5c, 0x00, 0x6d, 0x73, 0xc8, + 0xe8, 0xd5, 0xd5, 0x5e, 0xc5, 0x97, 0x18, 0x86, 0xc0, 0xcf, 0xdb, 0xae, 0xd3, 0x6e, 0xaf, 0x31, + 0xbb, 0xe8, 0x93, 0x30, 0xfa, 0x6a, 0x2d, 0xc5, 0x2b, 0xed, 0x6d, 0xa8, 0x66, 0x4d, 0x8d, 0x80, + 0xbf, 0x08, 0xfb, 0xe5, 0xdc, 0xd1, 0xea, 0xfb, 0x19, 0x45, 0xb5, 0x25, 0x32, 0xcb, 0x28, 0xea, + 0x72, 0xdb, 0x6b, 0xef, 0x92, 0xac, 0xe5, 0xbc, 0x27, 0xfc, 0xba, 0xfd, 0x98, 0xe0, 0x76, 0xa6, + 0x21, 0x41, 0xe6, 0x37, 0x60, 0x84, 0x85, 0xc3, 0x98, 0x2f, 0x14, 0xe4, 0x1d, 0xd5, 0xec, 0x9b, + 0x87, 0xcf, 0xfc, 0xfe, 0x3c, 0x0c, 0x70, 0xd4, 0xf4, 0x9b, 0x04, 0x86, 0xb0, 0xdd, 0x43, 0x27, + 0xd3, 0x20, 0xa5, 0xf4, 0xe1, 0x2a, 0x53, 0xf9, 0x82, 0x62, 0x51, 0xed, 0x99, 0x6f, 0x7d, 0xf2, + 0xcf, 0xf7, 0x4b, 0x13, 0xf4, 0x69, 0x3d, 0xa5, 0xe3, 0x27, 0xdb, 0x43, 0x7f, 0x26, 0x30, 0x16, + 0x6f, 0x39, 0xd1, 0x7a, 0xde, 0x0a, 0xf1, 0xba, 0x68, 0x45, 0x2f, 0x2c, 0x8f, 0xc0, 0x0c, 0x0e, + 0xec, 0x2b, 0xf4, 0xa2, 0x02, 0x58, 0xad, 0xb9, 0x59, 0xe3, 0x19, 0x80, 0xbe, 0xc5, 0xff, 0xd9, + 0x5e, 0xba, 0x40, 0xcf, 0x29, 0xe4, 0xf5, 0x98, 0x30, 0xfd, 0x25, 0x81, 0x01, 0xbe, 0x3a, 0x3d, + 0xa3, 0x46, 0x27, 0x49, 0x9c, 0xcd, 0x13, 0x43, 0xec, 0xb7, 0x38, 0xf6, 0x9b, 0xf4, 0x74, 0x26, + 0x16, 0x7d, 0x4b, 0x9e, 0xd3, 0xed, 0xa5, 0x29, 0x7a, 0x56, 0x85, 0x39, 0x94, 0xa4, 0x9f, 0x10, + 0x18, 0x8d, 0xf6, 0x97, 0xe8, 0x45, 0x35, 0xa0, 0x78, 0x17, 0xac, 0x52, 0x2b, 0x28, 0x8d, 0x2c, + 0x56, 0x38, 0x8b, 0xaf, 0x29, 0x76, 0xa0, 0x86, 0x5d, 0xac, 0x28, 0x9b, 0x4b, 0xb4, 0x5e, 0x8c, + 0x8d, 0x2e, 0x5b, 0x60, 0x6f, 0x13, 0x28, 0xcb, 0x7a, 0x36, 0xcd, 0xf6, 0xdc, 0x44, 0x63, 0xab, + 0x72, 0xae, 0x80, 0x24, 0x32, 0x39, 0xcd, 0x99, 0x54, 0xe9, 0xf1, 0x34, 0x64, 0x41, 0xf9, 0xfb, + 0xfb, 0x25, 0x38, 0x90, 0xe8, 0xdc, 0x50, 0x3d, 0x77, 0x91, 0x78, 0xdd, 0xb0, 0x72, 0xa9, 0xb8, + 0x02, 0x82, 0xfb, 0x90, 0x70, 0x74, 0x3f, 0x20, 0xf4, 0x92, 0x0a, 0x5e, 0xd7, 0xd7, 0x7b, 0x5c, + 0x47, 0xa7, 0x35, 0x95, 0x4e, 0xaf, 0xaf, 0x4d, 0x53, 0xbd, 0xe0, 0xee, 0x04, 0x66, 0x79, 0xb7, + 0x04, 0x47, 0x52, 0x1b, 0x33, 0xf4, 0x72, 0x01, 0xae, 0xbd, 0x9d, 0xa5, 0xca, 0xb3, 0x3b, 0x55, + 0x43, 0x43, 0xbd, 0xc9, 0xed, 0xb4, 0x49, 0x5f, 0xc8, 0x33, 0x53, 0x90, 0x98, 0xd7, 0x2c, 0x53, + 0xdf, 0x8a, 0xa6, 0xee, 0xdb, 0x4b, 0xcf, 0xd3, 0xcf, 0x28, 0x2d, 0xa6, 0xd0, 0xa5, 0x7f, 0x25, + 0x51, 0x07, 0x11, 0x71, 0xb0, 0x88, 0x83, 0xc4, 0x02, 0xe1, 0xa5, 0xe2, 0x0a, 0xc8, 0xbb, 0xc5, + 0x79, 0xdf, 0x56, 0x6f, 0x75, 0x6f, 0x28, 0xbc, 0x48, 0xcf, 0x2b, 0x99, 0xc6, 0x63, 0xe1, 0x03, + 0x02, 0x43, 0x08, 0x40, 0x71, 0xcd, 0xc4, 0x0b, 0xd4, 0x95, 0xa9, 0x7c, 0x41, 0xe4, 0x70, 0x9b, + 0x73, 0xf8, 0x32, 0x9d, 0x52, 0x40, 0xd2, 0xb7, 0xc2, 0x7c, 0x20, 0x33, 0x92, 0x07, 0xf0, 0xa3, + 0xc2, 0xfc, 0x92, 0xc4, 0xca, 0xb0, 0x02, 0x7d, 0xbc, 0x0b, 0xa4, 0x40, 0x9f, 0x68, 0xe7, 0xa8, + 0x2f, 0x49, 0x59, 0x49, 0xfe, 0x3b, 0x81, 0x03, 0x89, 0x6e, 0x87, 0xc2, 0x3b, 0xd2, 0xfb, 0x32, + 0x0a, 0xef, 0xc8, 0x68, 0xa4, 0x68, 0x8c, 0x63, 0x5b, 0x4e, 0x8f, 0xba, 0x88, 0xad, 0xeb, 0x1c, + 0x22, 0xda, 0xea, 0x5b, 0xe2, 0xdf, 0xed, 0xa5, 0x1a, 0xbd, 0xa0, 0xd0, 0xd0, 0x13, 0xe2, 0xf4, + 0x6f, 0x04, 0xc6, 0xe2, 0xb5, 0x77, 0x45, 0x0a, 0x90, 0xda, 0x52, 0xa9, 0xe8, 0x85, 0xe5, 0x91, + 0xda, 0x2a, 0xa7, 0x66, 0xa4, 0x87, 0xac, 0x08, 0xb5, 0x9e, 0x28, 0x57, 0x4f, 0xbf, 0xb3, 0x24, + 0xb7, 0xa4, 0x3c, 0xfd, 0xb7, 0x7c, 0x7f, 0x46, 0x9a, 0x1f, 0xb4, 0xc0, 0x56, 0x24, 0x8e, 0xc3, + 0xf4, 0x0e, 0x34, 0x90, 0xa2, 0xc3, 0x29, 0x5a, 0x74, 0x36, 0x87, 0x62, 0xea, 0x11, 0x99, 0x49, + 0xbf, 0x31, 0x24, 0xcd, 0x34, 0x1d, 0xfa, 0x2b, 0x02, 0x03, 0x1c, 0x8d, 0x22, 0xe7, 0x89, 0x56, + 0x9b, 0x15, 0x39, 0x4f, 0xac, 0x16, 0xac, 0x7d, 0x95, 0x33, 0xb9, 0x45, 0x27, 0x33, 0x21, 0xe9, + 0x5b, 0x91, 0x57, 0x7b, 0xe6, 0x01, 0x97, 0xe8, 0x63, 0xc2, 0xf4, 0x83, 0x52, 0xf7, 0x80, 0xf3, + 0xe2, 0x80, 0xf2, 0x80, 0x47, 0x5b, 0x1f, 0xca, 0x03, 0x1e, 0xeb, 0x68, 0x68, 0xbf, 0x15, 0x77, + 0xf0, 0x47, 0x24, 0x6b, 0x23, 0xb8, 0x78, 0x1c, 0x53, 0x37, 0x74, 0xf2, 0x7a, 0xc4, 0xf6, 0xd2, + 0x67, 0xd3, 0xef, 0xa4, 0x54, 0x2a, 0xe1, 0x64, 0x81, 0xfa, 0x15, 0xfa, 0xbc, 0x62, 0x55, 0x2f, + 0x94, 0x4c, 0xb3, 0x23, 0xfd, 0x2e, 0x81, 0xb2, 0x2c, 0x47, 0xd3, 0x5c, 0xca, 0x05, 0xd2, 0xa7, + 0x64, 0x6d, 0x5b, 0xab, 0x73, 0xe3, 0x64, 0xa4, 0xa9, 0xbd, 0x28, 0xe9, 0xbf, 0x78, 0x24, 0x8c, + 0xb5, 0x0c, 0x94, 0x91, 0x30, 0xad, 0xcb, 0xa1, 0x8c, 0x84, 0xa9, 0xdd, 0x08, 0xed, 0x1e, 0x87, + 0xf9, 0xba, 0x72, 0x0b, 0xf9, 0x61, 0x4a, 0xf3, 0xc6, 0x39, 0x3a, 0xb3, 0xe3, 0x2d, 0xf4, 0xe8, + 0x47, 0x04, 0x46, 0x22, 0xdd, 0x00, 0x7a, 0x21, 0x13, 0x74, 0x6f, 0x5f, 0xa2, 0x72, 0xb1, 0x98, + 0x30, 0xb2, 0xfb, 0x02, 0x67, 0xb7, 0x40, 0x4f, 0xa6, 0xc1, 0x34, 0xda, 0xed, 0x9a, 0x04, 0xb5, + 0x94, 0x91, 0xe7, 0x06, 0xa0, 0x7f, 0x47, 0x60, 0x50, 0xd4, 0xf8, 0x69, 0xf6, 0xe1, 0x8e, 0x35, + 0x0f, 0x2a, 0x93, 0xb9, 0x72, 0x88, 0xd2, 0xe4, 0x28, 0x5f, 0x4b, 0xbf, 0xe7, 0x3d, 0x2e, 0x9b, + 0x30, 0x7c, 0x4e, 0x10, 0x8b, 0x1b, 0x5e, 0xcc, 0x40, 0xbf, 0x47, 0x60, 0x24, 0x52, 0xf8, 0x57, + 0x98, 0xbd, 0xb7, 0x73, 0xa0, 0x30, 0x7b, 0x4a, 0x2f, 0x41, 0x9b, 0xe2, 0x84, 0xb4, 0x74, 0xb3, + 0x8b, 0xbf, 0x6a, 0xbc, 0xcb, 0x40, 0xdf, 0x22, 0x30, 0x28, 0x8a, 0xfc, 0x0a, 0xb3, 0xc6, 0xfa, + 0x09, 0x0a, 0xb3, 0xc6, 0x3b, 0x0c, 0xda, 0x19, 0x8e, 0xe2, 0x38, 0xad, 0xa4, 0xa6, 0x44, 0x5c, + 0xf6, 0xdb, 0x25, 0x42, 0x1f, 0x12, 0x80, 0x90, 0x04, 0x3d, 0x5f, 0x80, 0xa9, 0x84, 0x72, 0xa1, + 0x90, 0x2c, 0xc2, 0xb1, 0x38, 0x9c, 0x56, 0xc6, 0x4b, 0x2f, 0x34, 0x8a, 0xbe, 0x15, 0xed, 0x5a, + 0x64, 0xbf, 0x3e, 0x22, 0x66, 0x4c, 0xa8, 0x74, 0xf3, 0xd2, 0x23, 0xa9, 0x85, 0x52, 0xc5, 0xeb, + 0x43, 0x55, 0x7d, 0x55, 0xbc, 0x3e, 0x94, 0xf5, 0x58, 0x6d, 0x96, 0x73, 0xce, 0xc8, 0x9a, 0xc4, + 0x6b, 0x18, 0xab, 0x9f, 0x35, 0x23, 0xc0, 0xf8, 0x1b, 0x02, 0x87, 0xd3, 0x2a, 0xa7, 0x74, 0x4e, + 0x75, 0xf6, 0xb3, 0xaa, 0xba, 0x95, 0xcb, 0x3b, 0xd4, 0x42, 0xe8, 0x33, 0x1c, 0x7a, 0xc6, 0x7b, + 0x00, 0xcb, 0x90, 0xb5, 0x18, 0x05, 0x8f, 0xbe, 0x43, 0xa0, 0x2c, 0xcb, 0xa8, 0x34, 0xa7, 0x9c, + 0x14, 0x56, 0x60, 0x15, 0xb7, 0x4a, 0xb2, 0x26, 0x8b, 0x3e, 0x7d, 0x82, 0x4e, 0x64, 0x1b, 0x74, + 0x85, 0x31, 0xfa, 0x31, 0x81, 0x43, 0x29, 0x65, 0x56, 0x3a, 0x9b, 0x67, 0x8b, 0x94, 0xba, 0x6d, + 0x65, 0x6e, 0x67, 0x4a, 0x88, 0x74, 0x9a, 0x23, 0xcd, 0xc8, 0x57, 0xa4, 0xfd, 0x44, 0x8d, 0xb7, + 0x26, 0x6a, 0xbc, 0xf4, 0x0f, 0x04, 0x9e, 0xea, 0xa9, 0x15, 0xd2, 0xe9, 0xbc, 0xf7, 0x52, 0x4f, + 0xc1, 0xb7, 0x32, 0xb3, 0x13, 0x15, 0xc4, 0x7b, 0x83, 0xe3, 0x9d, 0xa7, 0x57, 0x8b, 0x3e, 0xb6, + 0xf4, 0x48, 0x0d, 0x33, 0x9a, 0x17, 0x3f, 0x20, 0x40, 0x7b, 0xcb, 0xa6, 0x74, 0x07, 0x98, 0x02, + 0xcb, 0xcf, 0xee, 0x48, 0x07, 0x89, 0x5c, 0xe1, 0x44, 0x9e, 0xa5, 0x73, 0x9f, 0x86, 0xc8, 0xc2, + 0xab, 0x7f, 0x7a, 0x54, 0x25, 0x0f, 0x1f, 0x55, 0xc9, 0x3f, 0x1e, 0x55, 0xc9, 0x7b, 0x8f, 0xab, + 0x7b, 0x1e, 0x3e, 0xae, 0xee, 0xf9, 0xcb, 0xe3, 0xea, 0x9e, 0xa5, 0xab, 0xab, 0x96, 0x7f, 0x67, + 0xbd, 0x59, 0x6f, 0x39, 0x6b, 0x62, 0xe6, 0x9a, 0xcd, 0xfc, 0xfb, 0x8e, 0xfb, 0x3a, 0x7e, 0xb5, + 0x99, 0xb9, 0xca, 0x5c, 0xfd, 0x8d, 0xc8, 0x82, 0xfc, 0xff, 0x61, 0x88, 0x08, 0xb5, 0x31, 0xdd, + 0x1c, 0xe4, 0x6d, 0xae, 0xd9, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x02, 0xbf, 0x05, 0xd5, 0x06, + 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From 9bbe3eb77947e5204e46e664c05a64ce2346b961 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 21 Feb 2024 16:35:30 -0500 Subject: [PATCH 032/112] query logic, refactoring --- api/regen/ecocredit/v1/query.pulsar.go | 1835 ++++++++++++----- proto/regen/ecocredit/v1/query.proto | 24 +- x/ecocredit/base/keeper/keeper.go | 9 - .../base/keeper/msg_update_project_fee.go | 31 + .../base/keeper/query_project_enrollment.go | 35 + .../base/keeper/query_project_enrollments.go | 65 + .../keeper/query_projects_by_reference_id.go | 6 - x/ecocredit/base/types/v1/query.pb.go | 722 +++++-- 8 files changed, 1998 insertions(+), 729 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_update_project_fee.go create mode 100644 x/ecocredit/base/keeper/query_project_enrollment.go create mode 100644 x/ecocredit/base/keeper/query_project_enrollments.go diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index 1e86ed95dc..8ab1e491c9 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -15,6 +11,9 @@ import ( 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 ( @@ -28506,14 +28505,14 @@ func (x *fastReflection_QueryProjectEnrollmentRequest) ProtoMethods() *protoifac } var ( - md_QueryProjectEnrollmentResponse protoreflect.MessageDescriptor - fd_QueryProjectEnrollmentResponse_project_class protoreflect.FieldDescriptor + md_QueryProjectEnrollmentResponse protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentResponse_enrollment protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() md_QueryProjectEnrollmentResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentResponse") - fd_QueryProjectEnrollmentResponse_project_class = md_QueryProjectEnrollmentResponse.Fields().ByName("project_class") + fd_QueryProjectEnrollmentResponse_enrollment = md_QueryProjectEnrollmentResponse.Fields().ByName("enrollment") } var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentResponse)(nil) @@ -28581,9 +28580,9 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Interface() protoreflect // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProjectClass != nil { - value := protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) - if !f(fd_QueryProjectEnrollmentResponse_project_class, value) { + if x.Enrollment != nil { + value := protoreflect.ValueOfMessage(x.Enrollment.ProtoReflect()) + if !f(fd_QueryProjectEnrollmentResponse_enrollment, value) { return } } @@ -28602,8 +28601,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Range(f func(protoreflec // a repeated field is populated if it is non-empty. func (x *fastReflection_QueryProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - return x.ProjectClass != nil + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + return x.Enrollment != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28620,8 +28619,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Has(fd protoreflect.Fiel // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - x.ProjectClass = nil + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + x.Enrollment = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28638,8 +28637,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Clear(fd protoreflect.Fi // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QueryProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - value := x.ProjectClass + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + value := x.Enrollment return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { @@ -28661,8 +28660,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Get(descriptor protorefl // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - x.ProjectClass = value.Message().Interface().(*ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + x.Enrollment = value.Message().Interface().(*EnrollmentInfo) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28683,11 +28682,11 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Set(fd protoreflect.Fiel // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - if x.ProjectClass == nil { - x.ProjectClass = new(ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + if x.Enrollment == nil { + x.Enrollment = new(EnrollmentInfo) } - return protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Enrollment.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28701,8 +28700,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Mutable(fd protoreflect. // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QueryProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - m := new(ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + m := new(EnrollmentInfo) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { @@ -28773,8 +28772,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa var n int var l int _ = l - if x.ProjectClass != nil { - l = options.Size(x.ProjectClass) + if x.Enrollment != nil { + l = options.Size(x.Enrollment) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -28806,8 +28805,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ProjectClass != nil { - encoded, err := options.Marshal(x.ProjectClass) + if x.Enrollment != nil { + encoded, err := options.Marshal(x.Enrollment) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28871,7 +28870,7 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectClass", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Enrollment", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28898,10 +28897,10 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.ProjectClass == nil { - x.ProjectClass = &ProjectEnrollment{} + if x.Enrollment == nil { + x.Enrollment = &EnrollmentInfo{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProjectClass); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollment); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -29442,7 +29441,7 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa var _ protoreflect.List = (*_QueryProjectEnrollmentsResponse_1_list)(nil) type _QueryProjectEnrollmentsResponse_1_list struct { - list *[]*ProjectEnrollment + list *[]*EnrollmentInfo } func (x *_QueryProjectEnrollmentsResponse_1_list) Len() int { @@ -29458,18 +29457,18 @@ func (x *_QueryProjectEnrollmentsResponse_1_list) Get(i int) protoreflect.Value func (x *_QueryProjectEnrollmentsResponse_1_list) Set(i int, value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) + concreteValue := valueUnwrapped.Interface().(*EnrollmentInfo) (*x.list)[i] = concreteValue } func (x *_QueryProjectEnrollmentsResponse_1_list) Append(value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) + concreteValue := valueUnwrapped.Interface().(*EnrollmentInfo) *x.list = append(*x.list, concreteValue) } func (x *_QueryProjectEnrollmentsResponse_1_list) AppendMutable() protoreflect.Value { - v := new(ProjectEnrollment) + v := new(EnrollmentInfo) *x.list = append(*x.list, v) return protoreflect.ValueOfMessage(v.ProtoReflect()) } @@ -29482,7 +29481,7 @@ func (x *_QueryProjectEnrollmentsResponse_1_list) Truncate(n int) { } func (x *_QueryProjectEnrollmentsResponse_1_list) NewElement() protoreflect.Value { - v := new(ProjectEnrollment) + v := new(EnrollmentInfo) return protoreflect.ValueOfMessage(v.ProtoReflect()) } @@ -29692,7 +29691,7 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) Mutable(fd protoreflect switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": if x.Enrollments == nil { - x.Enrollments = []*ProjectEnrollment{} + x.Enrollments = []*EnrollmentInfo{} } value := &_QueryProjectEnrollmentsResponse_1_list{list: &x.Enrollments} return protoreflect.ValueOfList(value) @@ -29715,7 +29714,7 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) Mutable(fd protoreflect func (x *fastReflection_QueryProjectEnrollmentsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": - list := []*ProjectEnrollment{} + list := []*EnrollmentInfo{} return protoreflect.ValueOfList(&_QueryProjectEnrollmentsResponse_1_list{list: &list}) case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": m := new(v1beta1.PageResponse) @@ -29901,17 +29900,600 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: 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 Enrollments", 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.Enrollments = append(x.Enrollments, &EnrollmentInfo{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollments[len(x.Enrollments)-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 Pagination", 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.Pagination == nil { + x.Pagination = &v1beta1.PageResponse{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); 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_EnrollmentInfo protoreflect.MessageDescriptor + fd_EnrollmentInfo_project_id protoreflect.FieldDescriptor + fd_EnrollmentInfo_class_id protoreflect.FieldDescriptor + fd_EnrollmentInfo_status protoreflect.FieldDescriptor + fd_EnrollmentInfo_application_metadata protoreflect.FieldDescriptor + fd_EnrollmentInfo_enrollment_metadata protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_EnrollmentInfo = File_regen_ecocredit_v1_query_proto.Messages().ByName("EnrollmentInfo") + fd_EnrollmentInfo_project_id = md_EnrollmentInfo.Fields().ByName("project_id") + fd_EnrollmentInfo_class_id = md_EnrollmentInfo.Fields().ByName("class_id") + fd_EnrollmentInfo_status = md_EnrollmentInfo.Fields().ByName("status") + fd_EnrollmentInfo_application_metadata = md_EnrollmentInfo.Fields().ByName("application_metadata") + fd_EnrollmentInfo_enrollment_metadata = md_EnrollmentInfo.Fields().ByName("enrollment_metadata") +} + +var _ protoreflect.Message = (*fastReflection_EnrollmentInfo)(nil) + +type fastReflection_EnrollmentInfo EnrollmentInfo + +func (x *EnrollmentInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_EnrollmentInfo)(x) +} + +func (x *EnrollmentInfo) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[60] + 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_EnrollmentInfo_messageType fastReflection_EnrollmentInfo_messageType +var _ protoreflect.MessageType = fastReflection_EnrollmentInfo_messageType{} + +type fastReflection_EnrollmentInfo_messageType struct{} + +func (x fastReflection_EnrollmentInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_EnrollmentInfo)(nil) +} +func (x fastReflection_EnrollmentInfo_messageType) New() protoreflect.Message { + return new(fastReflection_EnrollmentInfo) +} +func (x fastReflection_EnrollmentInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EnrollmentInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EnrollmentInfo) Descriptor() protoreflect.MessageDescriptor { + return md_EnrollmentInfo +} + +// 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_EnrollmentInfo) Type() protoreflect.MessageType { + return _fastReflection_EnrollmentInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EnrollmentInfo) New() protoreflect.Message { + return new(fastReflection_EnrollmentInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EnrollmentInfo) Interface() protoreflect.ProtoMessage { + return (*EnrollmentInfo)(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_EnrollmentInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_EnrollmentInfo_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_EnrollmentInfo_class_id, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_EnrollmentInfo_status, value) { + return + } + } + if x.ApplicationMetadata != "" { + value := protoreflect.ValueOfString(x.ApplicationMetadata) + if !f(fd_EnrollmentInfo_application_metadata, value) { + return + } + } + if x.EnrollmentMetadata != "" { + value := protoreflect.ValueOfString(x.EnrollmentMetadata) + if !f(fd_EnrollmentInfo_enrollment_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_EnrollmentInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.EnrollmentInfo.status": + return x.Status != 0 + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + return x.ApplicationMetadata != "" + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + return x.EnrollmentMetadata != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.EnrollmentInfo.status": + x.Status = 0 + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + x.ApplicationMetadata = "" + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + x.EnrollmentMetadata = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + value := x.ApplicationMetadata + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + value := x.EnrollmentMetadata + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.status": + x.Status = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + x.ApplicationMetadata = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + x.EnrollmentMetadata = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.status": + panic(fmt.Errorf("field status of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + panic(fmt.Errorf("field application_metadata of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + panic(fmt.Errorf("field enrollment_metadata of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.status": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EnrollmentInfo", 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_EnrollmentInfo) 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_EnrollmentInfo) 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_EnrollmentInfo) 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_EnrollmentInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EnrollmentInfo) + 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)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + l = len(x.ApplicationMetadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.EnrollmentMetadata) + 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().(*EnrollmentInfo) + 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.EnrollmentMetadata) > 0 { + i -= len(x.EnrollmentMetadata) + copy(dAtA[i:], x.EnrollmentMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EnrollmentMetadata))) + i-- + dAtA[i] = 0x32 + } + if len(x.ApplicationMetadata) > 0 { + i -= len(x.ApplicationMetadata) + copy(dAtA[i:], x.ApplicationMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ApplicationMetadata))) + i-- + dAtA[i] = 0x2a + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x20 + } + 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] = 0x12 + } + 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().(*EnrollmentInfo) + 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: EnrollmentInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EnrollmentInfo: 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 Enrollments", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -29921,31 +30503,29 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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.Enrollments = append(x.Enrollments, &ProjectEnrollment{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollments[len(x.Enrollments)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.ProjectId = 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 Pagination", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -29955,27 +30535,106 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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 } - if x.Pagination == nil { - x.Pagination = &v1beta1.PageResponse{} + x.ClassId = 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 Status", wireType) } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + x.Status = 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.Status |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationMetadata", 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.ApplicationMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EnrollmentMetadata", 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.EnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -32582,7 +33241,7 @@ type QueryProjectEnrollmentResponse struct { unknownFields protoimpl.UnknownFields // project_class is the fetched project class relationship. - ProjectClass *ProjectEnrollment `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` + Enrollment *EnrollmentInfo `protobuf:"bytes,1,opt,name=enrollment,proto3" json:"enrollment,omitempty"` } func (x *QueryProjectEnrollmentResponse) Reset() { @@ -32605,9 +33264,9 @@ func (*QueryProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{57} } -func (x *QueryProjectEnrollmentResponse) GetProjectClass() *ProjectEnrollment { +func (x *QueryProjectEnrollmentResponse) GetEnrollment() *EnrollmentInfo { if x != nil { - return x.ProjectClass + return x.Enrollment } return nil } @@ -32669,7 +33328,7 @@ type QueryProjectEnrollmentsResponse struct { unknownFields protoimpl.UnknownFields // enrollments are the fetched project credit class enrollments. - Enrollments []*ProjectEnrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` + Enrollments []*EnrollmentInfo `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // pagination defines the pagination in the response. Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -32694,7 +33353,7 @@ func (*QueryProjectEnrollmentsResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{59} } -func (x *QueryProjectEnrollmentsResponse) GetEnrollments() []*ProjectEnrollment { +func (x *QueryProjectEnrollmentsResponse) GetEnrollments() []*EnrollmentInfo { if x != nil { return x.Enrollments } @@ -32708,6 +33367,81 @@ func (x *QueryProjectEnrollmentsResponse) GetPagination() *v1beta1.PageResponse return nil } +// EnrollmentInfo is the human-readable project enrollment information. +type EnrollmentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to query. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // status is the status of the enrollment. + Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` +} + +func (x *EnrollmentInfo) Reset() { + *x = EnrollmentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnrollmentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnrollmentInfo) ProtoMessage() {} + +// Deprecated: Use EnrollmentInfo.ProtoReflect.Descriptor instead. +func (*EnrollmentInfo) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{60} +} + +func (x *EnrollmentInfo) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *EnrollmentInfo) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *EnrollmentInfo) GetStatus() ProjectEnrollmentStatus { + if x != nil { + return x.Status + } + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED +} + +func (x *EnrollmentInfo) GetApplicationMetadata() string { + if x != nil { + return x.ApplicationMetadata + } + return "" +} + +func (x *EnrollmentInfo) GetEnrollmentMetadata() string { + if x != nil { + return x.EnrollmentMetadata + } + return "" +} + var File_regen_ecocredit_v1_query_proto protoreflect.FileDescriptor var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ @@ -33138,388 +33872,403 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 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, 0x22, 0x6c, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x64, 0x22, 0x64, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, - 0x87, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, - 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, - 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, - 0xc1, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, - 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, - 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, + 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 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, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xc1, 0x2a, 0x0a, 0x05, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x5b, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, + 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, + 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, + 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, + 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, + 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x96, 0x01, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x5a, + 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, + 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x7d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, - 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, - 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, - 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x5a, 0x2c, + 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5f, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, - 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, - 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, - 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x57, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, + 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, + 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, - 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, - 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, + 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x33, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, - 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, - 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, - 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, - 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, - 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, - 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xb2, 0x01, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, + 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, + 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, + 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, + 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, - 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, - 0x70, 0x6c, 0x79, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, - 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, - 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x88, 0x02, 0x01, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, - 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x28, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, + 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x02, 0x01, + 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, + 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, + 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, + 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, - 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, + 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, + 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, - 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, - 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, + 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, + 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, + 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, + 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -33534,7 +34283,7 @@ func file_regen_ecocredit_v1_query_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_query_proto_rawDescData } -var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryClassesRequest)(nil), // 0: regen.ecocredit.v1.QueryClassesRequest (*QueryClassesResponse)(nil), // 1: regen.ecocredit.v1.QueryClassesResponse @@ -33596,134 +34345,136 @@ var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryProjectEnrollmentResponse)(nil), // 57: regen.ecocredit.v1.QueryProjectEnrollmentResponse (*QueryProjectEnrollmentsRequest)(nil), // 58: regen.ecocredit.v1.QueryProjectEnrollmentsRequest (*QueryProjectEnrollmentsResponse)(nil), // 59: regen.ecocredit.v1.QueryProjectEnrollmentsResponse - (*v1beta1.PageRequest)(nil), // 60: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 61: cosmos.base.query.v1beta1.PageResponse - (*CreditType)(nil), // 62: regen.ecocredit.v1.CreditType - (*Params)(nil), // 63: regen.ecocredit.v1.Params - (*timestamppb.Timestamp)(nil), // 64: google.protobuf.Timestamp - (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin - (*ProjectEnrollment)(nil), // 66: regen.ecocredit.v1.ProjectEnrollment + (*EnrollmentInfo)(nil), // 60: regen.ecocredit.v1.EnrollmentInfo + (*v1beta1.PageRequest)(nil), // 61: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 62: cosmos.base.query.v1beta1.PageResponse + (*CreditType)(nil), // 63: regen.ecocredit.v1.CreditType + (*Params)(nil), // 64: regen.ecocredit.v1.Params + (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp + (*v1beta11.Coin)(nil), // 66: cosmos.base.v1beta1.Coin + (ProjectEnrollmentStatus)(0), // 67: regen.ecocredit.v1.ProjectEnrollmentStatus } var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ - 60, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 1: regen.ecocredit.v1.QueryClassesResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 61, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 4: regen.ecocredit.v1.QueryClassesByAdminResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 61, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 44, // 6: regen.ecocredit.v1.QueryClassResponse.class:type_name -> regen.ecocredit.v1.ClassInfo - 60, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 61, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 10: regen.ecocredit.v1.QueryProjectsResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 13: regen.ecocredit.v1.QueryProjectsByClassResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 16: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 19: regen.ecocredit.v1.QueryProjectsByAdminResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 45, // 21: regen.ecocredit.v1.QueryProjectResponse.project:type_name -> regen.ecocredit.v1.ProjectInfo - 60, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 23: regen.ecocredit.v1.QueryBatchesResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 26: regen.ecocredit.v1.QueryBatchesByIssuerResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 60, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 30: regen.ecocredit.v1.QueryBatchesByProjectResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 32: regen.ecocredit.v1.QueryBatchesByClassResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 34: regen.ecocredit.v1.QueryBatchResponse.batch:type_name -> regen.ecocredit.v1.BatchInfo 47, // 35: regen.ecocredit.v1.QueryBalanceResponse.balance:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 60, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 37: regen.ecocredit.v1.QueryBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 40: regen.ecocredit.v1.QueryBalancesByBatchResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 43: regen.ecocredit.v1.QueryAllBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 62, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType - 63, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params - 62, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType - 64, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp - 64, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp - 64, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp - 60, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 61, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 65, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin - 66, // 54: regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class:type_name -> regen.ecocredit.v1.ProjectEnrollment - 60, // 55: regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 66, // 56: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments:type_name -> regen.ecocredit.v1.ProjectEnrollment - 61, // 57: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 0, // 58: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest - 2, // 59: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest - 4, // 60: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest - 6, // 61: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest - 8, // 62: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest - 10, // 63: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest - 12, // 64: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest - 14, // 65: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest - 16, // 66: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest - 18, // 67: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest - 20, // 68: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest - 22, // 69: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest - 23, // 70: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest - 26, // 71: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest - 28, // 72: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest - 30, // 73: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest - 32, // 74: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest - 34, // 75: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest - 36, // 76: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest - 38, // 77: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest - 40, // 78: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest - 42, // 79: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest - 48, // 80: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest - 50, // 81: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest - 52, // 82: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest - 54, // 83: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest - 56, // 84: regen.ecocredit.v1.Query.ProjectEnrollment:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentRequest - 58, // 85: regen.ecocredit.v1.Query.ProjectEnrollments:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentsRequest - 1, // 86: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse - 3, // 87: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse - 5, // 88: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse - 7, // 89: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse - 9, // 90: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse - 11, // 91: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse - 13, // 92: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse - 15, // 93: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse - 17, // 94: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse - 19, // 95: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse - 21, // 96: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse - 25, // 97: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse - 24, // 98: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse - 27, // 99: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse - 29, // 100: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse - 31, // 101: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse - 33, // 102: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse - 35, // 103: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse - 37, // 104: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse - 39, // 105: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse - 41, // 106: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse - 43, // 107: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse - 49, // 108: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse - 51, // 109: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse - 53, // 110: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse - 55, // 111: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - 57, // 112: regen.ecocredit.v1.Query.ProjectEnrollment:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentResponse - 59, // 113: regen.ecocredit.v1.Query.ProjectEnrollments:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentsResponse - 86, // [86:114] is the sub-list for method output_type - 58, // [58:86] is the sub-list for method input_type - 58, // [58:58] is the sub-list for extension type_name - 58, // [58:58] is the sub-list for extension extendee - 0, // [0:58] is the sub-list for field type_name + 62, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 63, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType + 64, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params + 63, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType + 65, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp + 65, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp + 65, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp + 61, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 66, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin + 60, // 54: regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment:type_name -> regen.ecocredit.v1.EnrollmentInfo + 61, // 55: regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 56: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments:type_name -> regen.ecocredit.v1.EnrollmentInfo + 62, // 57: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 67, // 58: regen.ecocredit.v1.EnrollmentInfo.status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 0, // 59: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest + 2, // 60: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest + 4, // 61: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest + 6, // 62: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest + 8, // 63: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest + 10, // 64: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest + 12, // 65: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest + 14, // 66: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest + 16, // 67: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest + 18, // 68: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest + 20, // 69: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest + 22, // 70: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest + 23, // 71: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest + 26, // 72: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest + 28, // 73: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest + 30, // 74: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest + 32, // 75: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest + 34, // 76: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest + 36, // 77: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest + 38, // 78: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest + 40, // 79: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest + 42, // 80: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest + 48, // 81: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest + 50, // 82: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest + 52, // 83: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest + 54, // 84: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest + 56, // 85: regen.ecocredit.v1.Query.ProjectEnrollment:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentRequest + 58, // 86: regen.ecocredit.v1.Query.ProjectEnrollments:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentsRequest + 1, // 87: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse + 3, // 88: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse + 5, // 89: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse + 7, // 90: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse + 9, // 91: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse + 11, // 92: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse + 13, // 93: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse + 15, // 94: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse + 17, // 95: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse + 19, // 96: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse + 21, // 97: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse + 25, // 98: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse + 24, // 99: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse + 27, // 100: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse + 29, // 101: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse + 31, // 102: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse + 33, // 103: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse + 35, // 104: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse + 37, // 105: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse + 39, // 106: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse + 41, // 107: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse + 43, // 108: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse + 49, // 109: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse + 51, // 110: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse + 53, // 111: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse + 55, // 112: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse + 57, // 113: regen.ecocredit.v1.Query.ProjectEnrollment:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentResponse + 59, // 114: regen.ecocredit.v1.Query.ProjectEnrollments:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentsResponse + 87, // [87:115] is the sub-list for method output_type + 59, // [59:87] is the sub-list for method input_type + 59, // [59:59] is the sub-list for extension type_name + 59, // [59:59] is the sub-list for extension extendee + 0, // [0:59] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1_query_proto_init() } @@ -34454,6 +35205,18 @@ func file_regen_ecocredit_v1_query_proto_init() { return nil } } + file_regen_ecocredit_v1_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnrollmentInfo); 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{ @@ -34461,7 +35224,7 @@ func file_regen_ecocredit_v1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 60, + NumMessages: 61, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 41da6dbea0..761debdfd1 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -862,7 +862,7 @@ message QueryProjectEnrollmentRequest { message QueryProjectEnrollmentResponse { // project_class is the fetched project class relationship. - ProjectEnrollment project_class = 1; + EnrollmentInfo enrollment = 1; } // QueryProjectEnrollmentsRequest is the Query/ProjectEnrollments request type. @@ -882,8 +882,28 @@ message QueryProjectEnrollmentsRequest { message QueryProjectEnrollmentsResponse { // enrollments are the fetched project credit class enrollments. - repeated ProjectEnrollment enrollments = 1; + repeated EnrollmentInfo enrollments = 1; // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; +} + +// EnrollmentInfo is the human-readable project enrollment information. +message EnrollmentInfo { + // project_id is the unique identifier of the project to query. + string project_id = 1; + + // class_id is the unique identifier of the credit class to query. + string class_id = 2; + + // status is the status of the enrollment. + ProjectEnrollmentStatus status = 4; + + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + string application_metadata = 5; + + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + string enrollment_metadata = 6; } \ No newline at end of file diff --git a/x/ecocredit/base/keeper/keeper.go b/x/ecocredit/base/keeper/keeper.go index 69248c6a5e..f2214c2e32 100644 --- a/x/ecocredit/base/keeper/keeper.go +++ b/x/ecocredit/base/keeper/keeper.go @@ -1,8 +1,6 @@ package keeper import ( - "context" - sdk "github.com/cosmos/cosmos-sdk/types" basketapi "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/basket/v1" @@ -18,8 +16,6 @@ var ( ) type Keeper struct { - *types.UnimplementedQueryServer - stateStore api.StateStore bankKeeper ecocredit.BankKeeper moduleAddress sdk.AccAddress @@ -32,11 +28,6 @@ type Keeper struct { authority sdk.AccAddress } -func (k Keeper) UpdateProjectFee(ctx context.Context, fee *types.MsgUpdateProjectFee) (*types.MsgUpdateProjectFeeResponse, error) { - //TODO implement me - panic("implement me") -} - func NewKeeper( ss api.StateStore, bk ecocredit.BankKeeper, diff --git a/x/ecocredit/base/keeper/msg_update_project_fee.go b/x/ecocredit/base/keeper/msg_update_project_fee.go new file mode 100644 index 0000000000..89aa08306d --- /dev/null +++ b/x/ecocredit/base/keeper/msg_update_project_fee.go @@ -0,0 +1,31 @@ +package keeper + +import ( + "context" + + sdkv1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + regentypes "github.com/regen-network/regen-ledger/types/v2" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) UpdateProjectFee(ctx context.Context, req *types.MsgUpdateProjectFee) (*types.MsgUpdateProjectFeeResponse, error) { + if k.authority.String() != req.Authority { + return nil, govtypes.ErrInvalidSigner.Wrapf("invalid authority: expected %s, got %s", k.authority, req.Authority) + } + + var classFee *sdkv1beta1.Coin + if req.Fee != nil && req.Fee.IsPositive() { + classFee = regentypes.CoinToProtoCoin(*req.Fee) + } + + if err := k.stateStore.ProjectFeeTable().Save(ctx, &api.ProjectFee{ + Fee: classFee, + }); err != nil { + return nil, err + } + + return &types.MsgUpdateProjectFeeResponse{}, nil +} diff --git a/x/ecocredit/base/keeper/query_project_enrollment.go b/x/ecocredit/base/keeper/query_project_enrollment.go new file mode 100644 index 0000000000..7b883ecbf2 --- /dev/null +++ b/x/ecocredit/base/keeper/query_project_enrollment.go @@ -0,0 +1,35 @@ +package keeper + +import ( + "context" + + regenerrors "github.com/regen-network/regen-ledger/types/v2/errors" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) ProjectEnrollment(ctx context.Context, request *types.QueryProjectEnrollmentRequest) (*types.QueryProjectEnrollmentResponse, error) { //TODO implement me + project, err := k.stateStore.ProjectTable().GetById(ctx, request.ProjectId) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get project with id %s: %s", request.ProjectId, err.Error()) + } + + class, err := k.stateStore.ClassTable().GetById(ctx, request.ClassId) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get class with id %s: %s", request.ClassId, err.Error()) + } + + enrollment, err := k.stateStore.ProjectEnrollmentTable().Get(ctx, project.Key, class.Key) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get enrollment for project %s and class %s: %s", project.Id, class.Id, err.Error()) + } + + info := types.EnrollmentInfo{ + ProjectId: project.Id, + ClassId: class.Id, + Status: types.ProjectEnrollmentStatus(enrollment.Status), + ApplicationMetadata: enrollment.ApplicationMetadata, + EnrollmentMetadata: enrollment.EnrollmentMetadata, + } + + return &types.QueryProjectEnrollmentResponse{Enrollment: &info}, nil +} diff --git a/x/ecocredit/base/keeper/query_project_enrollments.go b/x/ecocredit/base/keeper/query_project_enrollments.go new file mode 100644 index 0000000000..a67d5ace2e --- /dev/null +++ b/x/ecocredit/base/keeper/query_project_enrollments.go @@ -0,0 +1,65 @@ +package keeper + +import ( + "context" + + "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + + ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + regenerrors "github.com/regen-network/regen-ledger/types/v2/errors" + "github.com/regen-network/regen-ledger/types/v2/ormutil" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func (k Keeper) ProjectEnrollments(ctx context.Context, request *types.QueryProjectEnrollmentsRequest) (*types.QueryProjectEnrollmentsResponse, error) { + pg, err := ormutil.GogoPageReqToPulsarPageReq(request.Pagination) + if err != nil { + return nil, regenerrors.ErrInvalidArgument.Wrap(err.Error()) + } + + project, err := k.stateStore.ProjectTable().GetById(ctx, request.ProjectId) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get project with id %s: %s", request.ProjectId, err.Error()) + } + + it, err := k.stateStore.ProjectEnrollmentTable().List(ctx, + ecocreditv1.ProjectEnrollmentProjectKeyClassKeyIndexKey{}.WithProjectKey(project.Key), + ormlist.Paginate(pg)) + if err != nil { + return nil, err + } + defer it.Close() + + enrollments := make([]*types.EnrollmentInfo, 0) + for it.Next() { + enrollment, err := it.Value() + if err != nil { + return nil, err + } + + class, err := k.stateStore.ClassTable().Get(ctx, enrollment.ClassKey) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get class with key: %d", enrollment.ClassKey) + } + + info := &types.EnrollmentInfo{ + ProjectId: project.Id, + ClassId: class.Id, + Status: types.ProjectEnrollmentStatus(enrollment.Status), + ApplicationMetadata: enrollment.ApplicationMetadata, + EnrollmentMetadata: enrollment.EnrollmentMetadata, + } + + enrollments = append(enrollments, info) + } + + pr, err := ormutil.PulsarPageResToGogoPageRes(it.PageResponse()) + if err != nil { + return nil, regenerrors.ErrInternal.Wrap(err.Error()) + } + + return &types.QueryProjectEnrollmentsResponse{ + Enrollments: enrollments, + Pagination: pr, + }, nil +} diff --git a/x/ecocredit/base/keeper/query_projects_by_reference_id.go b/x/ecocredit/base/keeper/query_projects_by_reference_id.go index 4ab8ddfd63..cff41f85e0 100644 --- a/x/ecocredit/base/keeper/query_projects_by_reference_id.go +++ b/x/ecocredit/base/keeper/query_projects_by_reference_id.go @@ -36,15 +36,9 @@ func (k Keeper) ProjectsByReferenceId(ctx context.Context, req *types.QueryProje return nil, err } - class, err := k.stateStore.ClassTable().Get(ctx, project.ClassKey) - if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("class with key: %d", project.ClassKey) - } - info := &types.ProjectInfo{ Id: project.Id, Admin: sdk.AccAddress(project.Admin).String(), - ClassId: class.Id, Jurisdiction: project.Jurisdiction, Metadata: project.Metadata, ReferenceId: project.ReferenceId, diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index e0a9a0f36a..e19b896ec9 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3100,7 +3100,7 @@ func (m *QueryProjectEnrollmentRequest) GetClassId() string { // Since Revision 3 type QueryProjectEnrollmentResponse struct { // project_class is the fetched project class relationship. - ProjectClass *ProjectEnrollment `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` + Enrollment *EnrollmentInfo `protobuf:"bytes,1,opt,name=enrollment,proto3" json:"enrollment,omitempty"` } func (m *QueryProjectEnrollmentResponse) Reset() { *m = QueryProjectEnrollmentResponse{} } @@ -3136,9 +3136,9 @@ func (m *QueryProjectEnrollmentResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryProjectEnrollmentResponse proto.InternalMessageInfo -func (m *QueryProjectEnrollmentResponse) GetProjectClass() *ProjectEnrollment { +func (m *QueryProjectEnrollmentResponse) GetEnrollment() *EnrollmentInfo { if m != nil { - return m.ProjectClass + return m.Enrollment } return nil } @@ -3205,7 +3205,7 @@ func (m *QueryProjectEnrollmentsRequest) GetPagination() *query.PageRequest { // Since Revision 3 type QueryProjectEnrollmentsResponse struct { // enrollments are the fetched project credit class enrollments. - Enrollments []*ProjectEnrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` + Enrollments []*EnrollmentInfo `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -3243,7 +3243,7 @@ func (m *QueryProjectEnrollmentsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryProjectEnrollmentsResponse proto.InternalMessageInfo -func (m *QueryProjectEnrollmentsResponse) GetEnrollments() []*ProjectEnrollment { +func (m *QueryProjectEnrollmentsResponse) GetEnrollments() []*EnrollmentInfo { if m != nil { return m.Enrollments } @@ -3257,6 +3257,90 @@ func (m *QueryProjectEnrollmentsResponse) GetPagination() *query.PageResponse { return nil } +// EnrollmentInfo is the human-readable project enrollment information. +type EnrollmentInfo struct { + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to query. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // status is the status of the enrollment. + Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` +} + +func (m *EnrollmentInfo) Reset() { *m = EnrollmentInfo{} } +func (m *EnrollmentInfo) String() string { return proto.CompactTextString(m) } +func (*EnrollmentInfo) ProtoMessage() {} +func (*EnrollmentInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_c85efa417eafb74b, []int{60} +} +func (m *EnrollmentInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnrollmentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnrollmentInfo.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EnrollmentInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnrollmentInfo.Merge(m, src) +} +func (m *EnrollmentInfo) XXX_Size() int { + return m.Size() +} +func (m *EnrollmentInfo) XXX_DiscardUnknown() { + xxx_messageInfo_EnrollmentInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_EnrollmentInfo proto.InternalMessageInfo + +func (m *EnrollmentInfo) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *EnrollmentInfo) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + +func (m *EnrollmentInfo) GetStatus() ProjectEnrollmentStatus { + if m != nil { + return m.Status + } + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED +} + +func (m *EnrollmentInfo) GetApplicationMetadata() string { + if m != nil { + return m.ApplicationMetadata + } + return "" +} + +func (m *EnrollmentInfo) GetEnrollmentMetadata() string { + if m != nil { + return m.EnrollmentMetadata + } + return "" +} + func init() { proto.RegisterType((*QueryClassesRequest)(nil), "regen.ecocredit.v1.QueryClassesRequest") proto.RegisterType((*QueryClassesResponse)(nil), "regen.ecocredit.v1.QueryClassesResponse") @@ -3318,173 +3402,178 @@ func init() { proto.RegisterType((*QueryProjectEnrollmentResponse)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentResponse") proto.RegisterType((*QueryProjectEnrollmentsRequest)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentsRequest") proto.RegisterType((*QueryProjectEnrollmentsResponse)(nil), "regen.ecocredit.v1.QueryProjectEnrollmentsResponse") + proto.RegisterType((*EnrollmentInfo)(nil), "regen.ecocredit.v1.EnrollmentInfo") } func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2579 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcb, 0x6f, 0x1c, 0xc7, - 0xd1, 0x57, 0xaf, 0x44, 0x72, 0x59, 0xa4, 0x28, 0xb9, 0xf5, 0xf8, 0xa8, 0xb5, 0xb8, 0x92, 0xc6, - 0x92, 0x48, 0x3d, 0x76, 0x47, 0x7c, 0xc8, 0x5f, 0x6c, 0x2b, 0x56, 0x48, 0x29, 0x56, 0x98, 0x93, - 0xbc, 0x31, 0x14, 0x98, 0x89, 0xcc, 0xcc, 0xee, 0x34, 0xa9, 0x91, 0x97, 0x33, 0xab, 0x99, 0x21, - 0x65, 0x86, 0x60, 0xec, 0x04, 0xb0, 0x9d, 0x53, 0x62, 0xc4, 0x41, 0xe0, 0x8b, 0x91, 0x07, 0x92, - 0x43, 0x72, 0xc8, 0xc1, 0x4e, 0x10, 0x04, 0x3a, 0x04, 0x41, 0x80, 0x20, 0x47, 0x01, 0xce, 0x21, - 0x8f, 0x4b, 0x20, 0x05, 0x48, 0xfe, 0x8c, 0x60, 0xbb, 0xab, 0xe7, 0xb5, 0x33, 0x3d, 0x43, 0x67, - 0x23, 0xf0, 0x24, 0x4e, 0x6f, 0x55, 0xf7, 0xef, 0x57, 0x5d, 0x5d, 0x5d, 0x5d, 0x05, 0x41, 0xd5, - 0x65, 0xab, 0xcc, 0xd6, 0x59, 0xcb, 0x69, 0xb9, 0xcc, 0xb4, 0x7c, 0x7d, 0x63, 0x5a, 0xbf, 0xb7, - 0xce, 0xdc, 0xcd, 0x7a, 0xc7, 0x75, 0x7c, 0x87, 0x52, 0xfe, 0x7b, 0x3d, 0xf8, 0xbd, 0xbe, 0x31, - 0x5d, 0x39, 0xdf, 0x72, 0xbc, 0x35, 0xc7, 0xd3, 0x9b, 0x86, 0xc7, 0x84, 0xb0, 0xbe, 0x31, 0xdd, - 0x64, 0xbe, 0x31, 0xad, 0x77, 0x8c, 0x55, 0xcb, 0x36, 0x7c, 0xcb, 0xb1, 0x85, 0x7e, 0xa5, 0x1a, - 0x95, 0x95, 0x52, 0x2d, 0xc7, 0x92, 0xbf, 0x1f, 0x5f, 0x75, 0x9c, 0xd5, 0x36, 0xd3, 0x8d, 0x8e, - 0xa5, 0x1b, 0xb6, 0xed, 0xf8, 0x5c, 0xd9, 0xc3, 0x5f, 0x4f, 0xe0, 0xaf, 0xfc, 0xab, 0xb9, 0xbe, - 0xa2, 0xfb, 0xd6, 0x1a, 0xf3, 0x7c, 0x63, 0xad, 0x23, 0xa7, 0x4f, 0x81, 0xef, 0xf9, 0x86, 0xcf, - 0x14, 0xbf, 0xfb, 0x9b, 0x1d, 0x86, 0x0b, 0x68, 0xb7, 0xe1, 0xd0, 0xcb, 0x5d, 0x02, 0xd7, 0xda, - 0x86, 0xe7, 0x31, 0xaf, 0xc1, 0xee, 0xad, 0x33, 0xcf, 0xa7, 0x2f, 0x01, 0x84, 0x4c, 0xc6, 0xc9, - 0x49, 0x32, 0x35, 0x32, 0x73, 0xb6, 0x2e, 0xa8, 0xd4, 0xbb, 0x54, 0xea, 0xc2, 0x46, 0x48, 0xa8, - 0x7e, 0xd3, 0x58, 0x65, 0xa8, 0xdb, 0x88, 0x68, 0x6a, 0x1f, 0x10, 0x38, 0x1c, 0x9f, 0xdf, 0xeb, - 0x38, 0xb6, 0xc7, 0xe8, 0xff, 0xc3, 0x50, 0x4b, 0x0c, 0x8d, 0x93, 0x93, 0x7b, 0xa7, 0x46, 0x66, - 0x26, 0xea, 0xbd, 0x86, 0xae, 0x73, 0xad, 0x45, 0x7b, 0xc5, 0x69, 0x48, 0x69, 0x7a, 0x23, 0x86, - 0xac, 0xc4, 0x91, 0x4d, 0xe6, 0x22, 0x13, 0xab, 0xc6, 0xa0, 0x7d, 0x1d, 0x2a, 0x51, 0x64, 0x0b, - 0x9b, 0xf3, 0xe6, 0x9a, 0x65, 0x4b, 0x03, 0x1c, 0x86, 0x01, 0xa3, 0xfb, 0xcd, 0xb9, 0x0f, 0x37, - 0xc4, 0x47, 0xc2, 0x2c, 0xa5, 0x4f, 0x6d, 0x96, 0x1f, 0x12, 0x78, 0x3a, 0x75, 0xf1, 0x5d, 0x63, - 0x9d, 0x3a, 0x3c, 0x15, 0x02, 0x94, 0x46, 0x39, 0x06, 0x65, 0xbe, 0xd0, 0xb2, 0x65, 0xa2, 0x5d, - 0xc4, 0xc2, 0x8b, 0xa6, 0xb6, 0x08, 0x34, 0x2a, 0x8f, 0x3c, 0x66, 0x61, 0x80, 0x0b, 0xa0, 0x07, - 0xe5, 0xb0, 0x10, 0xb2, 0xda, 0x36, 0x8c, 0x87, 0x53, 0x2d, 0x7a, 0xde, 0x3a, 0x73, 0x0b, 0x20, - 0xe8, 0xdb, 0xde, 0x7c, 0x03, 0x8e, 0xa5, 0x2c, 0x8f, 0x84, 0xc6, 0x61, 0xc8, 0x12, 0x43, 0x7c, - 0x63, 0x86, 0x1b, 0xf2, 0xb3, 0x7f, 0x96, 0x7f, 0x0d, 0x4f, 0xcc, 0x4d, 0xd7, 0xb9, 0xcb, 0x5a, - 0x7e, 0xdf, 0x8f, 0xe4, 0x87, 0x04, 0x8e, 0x24, 0x16, 0x40, 0x72, 0x2f, 0x40, 0xb9, 0x83, 0x63, - 0xe8, 0x76, 0x27, 0xd2, 0x36, 0x0c, 0xf5, 0xf8, 0x96, 0x05, 0x0a, 0xfd, 0xe3, 0xff, 0x96, 0x3c, - 0x1b, 0x12, 0xdf, 0x42, 0x51, 0x27, 0xec, 0x9b, 0x0b, 0xfc, 0x94, 0xc0, 0xf1, 0x74, 0x08, 0xbb, - 0xca, 0x52, 0xdf, 0x21, 0x70, 0x2a, 0x01, 0xb3, 0xc1, 0x56, 0x98, 0xcb, 0xec, 0x16, 0x5b, 0x34, - 0xa5, 0xbd, 0x4e, 0xc1, 0xa8, 0x2b, 0x47, 0x43, 0x9b, 0x8d, 0xb8, 0xa1, 0x64, 0xdf, 0xec, 0xf6, - 0x0b, 0x02, 0x9a, 0x0a, 0xd0, 0xae, 0xb2, 0xde, 0x56, 0x8f, 0x9b, 0x3d, 0xc1, 0x0b, 0x20, 0xc5, - 0xc3, 0xe2, 0x37, 0xc0, 0xee, 0xb0, 0xd1, 0x1c, 0x66, 0x07, 0xb8, 0x8c, 0xb4, 0xcd, 0x04, 0x00, - 0xae, 0x15, 0x3a, 0xd4, 0x30, 0x8e, 0x2c, 0x9a, 0xda, 0xcb, 0xf1, 0x08, 0x16, 0x70, 0x7a, 0x0e, - 0x86, 0x50, 0x08, 0xc3, 0x57, 0x2e, 0x25, 0x29, 0x1f, 0xa4, 0x29, 0x0b, 0x86, 0xdf, 0xba, 0xf3, - 0x3f, 0x4c, 0x53, 0x82, 0xf9, 0xc3, 0x8b, 0xb8, 0x29, 0x86, 0x54, 0x17, 0x31, 0xd7, 0x12, 0x80, - 0x51, 0xba, 0x7f, 0x5b, 0xb0, 0x8d, 0x6e, 0x8a, 0xc8, 0x16, 0x36, 0xc5, 0x95, 0x24, 0x2d, 0x70, - 0x14, 0x06, 0xc5, 0x0d, 0x84, 0xdb, 0x80, 0x5f, 0x7d, 0x73, 0xd4, 0x1f, 0x49, 0x47, 0xed, 0x59, - 0x7f, 0xd7, 0x58, 0xe8, 0x4d, 0x4c, 0xe4, 0x02, 0x84, 0x4f, 0xfa, 0xba, 0x78, 0xbb, 0xc7, 0x46, - 0x3b, 0x3a, 0x2f, 0x7d, 0xc3, 0xf1, 0x63, 0x02, 0x13, 0x19, 0x38, 0x76, 0xcd, 0x66, 0x05, 0x99, - 0x6f, 0x72, 0xb7, 0x76, 0x0d, 0xc2, 0x39, 0xcc, 0x7c, 0xf9, 0x1a, 0x72, 0x07, 0x4f, 0xc0, 0x08, - 0x5f, 0x68, 0xd9, 0x64, 0xb6, 0xb3, 0x86, 0x5b, 0x08, 0x7c, 0xe8, 0x7a, 0x77, 0x24, 0xc8, 0x7f, - 0x51, 0x2b, 0xcc, 0x7f, 0xb9, 0x8c, 0x2a, 0xff, 0x0d, 0xb9, 0x08, 0x59, 0xed, 0x66, 0x10, 0xeb, - 0xda, 0x86, 0xdd, 0x92, 0x3b, 0xdd, 0x4d, 0x3d, 0x0d, 0xd3, 0x74, 0x19, 0x66, 0xd3, 0xc3, 0x0d, - 0xf9, 0x99, 0x04, 0x57, 0xea, 0x01, 0x77, 0x2b, 0x88, 0x6e, 0x38, 0x23, 0xc2, 0x7b, 0xb1, 0x6b, - 0x6c, 0x3e, 0x84, 0x00, 0x4f, 0x67, 0x02, 0x44, 0x55, 0x69, 0x73, 0xfe, 0xa1, 0xbd, 0x11, 0x9f, - 0xd7, 0xcb, 0x87, 0xda, 0x2f, 0x57, 0xff, 0x89, 0x4c, 0x62, 0xc3, 0xa5, 0x91, 0xd3, 0xe7, 0xa0, - 0x8c, 0xf0, 0xa4, 0x07, 0x15, 0x23, 0x15, 0x68, 0xf5, 0xcf, 0x93, 0xde, 0x09, 0x7d, 0x5d, 0x4c, - 0xbd, 0xb0, 0x33, 0xa7, 0xea, 0x9b, 0xb5, 0x7e, 0x1e, 0x06, 0xa8, 0x04, 0x90, 0xdd, 0x67, 0x34, - 0x03, 0xfe, 0x8f, 0x43, 0x9d, 0x6f, 0xb7, 0x93, 0x6e, 0xd5, 0xaf, 0xdb, 0xfe, 0x67, 0x04, 0x5f, - 0x98, 0xb1, 0x35, 0x76, 0x9f, 0x29, 0x2e, 0x63, 0x4c, 0xf9, 0xd2, 0x7a, 0xa7, 0xd3, 0xde, 0x2c, - 0x1c, 0x8a, 0xde, 0x23, 0x18, 0x40, 0xa4, 0x1e, 0x32, 0x9b, 0x84, 0x03, 0xbe, 0x6b, 0x98, 0x46, - 0xb3, 0xcd, 0x96, 0x8d, 0x35, 0x67, 0xdd, 0xf6, 0x51, 0x79, 0x4c, 0x0e, 0xcf, 0xf3, 0x51, 0x7a, - 0x06, 0xc6, 0x5c, 0xe6, 0x5b, 0x2e, 0x33, 0xa5, 0x9c, 0x08, 0x29, 0xfb, 0x71, 0x14, 0xc5, 0xce, - 0xc1, 0xc1, 0x56, 0x97, 0x71, 0xbb, 0x1d, 0x0a, 0xee, 0xe5, 0x82, 0x07, 0x82, 0x71, 0x21, 0xaa, - 0x1d, 0xc3, 0x4d, 0xbd, 0xc6, 0xed, 0xf7, 0xca, 0x66, 0x27, 0xd8, 0x54, 0xed, 0xb6, 0x7c, 0xed, - 0x47, 0x7f, 0x42, 0xc4, 0xf3, 0x30, 0x2a, 0x2c, 0xbe, 0xcc, 0x4b, 0x56, 0xb8, 0x1f, 0xd5, 0xd4, - 0x2a, 0x42, 0xa0, 0xde, 0x18, 0x69, 0x85, 0x53, 0x69, 0x87, 0xd1, 0x86, 0x37, 0x0d, 0xd7, 0x58, - 0x0b, 0x16, 0x5d, 0x94, 0x79, 0x2d, 0x8e, 0xe2, 0x7a, 0x33, 0x30, 0xd8, 0xe1, 0x23, 0xe8, 0x5c, - 0x95, 0xd4, 0xfc, 0x54, 0xe8, 0xa0, 0xa4, 0x76, 0x05, 0x8e, 0x26, 0xf0, 0xcb, 0x8d, 0xd2, 0x60, - 0xd4, 0x68, 0x36, 0x5d, 0xb6, 0x61, 0x85, 0x0e, 0x3b, 0xdc, 0x88, 0x8d, 0x69, 0x4b, 0x3d, 0x86, - 0x09, 0xc0, 0x5c, 0x85, 0x91, 0x08, 0x79, 0x44, 0x94, 0xc7, 0x1d, 0x42, 0xee, 0xda, 0x16, 0x0c, - 0x07, 0xb5, 0x15, 0x3a, 0x06, 0xa5, 0x20, 0xf5, 0x28, 0x59, 0x66, 0xf8, 0xbc, 0x29, 0x45, 0x9f, - 0x37, 0x15, 0x28, 0xaf, 0x31, 0xdf, 0x30, 0x0d, 0xdf, 0xc0, 0xad, 0x0c, 0xbe, 0xe9, 0x45, 0xa0, - 0x11, 0x3c, 0xcb, 0x82, 0xc6, 0xf8, 0x3e, 0x2e, 0x75, 0x30, 0x5c, 0x76, 0x9e, 0x8f, 0x6b, 0xbf, - 0x26, 0x30, 0x12, 0xc9, 0xe4, 0x0b, 0xae, 0x3f, 0x11, 0x49, 0xd6, 0xf8, 0xfa, 0x0b, 0xa5, 0x71, - 0x12, 0x26, 0x6c, 0x1a, 0x8c, 0xde, 0x5d, 0x77, 0x2d, 0xcf, 0xb4, 0x5a, 0xdc, 0xa2, 0x62, 0xf1, - 0xd8, 0x58, 0x8c, 0xc2, 0x40, 0x82, 0x42, 0xf2, 0x29, 0x3c, 0xd8, 0xf3, 0x14, 0xd6, 0x1e, 0x94, - 0x60, 0x38, 0xb8, 0x91, 0x33, 0xb3, 0xeb, 0x78, 0x42, 0x57, 0x4a, 0x26, 0x74, 0x87, 0x61, 0x40, - 0x1c, 0x4e, 0x61, 0x43, 0xf1, 0x11, 0x43, 0xb6, 0x2f, 0x81, 0xec, 0x39, 0x00, 0xcf, 0x37, 0x5c, - 0x7f, 0xd9, 0x34, 0x7c, 0xc6, 0x71, 0x77, 0xbd, 0x4f, 0x14, 0x7f, 0xeb, 0xb2, 0xf8, 0x5b, 0x7f, - 0x45, 0x16, 0x7f, 0x1b, 0xc3, 0x5c, 0xfa, 0xba, 0xe1, 0x33, 0x7a, 0x19, 0xca, 0xcc, 0x36, 0x85, - 0xe2, 0x60, 0xae, 0xe2, 0x10, 0xb3, 0x4d, 0xae, 0x76, 0x15, 0xf6, 0x77, 0xc9, 0x74, 0x0f, 0xaa, - 0xd0, 0x1d, 0xca, 0xd5, 0x1d, 0x95, 0x0a, 0x7c, 0x02, 0x0a, 0xfb, 0x9c, 0x0e, 0xb3, 0xc7, 0xcb, - 0x27, 0xc9, 0x54, 0xb9, 0xc1, 0xff, 0xd6, 0xfe, 0x48, 0xe0, 0x60, 0x32, 0x32, 0xfe, 0x17, 0x89, - 0x4b, 0x5a, 0xc8, 0xda, 0x5b, 0x30, 0x64, 0xed, 0x4b, 0x0b, 0x59, 0x93, 0x70, 0x80, 0x79, 0x2d, - 0xd7, 0xb9, 0x1f, 0xca, 0x09, 0x1f, 0x19, 0x93, 0xc3, 0x18, 0xb0, 0x9e, 0xc1, 0xca, 0x0a, 0x3f, - 0x40, 0xd7, 0x5c, 0x66, 0xf8, 0x8e, 0x3b, 0xdf, 0x6e, 0x3b, 0xf7, 0xdb, 0x96, 0x27, 0xd3, 0x7a, - 0xed, 0x45, 0xac, 0x76, 0x64, 0x08, 0x85, 0x25, 0x43, 0x66, 0x77, 0xa1, 0x0a, 0xf7, 0x2f, 0x37, - 0xe4, 0xa7, 0x76, 0x17, 0x4e, 0xca, 0x6b, 0xa8, 0xbb, 0x74, 0x74, 0x9a, 0xbe, 0xdf, 0x79, 0xef, - 0xcb, 0x5a, 0x51, 0xfa, 0x62, 0x88, 0xf5, 0x0c, 0x8c, 0x89, 0xf3, 0xd7, 0xc2, 0x5f, 0xb0, 0xca, - 0xb9, 0xbf, 0x15, 0x15, 0xef, 0xdf, 0x0d, 0x77, 0x34, 0xda, 0x1d, 0x78, 0x89, 0x49, 0xe4, 0xda, - 0x75, 0xcc, 0xee, 0xc2, 0x71, 0x04, 0x78, 0x01, 0xf6, 0xae, 0x30, 0x19, 0x0c, 0x8f, 0xc5, 0x96, - 0x94, 0x8b, 0x5d, 0x73, 0x2c, 0xbb, 0xd1, 0x95, 0xd2, 0x4e, 0xc1, 0x89, 0x28, 0xe5, 0x05, 0xd7, - 0x32, 0x57, 0xd9, 0xb5, 0x3b, 0x86, 0x65, 0x07, 0x17, 0xc1, 0xad, 0xf8, 0x16, 0xc4, 0x45, 0x82, - 0x5b, 0xe1, 0x88, 0x21, 0x7e, 0x5e, 0x6e, 0xf2, 0xdf, 0x97, 0x5b, 0x5c, 0x00, 0x6d, 0x73, 0xc8, - 0xe8, 0xd5, 0xd5, 0x5e, 0xc5, 0x97, 0x18, 0x86, 0xc0, 0xcf, 0xdb, 0xae, 0xd3, 0x6e, 0xaf, 0x31, - 0xbb, 0xe8, 0x93, 0x30, 0xfa, 0x6a, 0x2d, 0xc5, 0x2b, 0xed, 0x6d, 0xa8, 0x66, 0x4d, 0x8d, 0x80, - 0xbf, 0x08, 0xfb, 0xe5, 0xdc, 0xd1, 0xea, 0xfb, 0x19, 0x45, 0xb5, 0x25, 0x32, 0xcb, 0x28, 0xea, - 0x72, 0xdb, 0x6b, 0xef, 0x92, 0xac, 0xe5, 0xbc, 0x27, 0xfc, 0xba, 0xfd, 0x98, 0xe0, 0x76, 0xa6, - 0x21, 0x41, 0xe6, 0x37, 0x60, 0x84, 0x85, 0xc3, 0x98, 0x2f, 0x14, 0xe4, 0x1d, 0xd5, 0xec, 0x9b, - 0x87, 0xcf, 0xfc, 0xfe, 0x3c, 0x0c, 0x70, 0xd4, 0xf4, 0x9b, 0x04, 0x86, 0xb0, 0xdd, 0x43, 0x27, - 0xd3, 0x20, 0xa5, 0xf4, 0xe1, 0x2a, 0x53, 0xf9, 0x82, 0x62, 0x51, 0xed, 0x99, 0x6f, 0x7d, 0xf2, - 0xcf, 0xf7, 0x4b, 0x13, 0xf4, 0x69, 0x3d, 0xa5, 0xe3, 0x27, 0xdb, 0x43, 0x7f, 0x26, 0x30, 0x16, - 0x6f, 0x39, 0xd1, 0x7a, 0xde, 0x0a, 0xf1, 0xba, 0x68, 0x45, 0x2f, 0x2c, 0x8f, 0xc0, 0x0c, 0x0e, - 0xec, 0x2b, 0xf4, 0xa2, 0x02, 0x58, 0xad, 0xb9, 0x59, 0xe3, 0x19, 0x80, 0xbe, 0xc5, 0xff, 0xd9, - 0x5e, 0xba, 0x40, 0xcf, 0x29, 0xe4, 0xf5, 0x98, 0x30, 0xfd, 0x25, 0x81, 0x01, 0xbe, 0x3a, 0x3d, - 0xa3, 0x46, 0x27, 0x49, 0x9c, 0xcd, 0x13, 0x43, 0xec, 0xb7, 0x38, 0xf6, 0x9b, 0xf4, 0x74, 0x26, - 0x16, 0x7d, 0x4b, 0x9e, 0xd3, 0xed, 0xa5, 0x29, 0x7a, 0x56, 0x85, 0x39, 0x94, 0xa4, 0x9f, 0x10, - 0x18, 0x8d, 0xf6, 0x97, 0xe8, 0x45, 0x35, 0xa0, 0x78, 0x17, 0xac, 0x52, 0x2b, 0x28, 0x8d, 0x2c, - 0x56, 0x38, 0x8b, 0xaf, 0x29, 0x76, 0xa0, 0x86, 0x5d, 0xac, 0x28, 0x9b, 0x4b, 0xb4, 0x5e, 0x8c, - 0x8d, 0x2e, 0x5b, 0x60, 0x6f, 0x13, 0x28, 0xcb, 0x7a, 0x36, 0xcd, 0xf6, 0xdc, 0x44, 0x63, 0xab, - 0x72, 0xae, 0x80, 0x24, 0x32, 0x39, 0xcd, 0x99, 0x54, 0xe9, 0xf1, 0x34, 0x64, 0x41, 0xf9, 0xfb, - 0xfb, 0x25, 0x38, 0x90, 0xe8, 0xdc, 0x50, 0x3d, 0x77, 0x91, 0x78, 0xdd, 0xb0, 0x72, 0xa9, 0xb8, - 0x02, 0x82, 0xfb, 0x90, 0x70, 0x74, 0x3f, 0x20, 0xf4, 0x92, 0x0a, 0x5e, 0xd7, 0xd7, 0x7b, 0x5c, - 0x47, 0xa7, 0x35, 0x95, 0x4e, 0xaf, 0xaf, 0x4d, 0x53, 0xbd, 0xe0, 0xee, 0x04, 0x66, 0x79, 0xb7, - 0x04, 0x47, 0x52, 0x1b, 0x33, 0xf4, 0x72, 0x01, 0xae, 0xbd, 0x9d, 0xa5, 0xca, 0xb3, 0x3b, 0x55, - 0x43, 0x43, 0xbd, 0xc9, 0xed, 0xb4, 0x49, 0x5f, 0xc8, 0x33, 0x53, 0x90, 0x98, 0xd7, 0x2c, 0x53, - 0xdf, 0x8a, 0xa6, 0xee, 0xdb, 0x4b, 0xcf, 0xd3, 0xcf, 0x28, 0x2d, 0xa6, 0xd0, 0xa5, 0x7f, 0x25, - 0x51, 0x07, 0x11, 0x71, 0xb0, 0x88, 0x83, 0xc4, 0x02, 0xe1, 0xa5, 0xe2, 0x0a, 0xc8, 0xbb, 0xc5, - 0x79, 0xdf, 0x56, 0x6f, 0x75, 0x6f, 0x28, 0xbc, 0x48, 0xcf, 0x2b, 0x99, 0xc6, 0x63, 0xe1, 0x03, - 0x02, 0x43, 0x08, 0x40, 0x71, 0xcd, 0xc4, 0x0b, 0xd4, 0x95, 0xa9, 0x7c, 0x41, 0xe4, 0x70, 0x9b, - 0x73, 0xf8, 0x32, 0x9d, 0x52, 0x40, 0xd2, 0xb7, 0xc2, 0x7c, 0x20, 0x33, 0x92, 0x07, 0xf0, 0xa3, - 0xc2, 0xfc, 0x92, 0xc4, 0xca, 0xb0, 0x02, 0x7d, 0xbc, 0x0b, 0xa4, 0x40, 0x9f, 0x68, 0xe7, 0xa8, - 0x2f, 0x49, 0x59, 0x49, 0xfe, 0x3b, 0x81, 0x03, 0x89, 0x6e, 0x87, 0xc2, 0x3b, 0xd2, 0xfb, 0x32, - 0x0a, 0xef, 0xc8, 0x68, 0xa4, 0x68, 0x8c, 0x63, 0x5b, 0x4e, 0x8f, 0xba, 0x88, 0xad, 0xeb, 0x1c, - 0x22, 0xda, 0xea, 0x5b, 0xe2, 0xdf, 0xed, 0xa5, 0x1a, 0xbd, 0xa0, 0xd0, 0xd0, 0x13, 0xe2, 0xf4, - 0x6f, 0x04, 0xc6, 0xe2, 0xb5, 0x77, 0x45, 0x0a, 0x90, 0xda, 0x52, 0xa9, 0xe8, 0x85, 0xe5, 0x91, - 0xda, 0x2a, 0xa7, 0x66, 0xa4, 0x87, 0xac, 0x08, 0xb5, 0x9e, 0x28, 0x57, 0x4f, 0xbf, 0xb3, 0x24, - 0xb7, 0xa4, 0x3c, 0xfd, 0xb7, 0x7c, 0x7f, 0x46, 0x9a, 0x1f, 0xb4, 0xc0, 0x56, 0x24, 0x8e, 0xc3, - 0xf4, 0x0e, 0x34, 0x90, 0xa2, 0xc3, 0x29, 0x5a, 0x74, 0x36, 0x87, 0x62, 0xea, 0x11, 0x99, 0x49, - 0xbf, 0x31, 0x24, 0xcd, 0x34, 0x1d, 0xfa, 0x2b, 0x02, 0x03, 0x1c, 0x8d, 0x22, 0xe7, 0x89, 0x56, - 0x9b, 0x15, 0x39, 0x4f, 0xac, 0x16, 0xac, 0x7d, 0x95, 0x33, 0xb9, 0x45, 0x27, 0x33, 0x21, 0xe9, - 0x5b, 0x91, 0x57, 0x7b, 0xe6, 0x01, 0x97, 0xe8, 0x63, 0xc2, 0xf4, 0x83, 0x52, 0xf7, 0x80, 0xf3, - 0xe2, 0x80, 0xf2, 0x80, 0x47, 0x5b, 0x1f, 0xca, 0x03, 0x1e, 0xeb, 0x68, 0x68, 0xbf, 0x15, 0x77, - 0xf0, 0x47, 0x24, 0x6b, 0x23, 0xb8, 0x78, 0x1c, 0x53, 0x37, 0x74, 0xf2, 0x7a, 0xc4, 0xf6, 0xd2, - 0x67, 0xd3, 0xef, 0xa4, 0x54, 0x2a, 0xe1, 0x64, 0x81, 0xfa, 0x15, 0xfa, 0xbc, 0x62, 0x55, 0x2f, - 0x94, 0x4c, 0xb3, 0x23, 0xfd, 0x2e, 0x81, 0xb2, 0x2c, 0x47, 0xd3, 0x5c, 0xca, 0x05, 0xd2, 0xa7, - 0x64, 0x6d, 0x5b, 0xab, 0x73, 0xe3, 0x64, 0xa4, 0xa9, 0xbd, 0x28, 0xe9, 0xbf, 0x78, 0x24, 0x8c, - 0xb5, 0x0c, 0x94, 0x91, 0x30, 0xad, 0xcb, 0xa1, 0x8c, 0x84, 0xa9, 0xdd, 0x08, 0xed, 0x1e, 0x87, - 0xf9, 0xba, 0x72, 0x0b, 0xf9, 0x61, 0x4a, 0xf3, 0xc6, 0x39, 0x3a, 0xb3, 0xe3, 0x2d, 0xf4, 0xe8, - 0x47, 0x04, 0x46, 0x22, 0xdd, 0x00, 0x7a, 0x21, 0x13, 0x74, 0x6f, 0x5f, 0xa2, 0x72, 0xb1, 0x98, - 0x30, 0xb2, 0xfb, 0x02, 0x67, 0xb7, 0x40, 0x4f, 0xa6, 0xc1, 0x34, 0xda, 0xed, 0x9a, 0x04, 0xb5, - 0x94, 0x91, 0xe7, 0x06, 0xa0, 0x7f, 0x47, 0x60, 0x50, 0xd4, 0xf8, 0x69, 0xf6, 0xe1, 0x8e, 0x35, - 0x0f, 0x2a, 0x93, 0xb9, 0x72, 0x88, 0xd2, 0xe4, 0x28, 0x5f, 0x4b, 0xbf, 0xe7, 0x3d, 0x2e, 0x9b, - 0x30, 0x7c, 0x4e, 0x10, 0x8b, 0x1b, 0x5e, 0xcc, 0x40, 0xbf, 0x47, 0x60, 0x24, 0x52, 0xf8, 0x57, - 0x98, 0xbd, 0xb7, 0x73, 0xa0, 0x30, 0x7b, 0x4a, 0x2f, 0x41, 0x9b, 0xe2, 0x84, 0xb4, 0x74, 0xb3, - 0x8b, 0xbf, 0x6a, 0xbc, 0xcb, 0x40, 0xdf, 0x22, 0x30, 0x28, 0x8a, 0xfc, 0x0a, 0xb3, 0xc6, 0xfa, - 0x09, 0x0a, 0xb3, 0xc6, 0x3b, 0x0c, 0xda, 0x19, 0x8e, 0xe2, 0x38, 0xad, 0xa4, 0xa6, 0x44, 0x5c, - 0xf6, 0xdb, 0x25, 0x42, 0x1f, 0x12, 0x80, 0x90, 0x04, 0x3d, 0x5f, 0x80, 0xa9, 0x84, 0x72, 0xa1, - 0x90, 0x2c, 0xc2, 0xb1, 0x38, 0x9c, 0x56, 0xc6, 0x4b, 0x2f, 0x34, 0x8a, 0xbe, 0x15, 0xed, 0x5a, - 0x64, 0xbf, 0x3e, 0x22, 0x66, 0x4c, 0xa8, 0x74, 0xf3, 0xd2, 0x23, 0xa9, 0x85, 0x52, 0xc5, 0xeb, - 0x43, 0x55, 0x7d, 0x55, 0xbc, 0x3e, 0x94, 0xf5, 0x58, 0x6d, 0x96, 0x73, 0xce, 0xc8, 0x9a, 0xc4, - 0x6b, 0x18, 0xab, 0x9f, 0x35, 0x23, 0xc0, 0xf8, 0x1b, 0x02, 0x87, 0xd3, 0x2a, 0xa7, 0x74, 0x4e, - 0x75, 0xf6, 0xb3, 0xaa, 0xba, 0x95, 0xcb, 0x3b, 0xd4, 0x42, 0xe8, 0x33, 0x1c, 0x7a, 0xc6, 0x7b, - 0x00, 0xcb, 0x90, 0xb5, 0x18, 0x05, 0x8f, 0xbe, 0x43, 0xa0, 0x2c, 0xcb, 0xa8, 0x34, 0xa7, 0x9c, - 0x14, 0x56, 0x60, 0x15, 0xb7, 0x4a, 0xb2, 0x26, 0x8b, 0x3e, 0x7d, 0x82, 0x4e, 0x64, 0x1b, 0x74, - 0x85, 0x31, 0xfa, 0x31, 0x81, 0x43, 0x29, 0x65, 0x56, 0x3a, 0x9b, 0x67, 0x8b, 0x94, 0xba, 0x6d, - 0x65, 0x6e, 0x67, 0x4a, 0x88, 0x74, 0x9a, 0x23, 0xcd, 0xc8, 0x57, 0xa4, 0xfd, 0x44, 0x8d, 0xb7, - 0x26, 0x6a, 0xbc, 0xf4, 0x0f, 0x04, 0x9e, 0xea, 0xa9, 0x15, 0xd2, 0xe9, 0xbc, 0xf7, 0x52, 0x4f, - 0xc1, 0xb7, 0x32, 0xb3, 0x13, 0x15, 0xc4, 0x7b, 0x83, 0xe3, 0x9d, 0xa7, 0x57, 0x8b, 0x3e, 0xb6, - 0xf4, 0x48, 0x0d, 0x33, 0x9a, 0x17, 0x3f, 0x20, 0x40, 0x7b, 0xcb, 0xa6, 0x74, 0x07, 0x98, 0x02, - 0xcb, 0xcf, 0xee, 0x48, 0x07, 0x89, 0x5c, 0xe1, 0x44, 0x9e, 0xa5, 0x73, 0x9f, 0x86, 0xc8, 0xc2, - 0xab, 0x7f, 0x7a, 0x54, 0x25, 0x0f, 0x1f, 0x55, 0xc9, 0x3f, 0x1e, 0x55, 0xc9, 0x7b, 0x8f, 0xab, - 0x7b, 0x1e, 0x3e, 0xae, 0xee, 0xf9, 0xcb, 0xe3, 0xea, 0x9e, 0xa5, 0xab, 0xab, 0x96, 0x7f, 0x67, - 0xbd, 0x59, 0x6f, 0x39, 0x6b, 0x62, 0xe6, 0x9a, 0xcd, 0xfc, 0xfb, 0x8e, 0xfb, 0x3a, 0x7e, 0xb5, - 0x99, 0xb9, 0xca, 0x5c, 0xfd, 0x8d, 0xc8, 0x82, 0xfc, 0xff, 0x61, 0x88, 0x08, 0xb5, 0x31, 0xdd, - 0x1c, 0xe4, 0x6d, 0xae, 0xd9, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x02, 0xbf, 0x05, 0xd5, 0x06, + // 2643 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0x1c, 0x57, + 0x15, 0xcf, 0xdd, 0xc4, 0xf6, 0xfa, 0xd8, 0x71, 0xd2, 0x1b, 0x27, 0x38, 0xdb, 0x78, 0x93, 0x4c, + 0x93, 0xd8, 0x89, 0xb3, 0x3b, 0xf1, 0x47, 0x0a, 0x6d, 0x43, 0x83, 0xed, 0xd0, 0xe2, 0x07, 0xa4, + 0x74, 0x5b, 0x05, 0xd5, 0x90, 0x9a, 0xd9, 0x9d, 0x6b, 0x67, 0xd2, 0xf5, 0xcc, 0x66, 0x66, 0xec, + 0xd4, 0x58, 0xa6, 0x05, 0xa9, 0x2d, 0x4f, 0x50, 0x51, 0x84, 0xfa, 0x52, 0xf1, 0x21, 0x78, 0x80, + 0x07, 0x84, 0x0a, 0x08, 0xa1, 0x3c, 0x20, 0x84, 0x84, 0x78, 0x8c, 0x54, 0x1e, 0xf8, 0x78, 0x41, + 0x09, 0x12, 0xbc, 0xf3, 0x0f, 0xa0, 0xbd, 0xf7, 0xdc, 0xf9, 0xda, 0x99, 0xbb, 0xe3, 0xb0, 0x8d, + 0xfc, 0xe4, 0x9d, 0x3b, 0xe7, 0xcc, 0xfd, 0xfd, 0xce, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0x91, 0xa1, + 0xec, 0xb2, 0x35, 0x66, 0xeb, 0xac, 0xe1, 0x34, 0x5c, 0x66, 0x5a, 0xbe, 0xbe, 0x39, 0xad, 0xdf, + 0xd9, 0x60, 0xee, 0x56, 0xb5, 0xe5, 0x3a, 0xbe, 0x43, 0x29, 0x7f, 0x5f, 0x0d, 0xde, 0x57, 0x37, + 0xa7, 0x4b, 0x17, 0x1a, 0x8e, 0xb7, 0xee, 0x78, 0x7a, 0xdd, 0xf0, 0x98, 0x10, 0xd6, 0x37, 0xa7, + 0xeb, 0xcc, 0x37, 0xa6, 0xf5, 0x96, 0xb1, 0x66, 0xd9, 0x86, 0x6f, 0x39, 0xb6, 0xd0, 0x2f, 0x95, + 0xa3, 0xb2, 0x52, 0xaa, 0xe1, 0x58, 0xf2, 0xfd, 0x89, 0x35, 0xc7, 0x59, 0x6b, 0x32, 0xdd, 0x68, + 0x59, 0xba, 0x61, 0xdb, 0x8e, 0xcf, 0x95, 0x3d, 0x7c, 0x7b, 0x12, 0xdf, 0xf2, 0xa7, 0xfa, 0xc6, + 0xaa, 0xee, 0x5b, 0xeb, 0xcc, 0xf3, 0x8d, 0xf5, 0x96, 0xfc, 0x7c, 0x0a, 0x7c, 0xcf, 0x37, 0x7c, + 0xa6, 0x78, 0xef, 0x6f, 0xb5, 0x18, 0x4e, 0xa0, 0xdd, 0x84, 0x23, 0x2f, 0xb5, 0x09, 0x2c, 0x36, + 0x0d, 0xcf, 0x63, 0x5e, 0x8d, 0xdd, 0xd9, 0x60, 0x9e, 0x4f, 0x5f, 0x00, 0x08, 0x99, 0x8c, 0x91, + 0x53, 0x64, 0x72, 0x68, 0xe6, 0x5c, 0x55, 0x50, 0xa9, 0xb6, 0xa9, 0x54, 0x85, 0x8d, 0x90, 0x50, + 0xf5, 0xba, 0xb1, 0xc6, 0x50, 0xb7, 0x16, 0xd1, 0xd4, 0x3e, 0x20, 0x30, 0x1a, 0xff, 0xbe, 0xd7, + 0x72, 0x6c, 0x8f, 0xd1, 0x4f, 0xc3, 0x40, 0x43, 0x0c, 0x8d, 0x91, 0x53, 0xfb, 0x27, 0x87, 0x66, + 0xc6, 0xab, 0x9d, 0x86, 0xae, 0x72, 0xad, 0x25, 0x7b, 0xd5, 0xa9, 0x49, 0x69, 0xfa, 0x62, 0x0c, + 0x59, 0x81, 0x23, 0x9b, 0xe8, 0x8a, 0x4c, 0xcc, 0x1a, 0x83, 0xf6, 0x35, 0x28, 0x45, 0x91, 0x2d, + 0x6c, 0xcd, 0x9b, 0xeb, 0x96, 0x2d, 0x0d, 0x30, 0x0a, 0x7d, 0x46, 0xfb, 0x99, 0x73, 0x1f, 0xac, + 0x89, 0x87, 0x84, 0x59, 0x0a, 0x8f, 0x6c, 0x96, 0x1f, 0x10, 0x78, 0x32, 0x75, 0xf2, 0x3d, 0x63, + 0x9d, 0x2a, 0x3c, 0x11, 0x02, 0x94, 0x46, 0x39, 0x0e, 0x45, 0x3e, 0xd1, 0x8a, 0x65, 0xa2, 0x5d, + 0xc4, 0xc4, 0x4b, 0xa6, 0xb6, 0x04, 0x34, 0x2a, 0x8f, 0x3c, 0x66, 0xa1, 0x8f, 0x0b, 0xa0, 0x07, + 0x75, 0x61, 0x21, 0x64, 0xb5, 0x1d, 0x18, 0x0b, 0x3f, 0xb5, 0xe4, 0x79, 0x1b, 0xcc, 0xcd, 0x81, + 0xa0, 0x67, 0x6b, 0xf3, 0x75, 0x38, 0x9e, 0x32, 0x3d, 0x12, 0x1a, 0x83, 0x01, 0x4b, 0x0c, 0xf1, + 0x85, 0x19, 0xac, 0xc9, 0xc7, 0xde, 0x59, 0xfe, 0x35, 0xdc, 0x31, 0xd7, 0x5d, 0xe7, 0x36, 0x6b, + 0xf8, 0x3d, 0xdf, 0x92, 0x1f, 0x12, 0x38, 0x9a, 0x98, 0x00, 0xc9, 0x3d, 0x07, 0xc5, 0x16, 0x8e, + 0xa1, 0xdb, 0x9d, 0x4c, 0x5b, 0x30, 0xd4, 0xe3, 0x4b, 0x16, 0x28, 0xf4, 0x8e, 0xff, 0x5b, 0x72, + 0x6f, 0x48, 0x7c, 0x0b, 0x79, 0x9d, 0xb0, 0x67, 0x2e, 0xf0, 0x13, 0x02, 0x27, 0xd2, 0x21, 0xec, + 0x29, 0x4b, 0x7d, 0x9b, 0xc0, 0xe9, 0x04, 0xcc, 0x1a, 0x5b, 0x65, 0x2e, 0xb3, 0x1b, 0x6c, 0xc9, + 0x94, 0xf6, 0x3a, 0x0d, 0xc3, 0xae, 0x1c, 0x0d, 0x6d, 0x36, 0xe4, 0x86, 0x92, 0x3d, 0xb3, 0xdb, + 0xcf, 0x09, 0x68, 0x2a, 0x40, 0x7b, 0xca, 0x7a, 0xdb, 0x1d, 0x6e, 0xf6, 0x18, 0x0f, 0x80, 0x14, + 0x0f, 0x8b, 0x9f, 0x00, 0x7b, 0xc3, 0x46, 0x73, 0x98, 0x1d, 0xe0, 0x34, 0xd2, 0x36, 0xe3, 0x00, + 0x38, 0x57, 0xe8, 0x50, 0x83, 0x38, 0xb2, 0x64, 0x6a, 0x2f, 0xc5, 0x23, 0x58, 0xc0, 0xe9, 0x19, + 0x18, 0x40, 0x21, 0x0c, 0x5f, 0x5d, 0x29, 0x49, 0xf9, 0x20, 0x4d, 0x59, 0x30, 0xfc, 0xc6, 0xad, + 0x4f, 0x30, 0x4d, 0x09, 0xbe, 0x1f, 0x1e, 0xc4, 0x75, 0x31, 0xa4, 0x3a, 0x88, 0xb9, 0x96, 0x00, + 0x8c, 0xd2, 0xbd, 0x5b, 0x82, 0x1d, 0x74, 0x53, 0x44, 0xb6, 0xb0, 0x25, 0x8e, 0x24, 0x69, 0x81, + 0x63, 0xd0, 0x2f, 0x4e, 0x20, 0x5c, 0x06, 0x7c, 0xea, 0x99, 0xa3, 0xfe, 0x50, 0x3a, 0x6a, 0xc7, + 0xfc, 0x7b, 0xc6, 0x42, 0x6f, 0x62, 0x22, 0x17, 0x20, 0x7c, 0xdc, 0xc7, 0xc5, 0xdb, 0x1d, 0x36, + 0xda, 0xd5, 0x7e, 0xe9, 0x19, 0x8e, 0x1f, 0x11, 0x18, 0xcf, 0xc0, 0xb1, 0x67, 0x16, 0x2b, 0xc8, + 0x7c, 0x93, 0xab, 0xb5, 0x67, 0x10, 0xce, 0x61, 0xe6, 0xcb, 0xe7, 0x90, 0x2b, 0x78, 0x12, 0x86, + 0xf8, 0x44, 0x2b, 0x26, 0xb3, 0x9d, 0x75, 0x5c, 0x42, 0xe0, 0x43, 0xd7, 0xda, 0x23, 0x41, 0xfe, + 0x8b, 0x5a, 0x61, 0xfe, 0xcb, 0x65, 0x54, 0xf9, 0x6f, 0xc8, 0x45, 0xc8, 0x6a, 0xd7, 0x83, 0x58, + 0xd7, 0x34, 0xec, 0x86, 0x5c, 0xe9, 0x76, 0xea, 0x69, 0x98, 0xa6, 0xcb, 0x30, 0x9b, 0x1e, 0xac, + 0xc9, 0xc7, 0x24, 0xb8, 0x42, 0x07, 0xb8, 0x1b, 0x41, 0x74, 0xc3, 0x2f, 0x22, 0xbc, 0xe7, 0xdb, + 0xc6, 0xe6, 0x43, 0x08, 0xf0, 0x4c, 0x26, 0x40, 0x54, 0x95, 0x36, 0xe7, 0x0f, 0xda, 0x1b, 0xf1, + 0xef, 0x7a, 0xdd, 0xa1, 0xf6, 0xca, 0xd5, 0x7f, 0x2c, 0x93, 0xd8, 0x70, 0x6a, 0xe4, 0xf4, 0x39, + 0x28, 0x22, 0x3c, 0xe9, 0x41, 0xf9, 0x48, 0x05, 0x5a, 0xbd, 0xf3, 0xa4, 0x77, 0x42, 0x5f, 0x17, + 0x9f, 0x5e, 0xd8, 0x9d, 0x53, 0xf5, 0xcc, 0x5a, 0x3f, 0x0b, 0x03, 0x54, 0x02, 0xc8, 0xde, 0x33, + 0x9a, 0x01, 0x9f, 0xe2, 0x50, 0xe7, 0x9b, 0xcd, 0xa4, 0x5b, 0xf5, 0xea, 0xb4, 0xff, 0x29, 0xc1, + 0x1b, 0x66, 0x6c, 0x8e, 0xbd, 0x67, 0x8a, 0xcb, 0x18, 0x53, 0x5e, 0xde, 0x68, 0xb5, 0x9a, 0x5b, + 0xb9, 0x43, 0xd1, 0x7b, 0x04, 0x03, 0x88, 0xd4, 0x43, 0x66, 0x13, 0x70, 0xc8, 0x77, 0x0d, 0xd3, + 0xa8, 0x37, 0xd9, 0x8a, 0xb1, 0xee, 0x6c, 0xd8, 0x3e, 0x2a, 0x8f, 0xc8, 0xe1, 0x79, 0x3e, 0x4a, + 0xcf, 0xc2, 0x88, 0xcb, 0x7c, 0xcb, 0x65, 0xa6, 0x94, 0x13, 0x21, 0xe5, 0x20, 0x8e, 0xa2, 0xd8, + 0x79, 0x38, 0xdc, 0x68, 0x33, 0x6e, 0x36, 0x43, 0xc1, 0xfd, 0x5c, 0xf0, 0x50, 0x30, 0x2e, 0x44, + 0xb5, 0xe3, 0xb8, 0xa8, 0x8b, 0xdc, 0x7e, 0xaf, 0x6c, 0xb5, 0x82, 0x45, 0xd5, 0x6e, 0xca, 0xdb, + 0x7e, 0xf4, 0x15, 0x22, 0x9e, 0x87, 0x61, 0x61, 0xf1, 0x15, 0x5e, 0xb2, 0xc2, 0xf5, 0x28, 0xa7, + 0x56, 0x11, 0x02, 0xf5, 0xda, 0x50, 0x23, 0xfc, 0x94, 0x36, 0x8a, 0x36, 0xbc, 0x6e, 0xb8, 0xc6, + 0x7a, 0x30, 0xe9, 0x92, 0xcc, 0x6b, 0x71, 0x14, 0xe7, 0x9b, 0x81, 0xfe, 0x16, 0x1f, 0x41, 0xe7, + 0x2a, 0xa5, 0xe6, 0xa7, 0x42, 0x07, 0x25, 0xb5, 0x2b, 0x70, 0x2c, 0x81, 0x5f, 0x2e, 0x94, 0x06, + 0xc3, 0x46, 0xbd, 0xee, 0xb2, 0x4d, 0x2b, 0x74, 0xd8, 0xc1, 0x5a, 0x6c, 0x4c, 0x5b, 0xee, 0x30, + 0x4c, 0x00, 0xe6, 0x2a, 0x0c, 0x45, 0xc8, 0x23, 0xa2, 0x6e, 0xdc, 0x21, 0xe4, 0xae, 0x6d, 0xc3, + 0x60, 0x50, 0x5b, 0xa1, 0x23, 0x50, 0x08, 0x52, 0x8f, 0x82, 0x65, 0x86, 0xd7, 0x9b, 0x42, 0xf4, + 0x7a, 0x53, 0x82, 0xe2, 0x3a, 0xf3, 0x0d, 0xd3, 0xf0, 0x0d, 0x5c, 0xca, 0xe0, 0x99, 0x5e, 0x04, + 0x1a, 0xc1, 0xb3, 0x22, 0x68, 0x8c, 0x1d, 0xe0, 0x52, 0x87, 0xc3, 0x69, 0xe7, 0xf9, 0xb8, 0xf6, + 0x1b, 0x02, 0x43, 0x91, 0x4c, 0x3e, 0xe7, 0xfc, 0xe3, 0x91, 0x64, 0x8d, 0xcf, 0xbf, 0x50, 0x18, + 0x23, 0x61, 0xc2, 0xa6, 0xc1, 0xf0, 0xed, 0x0d, 0xd7, 0xf2, 0x4c, 0xab, 0xc1, 0x2d, 0x2a, 0x26, + 0x8f, 0x8d, 0xc5, 0x28, 0xf4, 0x25, 0x28, 0x24, 0xaf, 0xc2, 0xfd, 0x1d, 0x57, 0x61, 0xed, 0x5e, + 0x01, 0x06, 0x83, 0x13, 0x39, 0x33, 0xbb, 0x8e, 0x27, 0x74, 0x85, 0x64, 0x42, 0x37, 0x0a, 0x7d, + 0x62, 0x73, 0x0a, 0x1b, 0x8a, 0x87, 0x18, 0xb2, 0x03, 0x09, 0x64, 0xcf, 0x00, 0x78, 0xbe, 0xe1, + 0xfa, 0x2b, 0xa6, 0xe1, 0x33, 0x8e, 0xbb, 0xed, 0x7d, 0xa2, 0xf8, 0x5b, 0x95, 0xc5, 0xdf, 0xea, + 0x2b, 0xb2, 0xf8, 0x5b, 0x1b, 0xe4, 0xd2, 0xd7, 0x0c, 0x9f, 0xd1, 0xcb, 0x50, 0x64, 0xb6, 0x29, + 0x14, 0xfb, 0xbb, 0x2a, 0x0e, 0x30, 0xdb, 0xe4, 0x6a, 0x57, 0xe1, 0x60, 0x9b, 0x4c, 0x7b, 0xa3, + 0x0a, 0xdd, 0x81, 0xae, 0xba, 0xc3, 0x52, 0x81, 0x7f, 0x80, 0xc2, 0x01, 0xa7, 0xc5, 0xec, 0xb1, + 0xe2, 0x29, 0x32, 0x59, 0xac, 0xf1, 0xdf, 0xda, 0x9f, 0x08, 0x1c, 0x4e, 0x46, 0xc6, 0xff, 0x23, + 0x71, 0x49, 0x0b, 0x59, 0xfb, 0x73, 0x86, 0xac, 0x03, 0x69, 0x21, 0x6b, 0x02, 0x0e, 0x31, 0xaf, + 0xe1, 0x3a, 0x77, 0x43, 0x39, 0xe1, 0x23, 0x23, 0x72, 0x18, 0x03, 0xd6, 0x53, 0x58, 0x59, 0xe1, + 0x1b, 0x68, 0xd1, 0x65, 0x86, 0xef, 0xb8, 0xf3, 0xcd, 0xa6, 0x73, 0xb7, 0x69, 0x79, 0x32, 0xad, + 0xd7, 0x9e, 0xc7, 0x6a, 0x47, 0x86, 0x50, 0x58, 0x32, 0x64, 0x76, 0x1b, 0xaa, 0x70, 0xff, 0x62, + 0x4d, 0x3e, 0x6a, 0xb7, 0xe1, 0x94, 0x3c, 0x86, 0xda, 0x53, 0x47, 0x3f, 0xd3, 0xf3, 0x33, 0xef, + 0x7d, 0x59, 0x2b, 0x4a, 0x9f, 0x0c, 0xb1, 0x9e, 0x85, 0x11, 0xb1, 0xff, 0x1a, 0xf8, 0x06, 0xab, + 0x9c, 0x07, 0x1b, 0x51, 0xf1, 0xde, 0x9d, 0x70, 0xc7, 0xa2, 0xdd, 0x81, 0x17, 0x98, 0x44, 0xae, + 0x5d, 0xc3, 0xec, 0x2e, 0x1c, 0x47, 0x80, 0x53, 0xb0, 0x7f, 0x95, 0xc9, 0x60, 0x78, 0x3c, 0x36, + 0xa5, 0x9c, 0x6c, 0xd1, 0xb1, 0xec, 0x5a, 0x5b, 0x4a, 0x3b, 0x0d, 0x27, 0xa3, 0x94, 0x17, 0x5c, + 0xcb, 0x5c, 0x63, 0x8b, 0xb7, 0x0c, 0xcb, 0x0e, 0x0e, 0x82, 0x1b, 0xf1, 0x25, 0x88, 0x8b, 0x04, + 0xa7, 0xc2, 0x51, 0x43, 0xbc, 0x5e, 0xa9, 0xf3, 0xf7, 0x2b, 0x0d, 0x2e, 0x80, 0xb6, 0x39, 0x62, + 0x74, 0xea, 0x6a, 0xaf, 0xe2, 0x4d, 0x0c, 0x43, 0xe0, 0xe7, 0x6d, 0xd7, 0x69, 0x36, 0xd7, 0x99, + 0x9d, 0xf7, 0x4a, 0x18, 0xbd, 0xb5, 0x16, 0xe2, 0x95, 0x76, 0x13, 0xca, 0x59, 0x9f, 0x46, 0xc0, + 0x0b, 0x00, 0x2c, 0x18, 0x45, 0x5b, 0x69, 0x69, 0x07, 0x47, 0xa8, 0xcb, 0x53, 0x98, 0x88, 0x96, + 0xf6, 0x2e, 0xc9, 0x9a, 0xc6, 0x7b, 0xcc, 0xb7, 0xda, 0x5f, 0x12, 0x5c, 0xc6, 0x34, 0x24, 0xc8, + 0xf8, 0x1a, 0x0c, 0x85, 0xd8, 0x65, 0x9e, 0x90, 0x87, 0x72, 0x54, 0xad, 0x77, 0x6e, 0xfd, 0x5f, + 0x02, 0x23, 0xf1, 0x89, 0x1e, 0x7d, 0xbd, 0xe9, 0x22, 0xf4, 0x7b, 0xbe, 0xe1, 0x6f, 0x78, 0x3c, + 0xa4, 0x8d, 0xcc, 0x4c, 0x29, 0x8a, 0x66, 0xe1, 0xa4, 0x2f, 0x73, 0x95, 0x1a, 0xaa, 0xd2, 0x69, + 0x18, 0x35, 0x5a, 0xad, 0xa6, 0xd5, 0xe0, 0x00, 0x57, 0x12, 0x27, 0xe4, 0x91, 0xc8, 0xbb, 0x2f, + 0xca, 0x23, 0x49, 0x87, 0x23, 0xa1, 0x71, 0x42, 0x0d, 0x71, 0x66, 0xd2, 0xf0, 0x95, 0x54, 0x98, + 0xf9, 0xc3, 0x05, 0xe8, 0xe3, 0x0b, 0x45, 0xbf, 0x41, 0x60, 0x00, 0x3b, 0x5b, 0x74, 0x22, 0x0d, + 0x6e, 0x4a, 0xcb, 0xb1, 0x34, 0xd9, 0x5d, 0x50, 0x98, 0x5a, 0x7b, 0xea, 0x9b, 0x1f, 0xff, 0xeb, + 0xfd, 0xc2, 0x38, 0x7d, 0x52, 0x4f, 0x69, 0x6e, 0xca, 0x4e, 0xd8, 0x5f, 0x08, 0x8c, 0xc4, 0xbb, + 0x6b, 0xb4, 0xda, 0x6d, 0x86, 0x78, 0x09, 0xb8, 0xa4, 0xe7, 0x96, 0x47, 0x60, 0x06, 0x07, 0xf6, + 0x65, 0x7a, 0x51, 0x01, 0xac, 0x52, 0xdf, 0xaa, 0xf0, 0x64, 0x47, 0xdf, 0xe6, 0x7f, 0x76, 0x96, + 0xa7, 0xe8, 0x79, 0x85, 0xbc, 0x1e, 0x13, 0xa6, 0xbf, 0x20, 0xd0, 0xc7, 0x67, 0xa7, 0x67, 0xd5, + 0xe8, 0x24, 0x89, 0x73, 0xdd, 0xc4, 0x10, 0xfb, 0x0d, 0x8e, 0xfd, 0x3a, 0x3d, 0x93, 0x89, 0x45, + 0xdf, 0x96, 0x2e, 0xba, 0xb3, 0x3c, 0x49, 0xcf, 0xa9, 0x30, 0x87, 0x92, 0xf4, 0x63, 0x02, 0xc3, + 0xd1, 0x56, 0x1a, 0xbd, 0xa8, 0x06, 0x14, 0x6f, 0xf8, 0x95, 0x2a, 0x39, 0xa5, 0x91, 0xc5, 0x2a, + 0x67, 0xf1, 0x55, 0xc5, 0x0a, 0x54, 0xb0, 0x61, 0x17, 0x65, 0x73, 0x89, 0x56, 0xf3, 0xb1, 0xd1, + 0x65, 0xb7, 0xef, 0x6d, 0x02, 0x45, 0x59, 0xba, 0xa7, 0xd9, 0x9e, 0x9b, 0xe8, 0xe1, 0x95, 0xce, + 0xe7, 0x90, 0x44, 0x26, 0x67, 0x38, 0x93, 0x32, 0x3d, 0x91, 0x86, 0x2c, 0xa8, 0xf4, 0x7f, 0xaf, + 0x00, 0x87, 0x12, 0x4d, 0x2a, 0xaa, 0x77, 0x9d, 0x24, 0x5e, 0x22, 0x2d, 0x5d, 0xca, 0xaf, 0x80, + 0xe0, 0x3e, 0x24, 0x1c, 0xdd, 0xf7, 0x09, 0xbd, 0xa4, 0x82, 0xd7, 0xf6, 0xf5, 0x0e, 0xd7, 0xd1, + 0x69, 0x45, 0xa5, 0xd3, 0xe9, 0x6b, 0xd3, 0x54, 0xcf, 0xb9, 0x3a, 0x81, 0x59, 0xde, 0x2d, 0xc0, + 0xd1, 0xd4, 0x1e, 0x14, 0xbd, 0x9c, 0x83, 0x6b, 0x67, 0x13, 0xad, 0xf4, 0xf4, 0x6e, 0xd5, 0xd0, + 0x50, 0x6f, 0x72, 0x3b, 0x6d, 0xd1, 0xe7, 0xba, 0x99, 0x29, 0xb8, 0x83, 0x54, 0x2c, 0x53, 0xdf, + 0x8e, 0xde, 0x52, 0x76, 0x96, 0x9f, 0xa5, 0x9f, 0x51, 0x5a, 0x4c, 0xa1, 0x4b, 0xff, 0x46, 0xa2, + 0x0e, 0x22, 0xe2, 0x60, 0x1e, 0x07, 0x89, 0x05, 0xc2, 0x4b, 0xf9, 0x15, 0x90, 0x77, 0x83, 0xf3, + 0xbe, 0xa9, 0x5e, 0xea, 0xce, 0x50, 0x78, 0x91, 0x5e, 0x50, 0x32, 0x8d, 0xc7, 0xc2, 0x7b, 0x04, + 0x06, 0x10, 0x80, 0xe2, 0x98, 0x89, 0xd7, 0xe2, 0x4b, 0x93, 0xdd, 0x05, 0x91, 0xc3, 0x4d, 0xce, + 0xe1, 0x4b, 0x74, 0x52, 0x01, 0x49, 0xdf, 0x0e, 0x4f, 0xf5, 0xcc, 0x48, 0x1e, 0xc0, 0x8f, 0x0a, + 0xf3, 0x43, 0x12, 0x8b, 0xe0, 0x0a, 0xf4, 0xf1, 0x86, 0x97, 0x02, 0x7d, 0xa2, 0x73, 0xa5, 0x3e, + 0x24, 0x65, 0xd1, 0xfc, 0x1f, 0x04, 0x0e, 0x25, 0x1a, 0x3b, 0x0a, 0xef, 0x48, 0x6f, 0x41, 0x29, + 0xbc, 0x23, 0xa3, 0x67, 0xa4, 0x31, 0x8e, 0x6d, 0x25, 0x3d, 0xea, 0x22, 0xb6, 0xb6, 0x73, 0x88, + 0x68, 0xab, 0x6f, 0x8b, 0xbf, 0x3b, 0xcb, 0x15, 0x3a, 0xa5, 0xd0, 0xd0, 0x13, 0xe2, 0xf4, 0xef, + 0x04, 0x46, 0xe2, 0x6d, 0x06, 0x45, 0x0a, 0x90, 0xda, 0x3d, 0x2a, 0xe9, 0xb9, 0xe5, 0x91, 0xda, + 0x1a, 0xa7, 0x66, 0xa4, 0x87, 0xac, 0x08, 0xb5, 0x8e, 0x28, 0x57, 0x4d, 0x3f, 0xb3, 0x24, 0xb7, + 0xa4, 0x3c, 0xfd, 0x8f, 0xbc, 0x6a, 0x47, 0xfa, 0x3c, 0x34, 0xc7, 0x52, 0x24, 0xb6, 0xc3, 0xf4, + 0x2e, 0x34, 0x90, 0xa2, 0xc3, 0x29, 0x5a, 0x74, 0xb6, 0x0b, 0xc5, 0xd4, 0x2d, 0x32, 0x93, 0x7e, + 0x62, 0x48, 0x9a, 0x69, 0x3a, 0xf4, 0xd7, 0x04, 0xfa, 0x38, 0x1a, 0x45, 0xce, 0x13, 0x2d, 0xac, + 0x2b, 0x72, 0x9e, 0x58, 0xd9, 0x5b, 0xfb, 0x0a, 0x67, 0x72, 0x83, 0x4e, 0x64, 0x42, 0xd2, 0xb7, + 0x23, 0x05, 0x8a, 0xcc, 0x0d, 0x2e, 0xd1, 0xc7, 0x84, 0xe9, 0x07, 0x85, 0xf6, 0x06, 0xe7, 0x75, + 0x10, 0xe5, 0x06, 0x8f, 0x76, 0x79, 0x94, 0x1b, 0x3c, 0xd6, 0xbc, 0xd1, 0x7e, 0x27, 0xce, 0xe0, + 0x8f, 0x48, 0xd6, 0x42, 0x70, 0xf1, 0x38, 0xa6, 0x76, 0xe8, 0xe4, 0xa5, 0x97, 0x9d, 0xe5, 0xcf, + 0xa6, 0x9f, 0x49, 0xa9, 0x54, 0xc2, 0x8f, 0x05, 0xea, 0x57, 0xe8, 0xb3, 0x8a, 0x59, 0xbd, 0x50, + 0x32, 0xcd, 0x8e, 0xf4, 0x3b, 0x04, 0x8a, 0xb2, 0xf2, 0x4e, 0xbb, 0x52, 0xce, 0x91, 0x3e, 0x25, + 0xcb, 0xf8, 0x5a, 0x95, 0x1b, 0x27, 0x23, 0x4d, 0xed, 0x44, 0x49, 0xff, 0xcd, 0x23, 0x61, 0xac, + 0x3b, 0xa2, 0x8c, 0x84, 0x69, 0x0d, 0x1d, 0x65, 0x24, 0x4c, 0x6d, 0xbc, 0x68, 0x77, 0x38, 0xcc, + 0xd7, 0x95, 0x4b, 0xc8, 0x37, 0x53, 0x9a, 0x37, 0xce, 0xd1, 0x99, 0x5d, 0x2f, 0xa1, 0x47, 0x3f, + 0x22, 0x30, 0x14, 0x69, 0x7c, 0xd0, 0xa9, 0x4c, 0xd0, 0x9d, 0x2d, 0x98, 0xd2, 0xc5, 0x7c, 0xc2, + 0xc8, 0xee, 0x0b, 0x9c, 0xdd, 0x02, 0x3d, 0x95, 0x06, 0xd3, 0x68, 0x36, 0x2b, 0x12, 0xd4, 0x72, + 0x46, 0x9e, 0x1b, 0x80, 0xfe, 0x3d, 0x81, 0x7e, 0xd1, 0xce, 0xa0, 0xd9, 0x9b, 0x3b, 0xd6, 0x27, + 0x29, 0x4d, 0x74, 0x95, 0x43, 0x94, 0x26, 0x47, 0xf9, 0x5a, 0xfa, 0x39, 0xef, 0x71, 0xd9, 0x84, + 0xe1, 0xbb, 0x04, 0xb1, 0xb8, 0xe1, 0xc5, 0x17, 0xe8, 0x77, 0x09, 0x0c, 0x45, 0x7a, 0x1c, 0x0a, + 0xb3, 0x77, 0x36, 0x49, 0x14, 0x66, 0x4f, 0x69, 0x9b, 0x68, 0x93, 0x9c, 0x90, 0x96, 0x6e, 0x76, + 0xf1, 0xab, 0xc2, 0x1b, 0x2a, 0xf4, 0x2d, 0x02, 0xfd, 0xa2, 0x9f, 0xa1, 0x30, 0x6b, 0xac, 0x75, + 0xa2, 0x30, 0x6b, 0xbc, 0x99, 0xa2, 0x9d, 0xe5, 0x28, 0x4e, 0xd0, 0x52, 0x6a, 0x4a, 0xc4, 0x65, + 0xbf, 0x55, 0x20, 0xf4, 0x3e, 0x01, 0x08, 0x49, 0xd0, 0x0b, 0x39, 0x98, 0x4a, 0x28, 0x53, 0xb9, + 0x64, 0x11, 0x8e, 0xc5, 0xe1, 0x34, 0x32, 0x6e, 0x7a, 0xa1, 0x51, 0xf4, 0xed, 0x68, 0x83, 0x26, + 0xfb, 0xf6, 0x11, 0x31, 0x63, 0x42, 0xa5, 0x9d, 0x97, 0x1e, 0x4d, 0xad, 0x09, 0x2b, 0x6e, 0x1f, + 0xaa, 0x42, 0xb3, 0xe2, 0xf6, 0xa1, 0x2c, 0x3d, 0x6b, 0xb3, 0x9c, 0x73, 0x46, 0xd6, 0x24, 0x6e, + 0xc3, 0x58, 0xe8, 0xad, 0x18, 0x01, 0xc6, 0xdf, 0x12, 0x18, 0x4d, 0x2b, 0x12, 0xd3, 0x39, 0xd5, + 0xde, 0xcf, 0x2a, 0x60, 0x97, 0x2e, 0xef, 0x52, 0x0b, 0xa1, 0xcf, 0x70, 0xe8, 0x19, 0xf7, 0x01, + 0xac, 0xb8, 0x56, 0x62, 0x14, 0x3c, 0xfa, 0x0e, 0x81, 0xa2, 0xac, 0x18, 0xd3, 0x2e, 0xe5, 0xa4, + 0xb0, 0xd8, 0xac, 0x38, 0x55, 0x92, 0xe5, 0x67, 0xf4, 0xe9, 0x93, 0x74, 0x3c, 0xdb, 0xa0, 0xab, + 0x8c, 0xd1, 0x5f, 0x11, 0x38, 0x92, 0x52, 0x51, 0xa6, 0xb3, 0xdd, 0x6c, 0x91, 0x52, 0xa2, 0x2e, + 0xcd, 0xed, 0x4e, 0x09, 0x91, 0x4e, 0x73, 0xa4, 0x19, 0xf9, 0x8a, 0xb4, 0x9f, 0x28, 0x67, 0x57, + 0x44, 0x39, 0x9b, 0xfe, 0x91, 0xc0, 0x13, 0x1d, 0x75, 0x44, 0x3a, 0xdd, 0xed, 0xbe, 0xd4, 0x51, + 0xdb, 0x2e, 0xcd, 0xec, 0x46, 0x05, 0xf1, 0xbe, 0xc8, 0xf1, 0xce, 0xd3, 0xab, 0x79, 0x2f, 0x5b, + 0x7a, 0xa4, 0x72, 0x1b, 0xcd, 0x8b, 0xef, 0x11, 0xa0, 0x9d, 0x95, 0x62, 0xba, 0x0b, 0x4c, 0x81, + 0xe5, 0x67, 0x77, 0xa5, 0x83, 0x44, 0xae, 0x70, 0x22, 0x4f, 0xd3, 0xb9, 0x47, 0x21, 0xb2, 0xf0, + 0xea, 0x9f, 0x1f, 0x94, 0xc9, 0xfd, 0x07, 0x65, 0xf2, 0xcf, 0x07, 0x65, 0xf2, 0xde, 0xc3, 0xf2, + 0xbe, 0xfb, 0x0f, 0xcb, 0xfb, 0xfe, 0xfa, 0xb0, 0xbc, 0x6f, 0xf9, 0xea, 0x9a, 0xe5, 0xdf, 0xda, + 0xa8, 0x57, 0x1b, 0xce, 0xba, 0xf8, 0x72, 0xc5, 0x66, 0xfe, 0x5d, 0xc7, 0x7d, 0x1d, 0x9f, 0x9a, + 0xcc, 0x5c, 0x63, 0xae, 0xfe, 0x46, 0x64, 0x42, 0xfe, 0x2f, 0x27, 0x22, 0x42, 0x6d, 0x4e, 0xd7, + 0xfb, 0x79, 0x47, 0x6f, 0xf6, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xe9, 0x79, 0xad, 0xf1, 0x32, 0x00, 0x00, } @@ -6994,9 +7083,9 @@ func (m *QueryProjectEnrollmentResponse) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l - if m.ProjectClass != nil { + if m.Enrollment != nil { { - size, err := m.ProjectClass.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Enrollment.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -7100,6 +7189,62 @@ func (m *QueryProjectEnrollmentsResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *EnrollmentInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EnrollmentInfo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EnrollmentInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.EnrollmentMetadata) > 0 { + i -= len(m.EnrollmentMetadata) + copy(dAtA[i:], m.EnrollmentMetadata) + i = encodeVarintQuery(dAtA, i, uint64(len(m.EnrollmentMetadata))) + i-- + dAtA[i] = 0x32 + } + if len(m.ApplicationMetadata) > 0 { + i -= len(m.ApplicationMetadata) + copy(dAtA[i:], m.ApplicationMetadata) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ApplicationMetadata))) + i-- + dAtA[i] = 0x2a + } + if m.Status != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x20 + } + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x12 + } + if len(m.ProjectId) > 0 { + i -= len(m.ProjectId) + copy(dAtA[i:], m.ProjectId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ProjectId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -8062,8 +8207,8 @@ func (m *QueryProjectEnrollmentResponse) Size() (n int) { } var l int _ = l - if m.ProjectClass != nil { - l = m.ProjectClass.Size() + if m.Enrollment != nil { + l = m.Enrollment.Size() n += 1 + l + sovQuery(uint64(l)) } return n @@ -8105,6 +8250,34 @@ func (m *QueryProjectEnrollmentsResponse) Size() (n int) { return n } +func (m *EnrollmentInfo) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ProjectId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + if m.Status != 0 { + n += 1 + sovQuery(uint64(m.Status)) + } + l = len(m.ApplicationMetadata) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.EnrollmentMetadata) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -14356,7 +14529,7 @@ func (m *QueryProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProjectClass", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Enrollment", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14383,10 +14556,10 @@ func (m *QueryProjectEnrollmentResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ProjectClass == nil { - m.ProjectClass = &ProjectEnrollment{} + if m.Enrollment == nil { + m.Enrollment = &EnrollmentInfo{} } - if err := m.ProjectClass.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Enrollment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -14587,7 +14760,7 @@ func (m *QueryProjectEnrollmentsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Enrollments = append(m.Enrollments, &ProjectEnrollment{}) + m.Enrollments = append(m.Enrollments, &EnrollmentInfo{}) if err := m.Enrollments[len(m.Enrollments)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -14649,6 +14822,203 @@ func (m *QueryProjectEnrollmentsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *EnrollmentInfo) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EnrollmentInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EnrollmentInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ApplicationMetadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ApplicationMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EnrollmentMetadata", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EnrollmentMetadata = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From 7008513cf457d79e19613f846eada5fd019cee87 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 22 Feb 2024 15:25:24 -0500 Subject: [PATCH 033/112] refactoring --- .../base/keeper/msg_create_batch_test.go | 14 ++------------ .../base/keeper/msg_create_project_test.go | 2 +- .../base/keeper/msg_mint_batch_credits.go | 5 ----- .../v1/features/msg_add_credit_type.feature | 17 +++++++++++++++++ x/ecocredit/base/utils.go | 7 +++++-- x/ecocredit/base/utils_test.go | 2 +- x/ecocredit/simulation/genesis.go | 18 ++++++++++-------- 7 files changed, 36 insertions(+), 29 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_batch_test.go b/x/ecocredit/base/keeper/msg_create_batch_test.go index 859ddd5b89..d5b75bdfad 100644 --- a/x/ecocredit/base/keeper/msg_create_batch_test.go +++ b/x/ecocredit/base/keeper/msg_create_batch_test.go @@ -121,23 +121,13 @@ func (s *createBatchSuite) ACreditClassWithClassIdAndIssuerAlice(a string) { } func (s *createBatchSuite) AProjectWithProjectId(a string) { - classID := base.GetClassIDFromProjectID(a) + classID := base.GetClassIDFromLegacyProjectID(a) class, err := s.k.stateStore.ClassTable().GetById(s.ctx, classID) require.NoError(s.t, err) pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: a, - ClassKey: class.Key, - }) - require.NoError(s.t, err) - - seq := s.getProjectSequence(a) - - // Save because project sequence may already exist - err = s.k.stateStore.ProjectSequenceTable().Save(s.ctx, &api.ProjectSequence{ - ClassKey: class.Key, - NextSequence: seq + 1, + Id: a, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_create_project_test.go b/x/ecocredit/base/keeper/msg_create_project_test.go index d710aee945..44ed977949 100644 --- a/x/ecocredit/base/keeper/msg_create_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_project_test.go @@ -76,7 +76,7 @@ func (s *createProjectSuite) AProjectSequenceWithClassIdAndNextSequence(a, b str } func (s *createProjectSuite) AProjectWithProjectIdAndReferenceId(a, b string) { - classID := base.GetClassIDFromProjectID(a) + classID := base.GetClassIDFromLegacyProjectID(a) class, err := s.k.stateStore.ClassTable().GetById(s.ctx, classID) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits.go b/x/ecocredit/base/keeper/msg_mint_batch_credits.go index 5b699b4178..e64c7a1ca5 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits.go @@ -28,11 +28,6 @@ func (k Keeper) MintBatchCredits(ctx context.Context, req *types.MsgMintBatchCre return nil, err } - project, err := k.stateStore.ProjectTable().Get(ctx, batch.ProjectKey) - if err != nil { - return nil, err - } - if err = k.stateStore.OriginTxIndexTable().Insert(ctx, &api.OriginTxIndex{ ClassKey: batch.ClassKey, Id: req.OriginTx.Id, diff --git a/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature b/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature index 6573ca93a9..330d89af81 100644 --- a/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature +++ b/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature @@ -137,3 +137,20 @@ Feature: MsgAddCreditType } } """ + + + Scenario: an error is returned for the reversed abbreviation P + Given the message + """ + { + "authority": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", + "credit_type": { + "abbreviation":"P", + "name":"PPP", + "unit":"ppp", + "precision":6 + } + } + """ + When the message is validated + Then expect the error "credit type: abbreviation: P is reserved as the prefix for project IDs: parse error: invalid request" diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 54ee9a3ced..cb5d68098e 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -108,6 +108,9 @@ func ValidateCreditTypeAbbreviation(abbr string) error { if matches == nil { return ecocredit.ErrParseFailure.Wrapf("must be 1-3 uppercase alphabetic characters") } + if abbr == "P" { + return ecocredit.ErrParseFailure.Wrapf("P is reserved as the prefix for project IDs") + } return nil } @@ -171,8 +174,8 @@ func ValidateJurisdiction(jurisdiction string) error { return nil } -// GetClassIDFromProjectID returns the credit class ID in a project ID. -func GetClassIDFromProjectID(projectID string) string { +// GetClassIDFromLegacyProjectID extracts the credit class ID from a legacy project ID. +func GetClassIDFromLegacyProjectID(projectID string) string { var s strings.Builder for _, r := range projectID { if r != '-' { diff --git a/x/ecocredit/base/utils_test.go b/x/ecocredit/base/utils_test.go index d3335978d8..3647be6ef3 100644 --- a/x/ecocredit/base/utils_test.go +++ b/x/ecocredit/base/utils_test.go @@ -89,7 +89,7 @@ func testGetClassIDFromProjectID(t *rapid.T) { classID := FormatClassID(creditTypeAbbrev, classSeq) projectID := FormatProjectID(classID, projectSeq) - result := GetClassIDFromProjectID(projectID) + result := GetClassIDFromLegacyProjectID(projectID) require.Equal(t, classID, result) } diff --git a/x/ecocredit/simulation/genesis.go b/x/ecocredit/simulation/genesis.go index 80a67da7f0..bdb96678cb 100644 --- a/x/ecocredit/simulation/genesis.go +++ b/x/ecocredit/simulation/genesis.go @@ -266,8 +266,9 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a } // create few classes + cId1 := "C01" cKey1, err := createClass(ctx, ss, &api.Class{ - Id: "C01", + Id: cId1, Admin: accs[0].Address, Metadata: metadata, CreditTypeAbbrev: "C", @@ -276,8 +277,9 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a return err } + cId2 := "C02" cKey2, err := createClass(ctx, ss, &api.Class{ - Id: "C02", + Id: cId2, Admin: accs[1].Address, Metadata: metadata, CreditTypeAbbrev: "C", @@ -312,9 +314,9 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a } // create few projects + pId1 := "P002" pKey1, err := createProject(ctx, ss, &api.Project{ - ClassKey: cKey1, - Id: "C01-001", + Id: pId1, Admin: accs[0].Address, Jurisdiction: "AQ", Metadata: metadata, @@ -323,9 +325,9 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a return err } + pId2 := "P002" pKey2, err := createProject(ctx, ss, &api.Project{ - ClassKey: cKey2, - Id: "C02-001", + Id: pId2, Admin: accs[1].Address, Jurisdiction: "AQ", Metadata: metadata, @@ -341,7 +343,7 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a if err != nil { return err } - denom, err := base.FormatBatchDenom("C01-001", batchSeq, &startDate, &endDate) + denom, err := base.FormatBatchDenom(cId1, pId2, batchSeq, &startDate, &endDate) if err != nil { return err } @@ -365,7 +367,7 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a if err != nil { return err } - denom, err = base.FormatBatchDenom("C02-001", batchSeq, &startDate, &endDate) + denom, err = base.FormatBatchDenom(cId2, pId2, batchSeq, &startDate, &endDate) if err != nil { return err } From 81ef2020697a39adf79b291be9e78413caa63084 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 22 Feb 2024 16:48:03 -0500 Subject: [PATCH 034/112] refactoring, fixing tests --- .../keeper/features/msg_create_batch.feature | 119 +++++++++--------- .../base/keeper/msg_bridge_receive_test.go | 4 +- x/ecocredit/base/keeper/msg_bridge_test.go | 3 +- x/ecocredit/base/keeper/msg_cancel_test.go | 6 +- .../base/keeper/msg_create_batch_test.go | 91 +++++++------- x/ecocredit/base/keeper/msg_create_project.go | 6 + .../base/keeper/msg_create_project_test.go | 1 - .../keeper/msg_mint_batch_credits_test.go | 3 +- x/ecocredit/base/keeper/msg_retire_test.go | 6 +- .../base/keeper/msg_seal_batch_test.go | 3 +- x/ecocredit/base/keeper/msg_send_test.go | 6 +- .../keeper/msg_update_batch_metadata_test.go | 3 +- .../base/keeper/query_project_info_test.go | 3 +- .../keeper/query_projects_by_admin_test.go | 5 +- .../keeper/query_projects_by_class_test.go | 6 +- .../query_projects_by_reference_id_test.go | 7 +- .../base/keeper/query_projects_test.go | 6 +- x/ecocredit/base/types/v1/state_project.go | 4 +- x/ecocredit/base/utils.go | 4 +- x/ecocredit/base/utils_test.go | 30 ++--- x/ecocredit/basket/keeper/msg_put_test.go | 30 ++--- x/ecocredit/basket/keeper/msg_take_test.go | 6 +- x/ecocredit/genesis/genesis.go | 28 ----- x/ecocredit/genesis/genesis_test.go | 67 ++++++++-- .../marketplace/keeper/msg_sell_test.go | 12 +- .../keeper/msg_update_sell_orders_test.go | 6 +- x/ecocredit/server/testsuite/genesis.go | 12 +- x/ecocredit/simulation/genesis.go | 22 ---- 28 files changed, 221 insertions(+), 278 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_batch.feature b/x/ecocredit/base/keeper/features/msg_create_batch.feature index 732a3e1c1e..d9822960c8 100644 --- a/x/ecocredit/base/keeper/features/msg_create_batch.feature +++ b/x/ecocredit/base/keeper/features/msg_create_batch.feature @@ -18,29 +18,29 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the project exists - When alice attempts to create a batch with project id "C01-001" + When alice attempts to create a batch with project id "P001" and class id "C01" Then expect no error Scenario: the project does not exist - When alice attempts to create a batch with project id "C01-002" - Then expect the error "could not get project with id C01-002: not found: invalid request" + When alice attempts to create a batch with project id "P002" and class id "C02" + Then expect error contains "could not get project with id P002: not found: invalid request" Rule: The issuer must be an allowed credit class issuer Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the issuer is an allowed credit class issuer - When alice attempts to create a batch with project id "C01-001" + When alice attempts to create a batch with project id "P001" and class id "C01" Then expect no error Scenario: the issuer is not an allowed credit class issuer - When bob attempts to create a batch with project id "C01-001" + When bob attempts to create a batch with project id "P001" and class id "C01" Then expect error contains "is not an issuer for the class: unauthorized" Rule: The decimal places in issuance amount must not exceed credit type precision @@ -48,10 +48,10 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" and precision "6" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario Outline: the decimal places in tradable amount is less than or equal to credit type precision - When alice attempts to create a batch with project id "C01-001" and tradable amount "" + When alice attempts to create a batch for project "P001" and class "C01" with tradable amount "" Then expect no error Examples: @@ -60,11 +60,11 @@ Feature: Msg/CreateBatch | equal to | 9.123456 | Scenario: the decimal places in tradable amount is greater than credit type precision - When alice attempts to create a batch with project id "C01-001" and tradable amount "9.1234567" + When alice attempts to create a batch for project "P001" and class "C01" with tradable amount "9.1234567" Then expect the error "9.1234567 exceeds maximum decimal places: 6: invalid request" Scenario Outline: the decimal places in retired amount is less than or equal to credit type precision - When alice attempts to create a batch with project id "C01-001" and retired amount "" + When alice attempts to create a batch for project "P001" and class "C01" with retired amount "" Then expect no error Examples: @@ -73,7 +73,7 @@ Feature: Msg/CreateBatch | equal to | 9.123456 | Scenario: the decimal places in retired amount is greater than credit type precision - When alice attempts to create a batch with project id "C01-001" and retired amount "9.1234567" + When alice attempts to create a batch for project "P001" and class "C01" with retired amount "9.1234567" Then expect the error "9.1234567 exceeds maximum decimal places: 6: invalid request" Rule: The origin tx must be unique within the scope of the credit class @@ -81,7 +81,7 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the origin tx is not unique within the credit class Given an origin tx index @@ -92,7 +92,7 @@ Feature: Msg/CreateBatch "source": "polygon" } """ - When alice attempts to create a batch with project id "C01-001" and origin tx + When alice attempts to create a batch with project "P001" class "C01" and origin tx """ { "id": "0x64", @@ -110,7 +110,7 @@ Feature: Msg/CreateBatch "source": "polygon" } """ - When alice attempts to create a batch with project id "C01-001" and origin tx + When alice attempts to create a batch with project "P001" class "C01" and origin tx """ { "id": "0x64", @@ -124,7 +124,7 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the contract is not unique within credit class Given a batch contract @@ -135,7 +135,7 @@ Feature: Msg/CreateBatch "contract": "0x40" } """ - When alice attempts to create a batch with project id "C01-001" and origin tx + When alice attempts to create a batch with project "P001" class "C01" and origin tx """ { "id": "0x64", @@ -154,7 +154,7 @@ Feature: Msg/CreateBatch "contract": "0x40" } """ - When alice attempts to create a batch with project id "C01-001" and origin tx + When alice attempts to create a batch with project "P001" class "C01" and origin tx """ { "id": "0x64", @@ -169,10 +169,10 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: balance updated from issuance with single item - When alice attempts to create a batch with project id "C01-001" and issuance + When alice attempts to create a batch with project "P001" class "C01" and issuance """ [ { @@ -193,7 +193,7 @@ Feature: Msg/CreateBatch """ Scenario: balance updated from issuance with multiple items and same recipient - When alice attempts to create a batch with project id "C01-001" and issuance + When alice attempts to create a batch with project "P001" class "C01" and issuance """ [ { @@ -220,7 +220,7 @@ Feature: Msg/CreateBatch """ Scenario: balance updated from issuance with multiple items and different recipients - When alice attempts to create a batch with project id "C01-001" and issuance + When alice attempts to create a batch with project "P001" class "C01" and issuance """ [ { @@ -261,10 +261,10 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: supply updated from issuance with single item - When alice attempts to create a batch with project id "C01-001" and issuance + When alice attempts to create a batch with project "P001" class "C01" and issuance """ [ { @@ -285,7 +285,7 @@ Feature: Msg/CreateBatch """ Scenario: supply updated from issuance with multiple items - When alice attempts to create a batch with project id "C01-001" and issuance + When alice attempts to create a batch with project "P001" class "C01" and issuance """ [ { @@ -318,18 +318,18 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" - And a project with project id "C01-002" + And a project with project id "P001" enrolled in "C01" + And a project with project id "P002" enrolled in "C01" Scenario: the batch sequence is updated - Given a batch sequence with project id "C01-001" and next sequence "1" - When alice attempts to create a batch with project id "C01-001" - Then expect batch sequence with project id "C01-001" and next sequence "2" + Given a batch sequence with project id "P001" and next sequence "1" + When alice attempts to create a batch with project id "P001" and class id "C01" + Then expect batch sequence with project id "P001" and next sequence "2" Scenario: the batch sequence is not updated - Given a batch sequence with project id "C01-001" and next sequence "1" - When alice attempts to create a batch with project id "C01-002" - Then expect batch sequence with project id "C01-001" and next sequence "1" + Given a batch sequence with project id "P001" and next sequence "1" + When alice attempts to create a batch with project id "P002" and class id "C01" + Then expect batch sequence with project id "P001" and next sequence "1" # no failing scenario - state transitions only occur upon successful message execution @@ -338,13 +338,14 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the batch properties are added When alice attempts to create a batch with properties """ { - "project_id": "C01-001", + "project_id": "P001", + "class_id": "C01", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z", @@ -354,7 +355,7 @@ Feature: Msg/CreateBatch Then expect batch properties """ { - "denom": "C01-001-20200101-20210101-001", + "denom": "C01-P001-20200101-20210101-001", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z", @@ -369,10 +370,10 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the batch contract mapping is added - When alice attempts to create a batch with project id "C01-001" and origin tx + When alice attempts to create a batch with project "P001" class "C01" and origin tx """ { "id": "0x64", @@ -396,14 +397,14 @@ Feature: Msg/CreateBatch Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: the response includes the batch denom - When alice attempts to create a batch with project id "C01-001" + When alice attempts to create a batch with project id "P001" and class id "C01" Then expect the response """ { - "batch_denom": "C01-001-20200101-20210101-001" + "batch_denom": "C01-P001-20200101-20210101-001" } """ @@ -415,15 +416,15 @@ Feature: Msg/CreateBatch Given a credit type with abbreviation "C" And ecocredit module's address "regen15406g34dl5v9780tx2q3vtjdpkdgq4hhegdtm9" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: Event EventRetire is emitted - When creates a batch from project "C01-001" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" with reason "offsetting electricity consumption" + When creates a batch from project "P001" class "C01" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" with reason "offsetting electricity consumption" Then expect event retire with properties """ { "owner": "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8", - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "amount": "10", "jurisdiction": "US-WA", "reason": "offsetting electricity consumption" @@ -431,68 +432,68 @@ Feature: Msg/CreateBatch """ Scenario: Event EventMint is emitted - When creates a batch from project "C01-001" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" + When creates a batch from project "P001" class "C01" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" Then expect event mint with properties """ { - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "tradable_amount": "0", "retired_amount": "10" } """ Scenario: Event EventTransfer is emitted - When creates a batch from project "C01-001" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" + When creates a batch from project "P001" class "C01" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" Then expect event transfer with properties """ { "sender": "regen15406g34dl5v9780tx2q3vtjdpkdgq4hhegdtm9", "recipient": "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8", - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "tradable_amount": "0", "retired_amount": "10" } """ Scenario: Event EventCreateBatch is emitted - When creates a batch from project "C01-001" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" + When creates a batch from project "P001" class "C01" and issues "10" retired credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" from "US-WA" Then expect event create batch with properties """ { - "batch_denom": "C01-001-20200101-20210101-001" + "batch_denom": "C01-P001-20200101-20210101-001" } """ Scenario: Event EventMint is emitted - When creates a batch from project "C01-001" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" + When creates a batch from project "P001" class "C01" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" Then expect event mint with properties """ { - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "tradable_amount": "10", "retired_amount": "0" } """ Scenario: Event EventTransfer is emitted - When creates a batch from project "C01-001" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" + When creates a batch from project "P001" class "C01" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" And expect event transfer with properties """ { "sender": "regen15406g34dl5v9780tx2q3vtjdpkdgq4hhegdtm9", "recipient": "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8", - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "tradable_amount": "10", "retired_amount": "0" } """ Scenario: Event EventCreateBatch is emitted - When creates a batch from project "C01-001" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" + When creates a batch from project "P001" class "C01" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" Then expect event create batch with properties """ { - "batch_denom": "C01-001-20200101-20210101-001" + "batch_denom": "C01-P001-20200101-20210101-001" } """ @@ -511,14 +512,14 @@ Feature: Msg/CreateBatch """ And ecocredit module's address "regen15406g34dl5v9780tx2q3vtjdpkdgq4hhegdtm9" And a credit class with class id "C01" and issuer alice - And a project with project id "C01-001" + And a project with project id "P001" enrolled in "C01" Scenario: Event EventCreateBatch is emitted - When creates a batch from project "C01-001" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" + When creates a batch from project "P001" class "C01" and issues "10" tradable credits to "regen1sl2dsfyf2znn48ehwqg28cv3nuglxkx4h7q5l8" Then expect event create batch with properties """ { - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "origin_tx": { "id": "0x123", "source": "polygon", diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index 4c6fe289f2..bdbee3b90b 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -99,8 +99,7 @@ func (s *bridgeReceiveSuite) ACreditClassWithIdAndIssuerAlice(a string) { func (s *bridgeReceiveSuite) AProjectWithId(a string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: a, - ClassKey: s.classKey, + Id: a, }) require.NoError(s.t, err) @@ -118,7 +117,6 @@ func (s *bridgeReceiveSuite) AProjectWithId(a string) { func (s *bridgeReceiveSuite) AProjectWithIdAndReferenceId(a, b string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: a, - ClassKey: s.classKey, ReferenceId: b, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_bridge_test.go b/x/ecocredit/base/keeper/msg_bridge_test.go index 8c02efcf22..4f132de15d 100644 --- a/x/ecocredit/base/keeper/msg_bridge_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_test.go @@ -209,8 +209,7 @@ func (s *bridgeSuite) creditBatchSetup() { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_cancel_test.go b/x/ecocredit/base/keeper/msg_cancel_test.go index b940956d00..875da420d1 100644 --- a/x/ecocredit/base/keeper/msg_cancel_test.go +++ b/x/ecocredit/base/keeper/msg_cancel_test.go @@ -93,8 +93,7 @@ func (s *cancel) ACreditBatchFromCreditClassWithCreditType(a string) { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) @@ -235,8 +234,7 @@ func (s *cancel) projectSetup() { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_create_batch_test.go b/x/ecocredit/base/keeper/msg_create_batch_test.go index d5b75bdfad..0598da2972 100644 --- a/x/ecocredit/base/keeper/msg_create_batch_test.go +++ b/x/ecocredit/base/keeper/msg_create_batch_test.go @@ -120,18 +120,23 @@ func (s *createBatchSuite) ACreditClassWithClassIdAndIssuerAlice(a string) { s.classKey = cKey } -func (s *createBatchSuite) AProjectWithProjectId(a string) { - classID := base.GetClassIDFromLegacyProjectID(a) - - class, err := s.k.stateStore.ClassTable().GetById(s.ctx, classID) - require.NoError(s.t, err) - +func (s *createBatchSuite) AProjectWithProjectIdEnrolledIn(a, b string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: a, }) require.NoError(s.t, err) s.projectKey = pKey + + cls, err := s.k.stateStore.ClassTable().GetById(s.ctx, b) + require.NoError(s.t, err) + + err = s.k.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: pKey, + ClassKey: cls.Key, + Status: api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(s.t, err) } func (s *createBatchSuite) ABatchSequenceWithProjectIdAndNextSequence(a string, b string) { @@ -179,10 +184,11 @@ func (s *createBatchSuite) OriginTx(a gocuke.DocString) { s.originTx = &ot } -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectId(a string) { +func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndClassId(a, b string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { Recipient: s.bob.String(), @@ -194,10 +200,11 @@ func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectId(a string) { }) } -func (s *createBatchSuite) BobAttemptsToCreateABatchWithProjectId(a string) { +func (s *createBatchSuite) BobAttemptsToCreateABatchWithProjectIdAndClassId(a, b string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.bob.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { Recipient: s.alice.String(), @@ -209,35 +216,15 @@ func (s *createBatchSuite) BobAttemptsToCreateABatchWithProjectId(a string) { }) } -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdStartDateAndEndDate(a, b, c string) { - startDate, err := regentypes.ParseDate("start date", b) - require.NoError(s.t, err) - - endDate, err := regentypes.ParseDate("end date", c) - require.NoError(s.t, err) - - s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ - Issuer: s.alice.String(), - ProjectId: a, - Issuance: []*types.BatchIssuance{ - { - Recipient: s.bob.String(), - TradableAmount: s.tradableAmount, - }, - }, - StartDate: &startDate, - EndDate: &endDate, - }) -} - -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndTradableAmount(a, b string) { +func (s *createBatchSuite) AliceAttemptsToCreateABatchForProjectAndClassWithTradableAmount(a, b, c string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { Recipient: s.bob.String(), - TradableAmount: b, + TradableAmount: c, }, }, StartDate: s.startDate, @@ -245,14 +232,15 @@ func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndTradableAm }) } -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndRetiredAmount(a, b string) { +func (s *createBatchSuite) AliceAttemptsToCreateABatchForProjectAndClassWithRetiredAmount(a, b, c string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { Recipient: s.bob.String(), - RetiredAmount: b, + RetiredAmount: c, }, }, StartDate: s.startDate, @@ -260,14 +248,15 @@ func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndRetiredAmo }) } -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndOriginTx(a string, b gocuke.DocString) { +func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectClassAndOriginTx(a, b string, c gocuke.DocString) { var originTx types.OriginTx - err := jsonpb.UnmarshalString(b.Content, &originTx) + err := jsonpb.UnmarshalString(c.Content, &originTx) require.NoError(s.t, err) s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { Recipient: s.bob.String(), @@ -280,15 +269,16 @@ func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndOriginTx(a }) } -func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectIdAndIssuance(a string, b gocuke.DocString) { +func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProjectClassAndIssuance(a, b string, c gocuke.DocString) { var issuance []*types.BatchIssuance // unmarshal with json because issuance array is not a proto message - err := json.Unmarshal([]byte(b.Content), &issuance) + err := json.Unmarshal([]byte(c.Content), &issuance) require.NoError(s.t, err) s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: issuance, StartDate: s.startDate, EndDate: s.endDate, @@ -304,14 +294,15 @@ func (s *createBatchSuite) AliceAttemptsToCreateABatchWithProperties(a gocuke.Do s.res, s.err = s.k.CreateBatch(s.ctx, &msg) } -func (s *createBatchSuite) CreatesABatchFromProjectAndIssuesTradableCreditsTo(a string, b string, c string) { +func (s *createBatchSuite) CreatesABatchFromProjectClassAndIssuesTradableCreditsTo(a, b, c, d string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { - Recipient: c, - TradableAmount: b, + Recipient: d, + TradableAmount: c, }, }, StartDate: s.startDate, @@ -321,15 +312,16 @@ func (s *createBatchSuite) CreatesABatchFromProjectAndIssuesTradableCreditsTo(a require.NoError(s.t, s.err) } -func (s *createBatchSuite) CreatesABatchFromProjectAndIssuesRetiredCreditsToFrom(a, b, c, d string) { +func (s *createBatchSuite) CreatesABatchFromProjectClassAndIssuesRetiredCreditsToFrom(a, b, c, d, e string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { - Recipient: c, - RetiredAmount: b, - RetirementJurisdiction: d, + Recipient: d, + RetiredAmount: c, + RetirementJurisdiction: e, }, }, StartDate: s.startDate, @@ -339,16 +331,17 @@ func (s *createBatchSuite) CreatesABatchFromProjectAndIssuesRetiredCreditsToFrom require.NoError(s.t, s.err) } -func (s *createBatchSuite) CreatesABatchFromProjectAndIssuesRetiredCreditsToFromWithReason(a, b, c, d, e string) { +func (s *createBatchSuite) CreatesABatchFromProjectClassAndIssuesRetiredCreditsToFromWithReason(a, b, c, d, e, f string) { s.res, s.err = s.k.CreateBatch(s.ctx, &types.MsgCreateBatch{ Issuer: s.alice.String(), ProjectId: a, + ClassId: b, Issuance: []*types.BatchIssuance{ { - Recipient: c, - RetiredAmount: b, - RetirementJurisdiction: d, - RetirementReason: e, + Recipient: d, + RetiredAmount: c, + RetirementJurisdiction: e, + RetirementReason: f, }, }, StartDate: s.startDate, diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index 088e4a0047..124bd08a05 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -85,6 +85,12 @@ func (k Keeper) createNewProject(ctx context.Context) (*api.Project, string, err } projectID := base.FormatProjectID(id) + newProject.Id = projectID + err = k.stateStore.ProjectTable().Update(ctx, newProject) + if err != nil { + return nil, "", err + } + return newProject, projectID, nil } diff --git a/x/ecocredit/base/keeper/msg_create_project_test.go b/x/ecocredit/base/keeper/msg_create_project_test.go index 44ed977949..5b2f24b007 100644 --- a/x/ecocredit/base/keeper/msg_create_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_project_test.go @@ -83,7 +83,6 @@ func (s *createProjectSuite) AProjectWithProjectIdAndReferenceId(a, b string) { err = s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ Id: a, - ClassKey: class.Key, ReferenceId: b, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go index 176a0c08f4..2a6cae7db7 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go @@ -75,8 +75,7 @@ func (s *mintBatchCredits) ACreditClassWithIdAndIssuerAlice(a string) { func (s *mintBatchCredits) AProjectWithId(a string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: a, - ClassKey: s.classKey, + Id: a, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_retire_test.go b/x/ecocredit/base/keeper/msg_retire_test.go index 225058ea8e..d7582d6b41 100644 --- a/x/ecocredit/base/keeper/msg_retire_test.go +++ b/x/ecocredit/base/keeper/msg_retire_test.go @@ -98,8 +98,7 @@ func (s *retire) ACreditBatchFromCreditClassWithCreditType(a string) { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) @@ -268,8 +267,7 @@ func (s *retire) projectSetup() { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_seal_batch_test.go b/x/ecocredit/base/keeper/msg_seal_batch_test.go index 2e2957f357..33153c1bb9 100644 --- a/x/ecocredit/base/keeper/msg_seal_batch_test.go +++ b/x/ecocredit/base/keeper/msg_seal_batch_test.go @@ -64,8 +64,7 @@ func (s *sealBatch) ACreditClassWithIdAndIssuerAlice(a string) { func (s *sealBatch) AProjectWithId(a string) { err := s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ - Id: a, - ClassKey: s.classKey, + Id: a, }) require.NoError(s.t, err) } diff --git a/x/ecocredit/base/keeper/msg_send_test.go b/x/ecocredit/base/keeper/msg_send_test.go index e3079ac79c..a69a26f613 100644 --- a/x/ecocredit/base/keeper/msg_send_test.go +++ b/x/ecocredit/base/keeper/msg_send_test.go @@ -94,8 +94,7 @@ func (s *send) ACreditBatchFromCreditClassWithCreditType(a string) { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) @@ -344,8 +343,7 @@ func (s *send) projectSetup() { s.classKey = cKey pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: s.projectID, - ClassKey: cKey, + Id: s.projectID, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go index e4bf697964..aab1a01bf7 100644 --- a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go +++ b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go @@ -68,8 +68,7 @@ func (s *updateBatchMetadata) ACreditClassWithIdAndIssuerAlice(a string) { func (s *updateBatchMetadata) AProjectWithId(a string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: a, - ClassKey: s.classKey, + Id: a, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/query_project_info_test.go b/x/ecocredit/base/keeper/query_project_info_test.go index d4962632fd..e041130146 100644 --- a/x/ecocredit/base/keeper/query_project_info_test.go +++ b/x/ecocredit/base/keeper/query_project_info_test.go @@ -16,14 +16,13 @@ func TestQuery_Project(t *testing.T) { s := setupBase(t) // insert class - classKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) project := &api.Project{ Id: "C01-001", - ClassKey: classKey, Jurisdiction: "US-CA", Metadata: "data", ReferenceId: "R01", diff --git a/x/ecocredit/base/keeper/query_projects_by_admin_test.go b/x/ecocredit/base/keeper/query_projects_by_admin_test.go index 792987a44c..263ca68bdf 100644 --- a/x/ecocredit/base/keeper/query_projects_by_admin_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_admin_test.go @@ -21,7 +21,7 @@ func TestQuery_Projects_By_Admin(t *testing.T) { _, _, admin2 := testdata.KeyTestPubAddr() // insert class - classKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) @@ -29,7 +29,6 @@ func TestQuery_Projects_By_Admin(t *testing.T) { // create two projects project1 := &api.Project{ Id: "C01-001", - ClassKey: classKey, Admin: s.addr, Jurisdiction: "US-CA", Metadata: "data", @@ -40,7 +39,6 @@ func TestQuery_Projects_By_Admin(t *testing.T) { project := &api.Project{ Id: "C01-002", - ClassKey: classKey, Admin: s.addr, Jurisdiction: "US-CA", Metadata: "data", @@ -52,7 +50,6 @@ func TestQuery_Projects_By_Admin(t *testing.T) { // create project with different admin project = &api.Project{ Id: "C01-003", - ClassKey: classKey, Admin: admin2, Jurisdiction: "US-CA", Metadata: "data", diff --git a/x/ecocredit/base/keeper/query_projects_by_class_test.go b/x/ecocredit/base/keeper/query_projects_by_class_test.go index b074f21eec..073fbce8c2 100644 --- a/x/ecocredit/base/keeper/query_projects_by_class_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_class_test.go @@ -17,14 +17,13 @@ func TestQuery_ProjectsByClass(t *testing.T) { s := setupBase(t) // insert credit class - classKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) project := &api.Project{ Id: "C01-001", - ClassKey: classKey, Jurisdiction: "US-CA", Metadata: "metadata", } @@ -32,8 +31,7 @@ func TestQuery_ProjectsByClass(t *testing.T) { // insert two projects under "C01" credit class assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, project)) assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ - Id: "C01-002", - ClassKey: classKey, + Id: "C01-002", })) // query projects by "C01" credit class diff --git a/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go b/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go index 7fd1cabee2..47079d1fc3 100644 --- a/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go @@ -16,14 +16,13 @@ func TestQuery_ProjectsByReferenceId(t *testing.T) { s := setupBase(t) // insert credit class - classKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) project := &api.Project{ Id: "C01-001", - ClassKey: classKey, Jurisdiction: "US-CA", Metadata: "metadata", ReferenceId: "VCS-001", @@ -33,14 +32,12 @@ func TestQuery_ProjectsByReferenceId(t *testing.T) { assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, project)) assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ Id: "C01-002", - ClassKey: classKey, ReferenceId: "VCS-001", })) // insert one project without a reference id assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ - Id: "C01-003", - ClassKey: classKey, + Id: "C01-003", })) // query projects by "VCS-001" reference id diff --git a/x/ecocredit/base/keeper/query_projects_test.go b/x/ecocredit/base/keeper/query_projects_test.go index b34e64c705..7d53fb442b 100644 --- a/x/ecocredit/base/keeper/query_projects_test.go +++ b/x/ecocredit/base/keeper/query_projects_test.go @@ -16,14 +16,13 @@ func TestQuery_Projects(t *testing.T) { s := setupBase(t) // insert credit class - classKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) project := &api.Project{ Id: "C01-001", - ClassKey: classKey, Jurisdiction: "US-CA", Metadata: "metadata", } @@ -31,8 +30,7 @@ func TestQuery_Projects(t *testing.T) { // insert two projects assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, project)) assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ - Id: "C01-002", - ClassKey: classKey, + Id: "C01-002", })) // query projects with pagination diff --git a/x/ecocredit/base/types/v1/state_project.go b/x/ecocredit/base/types/v1/state_project.go index d1a8d51f0c..b0c5d8590f 100644 --- a/x/ecocredit/base/types/v1/state_project.go +++ b/x/ecocredit/base/types/v1/state_project.go @@ -23,8 +23,8 @@ func (m *Project) Validate() error { return ecocredit.ErrParseFailure.Wrapf("admin: %s", err) } - if m.ClassKey == 0 { - return ecocredit.ErrParseFailure.Wrap("class key cannot be zero") + if m.ClassKey != 0 { + return ecocredit.ErrParseFailure.Wrap("class key is deprecated and must be zero") } if err := base.ValidateJurisdiction(m.Jurisdiction); err != nil { diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index cb5d68098e..7a32a7835a 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -26,7 +26,9 @@ var ( RegexProjectID = fmt.Sprintf("(%s)|(%s)", RegexProjectIDV1, RegexProjectIDV2) RegexProjectIDV1 = fmt.Sprintf(`%s-[0-9]{3,}`, RegexClassID) RegexProjectIDV2 = `P[0-9]{3,}` - RegexBatchDenom = fmt.Sprintf(`%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexProjectID) + RegexBatchDenom = fmt.Sprintf(`(%s)|(%s)`, RegexBatchDenomV1, RegexBatchDenomV2) + RegexBatchDenomV1 = fmt.Sprintf(`%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexProjectIDV1) + RegexBatchDenomV2 = fmt.Sprintf(`%s-%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexClassID, RegexProjectIDV2) RegexJurisdiction = `([A-Z]{2})(?:-([A-Z0-9]{1,3})(?: ([a-zA-Z0-9 \-]{1,64}))?)?` regexCreditTypeAbbrev = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexCreditTypeAbbrev)) diff --git a/x/ecocredit/base/utils_test.go b/x/ecocredit/base/utils_test.go index 3647be6ef3..4593ad6ebe 100644 --- a/x/ecocredit/base/utils_test.go +++ b/x/ecocredit/base/utils_test.go @@ -15,7 +15,6 @@ func TestUtils(t *testing.T) { t.Run("TestInvalidProjectID", rapid.MakeCheck(testInvalidProjectID)) t.Run("TestFormatBatchDenom", rapid.MakeCheck(testFormatBatchDenom)) t.Run("TestInvalidBatchDenom", rapid.MakeCheck(testInvalidBatchDenom)) - t.Run("TestGetClassIDFromProjectID", rapid.MakeCheck(testGetClassIDFromProjectID)) t.Run("TestGetClassIDFromBatchDenom", rapid.MakeCheck(testGetClassIDFromBatchDenom)) t.Run("TestGetProjectIDFromBatchDenom", rapid.MakeCheck(testGetProjectIDFromBatchDenom)) t.Run("GetCreditTypeAbbrevFromClassID", rapid.MakeCheck(testGetCreditTypeAbbrevFromClassID)) @@ -39,12 +38,9 @@ func testInvalidClassID(t *rapid.T) { } func testFormatProjectID(t *rapid.T) { - creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") - classSeq := rapid.Uint64().Draw(t, "classSeq") projectSeq := rapid.Uint64().Draw(t, "projectSeq") - classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(classID, projectSeq) + projectID := FormatProjectID(projectSeq) t.Log(projectID) @@ -66,8 +62,8 @@ func testFormatBatchDenom(t *rapid.T) { endDate := genTime.Draw(t, "endDate") classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(classID, projectSeq) - denom, err := FormatBatchDenom(projectID, batchSeq, startDate, endDate) + projectID := FormatProjectID(projectSeq) + denom, err := FormatBatchDenom(classID, projectID, batchSeq, startDate, endDate) require.NoError(t, err) t.Log(denom) @@ -81,18 +77,6 @@ func testInvalidBatchDenom(t *rapid.T) { require.Error(t, ValidateBatchDenom(batchDenom)) } -func testGetClassIDFromProjectID(t *rapid.T) { - creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") - classSeq := rapid.Uint64().Draw(t, "classSeq") - projectSeq := rapid.Uint64().Draw(t, "projectSeq") - - classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(classID, projectSeq) - - result := GetClassIDFromLegacyProjectID(projectID) - require.Equal(t, classID, result) -} - func testGetClassIDFromBatchDenom(t *rapid.T) { creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") classSeq := rapid.Uint64().Draw(t, "classSeq") @@ -102,8 +86,8 @@ func testGetClassIDFromBatchDenom(t *rapid.T) { endDate := genTime.Draw(t, "endDate") classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(classID, projectSeq) - denom, err := FormatBatchDenom(projectID, batchSeq, startDate, endDate) + projectID := FormatProjectID(projectSeq) + denom, err := FormatBatchDenom(classID, projectID, batchSeq, startDate, endDate) require.NoError(t, err) result := GetClassIDFromBatchDenom(denom) @@ -119,8 +103,8 @@ func testGetProjectIDFromBatchDenom(t *rapid.T) { endDate := genTime.Draw(t, "endDate") classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(classID, projectSeq) - denom, err := FormatBatchDenom(projectID, batchSeq, startDate, endDate) + projectID := FormatProjectID(projectSeq) + denom, err := FormatBatchDenom(classID, projectID, batchSeq, startDate, endDate) require.NoError(t, err) result := GetProjectIDFromBatchDenom(denom) diff --git a/x/ecocredit/basket/keeper/msg_put_test.go b/x/ecocredit/basket/keeper/msg_put_test.go index 1bdcf68a31..1cfea345ba 100644 --- a/x/ecocredit/basket/keeper/msg_put_test.go +++ b/x/ecocredit/basket/keeper/msg_put_test.go @@ -222,15 +222,13 @@ func (s *putSuite) ACreditBatchWithDenom(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) err = s.baseStore.BatchTable().Insert(s.ctx, &baseapi.Batch{ @@ -256,15 +254,13 @@ func (s *putSuite) AliceOwnsCredits() { classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ @@ -285,15 +281,13 @@ func (s *putSuite) AliceOwnsCreditAmount(a string) { classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ @@ -314,15 +308,13 @@ func (s *putSuite) AliceOwnsCreditsFromCreditBatch(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ @@ -343,15 +335,13 @@ func (s *putSuite) AliceOwnsCreditsWithStartDate(a string) { startDate, err := regentypes.ParseDate("start-date", a) require.NoError(s.t, err) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err = s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) - pKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + pKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ diff --git a/x/ecocredit/basket/keeper/msg_take_test.go b/x/ecocredit/basket/keeper/msg_take_test.go index dd0457d858..048913be9a 100644 --- a/x/ecocredit/basket/keeper/msg_take_test.go +++ b/x/ecocredit/basket/keeper/msg_take_test.go @@ -418,15 +418,13 @@ func (s *takeSuite) addBasketClassAndBalance(basketID uint64, creditAmount strin classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err = s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ diff --git a/x/ecocredit/genesis/genesis.go b/x/ecocredit/genesis/genesis.go index 50eba85c88..2a80d3905e 100644 --- a/x/ecocredit/genesis/genesis.go +++ b/x/ecocredit/genesis/genesis.go @@ -102,25 +102,6 @@ func ValidateGenesis(data json.RawMessage) error { } } - projectKeyToClassKey := make(map[uint64]uint64) // map of project key to class key - pItr, err := ss.ProjectTable().List(ormCtx, baseapi.ProjectPrimaryKey{}) - if err != nil { - return err - } - defer pItr.Close() - - for pItr.Next() { - project, err := pItr.Value() - if err != nil { - return err - } - - if _, exists := projectKeyToClassKey[project.Key]; exists { - continue - } - projectKeyToClassKey[project.Key] = project.ClassKey - } - batchIDToPrecision := make(map[uint64]uint32) // map of batchID to precision batchDenomToIDMap := make(map[string]uint64) // map of batchDenom to batchID bItr, err := ss.BatchTable().List(ormCtx, baseapi.BatchPrimaryKey{}) @@ -141,15 +122,6 @@ func ValidateGenesis(data json.RawMessage) error { if _, exists := batchIDToPrecision[batch.Key]; exists { continue } - - class, err := ss.ClassTable().Get(ormCtx, projectKeyToClassKey[batch.ProjectKey]) - if err != nil { - return err - } - - if class.Key == projectKeyToClassKey[batch.ProjectKey] { - batchIDToPrecision[batch.Key] = abbrevToPrecision[class.CreditTypeAbbrev] - } } batchIDToCalSupply := make(map[uint64]math.Dec) // map of batchID to calculated supply diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index f4ef4ac14f..fce808c85b 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -55,7 +55,7 @@ func TestValidateGenesis(t *testing.T) { { Issuer: sdk.AccAddress("addr2"), ProjectKey: 1, - Denom: "BIO01-001-00000000-00000000-001", + Denom: "BIO01-P001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, IssuanceDate: ×tamppb.Timestamp{Seconds: 102}, @@ -63,7 +63,7 @@ func TestValidateGenesis(t *testing.T) { { Issuer: sdk.AccAddress("addr3"), ProjectKey: 1, - Denom: "BIO02-001-00000000-00000000-001", + Denom: "BIO02-P001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, IssuanceDate: ×tamppb.Timestamp{Seconds: 102}, @@ -98,16 +98,14 @@ func TestValidateGenesis(t *testing.T) { projects := []*baseapi.Project{ { - Id: "P01-001", + Id: "P001", Admin: sdk.AccAddress("addr6"), - ClassKey: 1, Jurisdiction: "AQ", Metadata: "meta", }, { - Id: "P02-001", + Id: "P002", Admin: sdk.AccAddress("addr7"), - ClassKey: 2, Jurisdiction: "AQ", Metadata: "meta", }, @@ -116,6 +114,22 @@ func TestValidateGenesis(t *testing.T) { require.NoError(t, ss.ProjectTable().Insert(ormCtx, p)) } + enrollments := []*baseapi.ProjectEnrollment{ + { + ProjectKey: 1, + ClassKey: 1, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }, + { + ProjectKey: 2, + ClassKey: 2, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }, + } + for _, e := range enrollments { + require.NoError(t, ss.ProjectEnrollmentTable().Insert(ormCtx, e)) + } + target := ormjson.NewRawMessageTarget() require.NoError(t, modDB.ExportJSON(ormCtx, target)) genesisJSON, err := target.JSON() @@ -212,7 +226,7 @@ func TestGenesisValidate(t *testing.T) { Precision: 6, })) denom := "C01-001-00000000-00000000-001" - key, err := ss.ClassTable().InsertReturningID(ctx, &baseapi.Class{ + cKey, err := ss.ClassTable().InsertReturningID(ctx, &baseapi.Class{ Id: "C01", Admin: addr1, CreditTypeAbbrev: "C", @@ -222,10 +236,17 @@ func TestGenesisValidate(t *testing.T) { pKey, err := ss.ProjectTable().InsertReturningID(ctx, &baseapi.Project{ Id: "P01-001", Admin: addr1, - ClassKey: key, Jurisdiction: "AQ", }) require.NoError(t, err) + + err = ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + ProjectKey: pKey, + ClassKey: cKey, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(t, err) + bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, @@ -263,11 +284,17 @@ func TestGenesisValidate(t *testing.T) { pKey, err := ss.ProjectTable().InsertReturningID(ctx, &baseapi.Project{ Id: "P01-001", Admin: addr1, - ClassKey: cKey, Jurisdiction: "AQ", }) require.NoError(t, err) + err = ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + ProjectKey: pKey, + ClassKey: cKey, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(t, err) + bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, @@ -311,10 +338,15 @@ func TestGenesisValidate(t *testing.T) { pKey, err := ss.ProjectTable().InsertReturningID(ctx, &baseapi.Project{ Id: "P01-001", Admin: addr1, - ClassKey: cKey, Jurisdiction: "AQ", }) require.NoError(t, err) + err = ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + ProjectKey: pKey, + ClassKey: cKey, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(t, err) bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, @@ -377,17 +409,27 @@ func TestGenesisValidate(t *testing.T) { pKey, err := ss.ProjectTable().InsertReturningID(ctx, &baseapi.Project{ Id: "P01-001", Admin: addr1, - ClassKey: cKey, Jurisdiction: "AQ", }) require.NoError(t, err) + ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + ProjectKey: pKey, + ClassKey: cKey, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(t, err) pKeyBIO, err := ss.ProjectTable().InsertReturningID(ctx, &baseapi.Project{ Id: "P02-001", Admin: addr1, - ClassKey: cKeyBIO, Jurisdiction: "AQ", }) require.NoError(t, err) + ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + ProjectKey: pKeyBIO, + ClassKey: cKeyBIO, + Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + require.NoError(t, err) bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, @@ -906,7 +948,6 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { project := baseapi.Project{ Id: "P01-001", Admin: sdk.AccAddress("addr6"), - ClassKey: 1, Jurisdiction: "AQ", Metadata: "meta", } diff --git a/x/ecocredit/marketplace/keeper/msg_sell_test.go b/x/ecocredit/marketplace/keeper/msg_sell_test.go index 1265b94ac6..f45198fa68 100644 --- a/x/ecocredit/marketplace/keeper/msg_sell_test.go +++ b/x/ecocredit/marketplace/keeper/msg_sell_test.go @@ -110,15 +110,13 @@ func (s *sellSuite) ACreditBatchWithBatchDenom(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) err = s.baseStore.BatchTable().Insert(s.ctx, &baseapi.Batch{ @@ -421,15 +419,13 @@ func (s *sellSuite) ExpectEventWithProperties(a gocuke.DocString) { } func (s *sellSuite) aliceTradableBatchBalance() { - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ diff --git a/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go b/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go index 0490e96f8f..516109a279 100644 --- a/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go +++ b/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go @@ -489,15 +489,13 @@ func (s *updateSellOrdersSuite) sellOrderSetup(count int) { func (s *updateSellOrdersSuite) aliceBatchBalance() { batch, err := s.baseStore.BatchTable().GetByDenom(s.ctx, s.batchDenom) if err == ormerrors.NotFound { - classKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) - projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{ - ClassKey: classKey, - }) + projectKey, err := s.baseStore.ProjectTable().InsertReturningID(s.ctx, &baseapi.Project{}) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ diff --git a/x/ecocredit/server/testsuite/genesis.go b/x/ecocredit/server/testsuite/genesis.go index 3e39984142..2b680348af 100644 --- a/x/ecocredit/server/testsuite/genesis.go +++ b/x/ecocredit/server/testsuite/genesis.go @@ -36,12 +36,19 @@ func (s *GenesisTestSuite) TestInitExportGenesis() { require.NoError(err) projects := []baseapi.Project{ - {Id: "C01-001", Admin: sdk.AccAddress("addr1"), ClassKey: 1, Jurisdiction: "AQ", Metadata: "metadata"}, - {Id: "C01-002", Admin: sdk.AccAddress("addr2"), ClassKey: 2, Jurisdiction: "AQ", Metadata: "metadata"}, + {Id: "C01-001", Admin: sdk.AccAddress("addr1"), Jurisdiction: "AQ", Metadata: "metadata"}, + {Id: "C01-002", Admin: sdk.AccAddress("addr2"), Jurisdiction: "AQ", Metadata: "metadata"}, } projectJSON, err := json.Marshal(projects) require.NoError(err) + enrollments := []baseapi.ProjectEnrollment{ + {ProjectKey: 1, ClassKey: 1, Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED}, + {ProjectKey: 2, ClassKey: 2, Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED}, + } + enrollmentJSON, err := json.Marshal(enrollments) + require.NoError(err) + batches := []baseapi.Batch{ {Issuer: sdk.AccAddress("addr1"), ProjectKey: 1, Denom: "BIO01-00000000-00000000-001", Metadata: "metadata"}, {Issuer: nil, ProjectKey: 1, Denom: "BIO02-0000000-0000000-001", Metadata: "metadata"}, @@ -100,6 +107,7 @@ func (s *GenesisTestSuite) TestInitExportGenesis() { wrapper[string(proto.MessageName(&baseapi.Class{}))] = classJSON wrapper[string(proto.MessageName(&baseapi.ClassIssuer{}))] = classIssuersJSON wrapper[string(proto.MessageName(&baseapi.Project{}))] = projectJSON + wrapper[string(proto.MessageName(&baseapi.ProjectEnrollment{}))] = enrollmentJSON wrapper[string(proto.MessageName(&baseapi.Batch{}))] = batchJSON wrapper[string(proto.MessageName(&baseapi.BatchBalance{}))] = batchBalancesJSON wrapper[string(proto.MessageName(&baseapi.BatchSupply{}))] = batchSupplyJSON diff --git a/x/ecocredit/simulation/genesis.go b/x/ecocredit/simulation/genesis.go index bdb96678cb..267bd6b103 100644 --- a/x/ecocredit/simulation/genesis.go +++ b/x/ecocredit/simulation/genesis.go @@ -146,28 +146,6 @@ func createProject(ctx context.Context, sStore api.StateStore, project *api.Proj return 0, err } - seq, err := sStore.ProjectSequenceTable().Get(ctx, project.ClassKey) - if err != nil { - if ormerrors.IsNotFound(err) { - if err := sStore.ProjectSequenceTable().Insert(ctx, &api.ProjectSequence{ - ClassKey: project.ClassKey, - NextSequence: 2, - }); err != nil { - return 0, err - } - return pKey, nil - } - - return 0, err - } - - if err := sStore.ProjectSequenceTable().Update(ctx, &api.ProjectSequence{ - ClassKey: project.ClassKey, - NextSequence: seq.NextSequence + 1, - }); err != nil { - return 0, err - } - return pKey, nil } From b2ad50c650b7dc5f8a8d3ff9a9e6fe7828b95b29 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 13:51:47 -0500 Subject: [PATCH 035/112] WIP on fixing tests --- .../v1/features/msg_create_batch.feature | 27 +++++++++++++++++++ x/ecocredit/base/utils.go | 18 ------------- x/ecocredit/base/utils_test.go | 2 -- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/msg_create_batch.feature b/x/ecocredit/base/types/v1/features/msg_create_batch.feature index ebd2e5c07b..844bd030b6 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_batch.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_batch.feature @@ -6,6 +6,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -29,6 +30,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -51,6 +53,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -77,6 +80,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -101,6 +105,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -161,11 +166,23 @@ Feature: MsgCreateBatch When the message is validated Then expect the error "project id: expected format -: parse error: invalid request" + Scenario: an error is returned if class id is empty + Given the message + """ + { + "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", + "project_id": "foo" + } + """ + When the message is validated + Then expect the error "class id: empty string is not allowed: parse error: invalid request" + Scenario: an error is returned if issuance is empty Given the message """ { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", + "class_id": "C01", "project_id": "C01-001", "issuance": [] } @@ -179,6 +196,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ {} ] @@ -195,6 +213,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -215,6 +234,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -236,6 +256,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -257,6 +278,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -279,6 +301,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -302,6 +325,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -326,6 +350,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -354,6 +379,7 @@ Feature: MsgCreateBatch { "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", "project_id": "C01-001", + "class_id": "C01", "issuance": [ { "recipient": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", @@ -374,6 +400,7 @@ Feature: MsgCreateBatch { "type":"regen/MsgCreateBatch", "value":{ + "class_id": "C01", "end_date":"2021-01-01T00:00:00Z", "issuance":[ { diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 7a32a7835a..14c373b24c 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -23,18 +23,10 @@ const ( var ( RegexCreditTypeAbbrev = `[A-Z]{1,3}` //nolint:gosec RegexClassID = fmt.Sprintf(`%s[0-9]{2,}`, RegexCreditTypeAbbrev) - RegexProjectID = fmt.Sprintf("(%s)|(%s)", RegexProjectIDV1, RegexProjectIDV2) - RegexProjectIDV1 = fmt.Sprintf(`%s-[0-9]{3,}`, RegexClassID) - RegexProjectIDV2 = `P[0-9]{3,}` - RegexBatchDenom = fmt.Sprintf(`(%s)|(%s)`, RegexBatchDenomV1, RegexBatchDenomV2) - RegexBatchDenomV1 = fmt.Sprintf(`%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexProjectIDV1) - RegexBatchDenomV2 = fmt.Sprintf(`%s-%s-[0-9]{8}-[0-9]{8}-[0-9]{3,}`, RegexClassID, RegexProjectIDV2) RegexJurisdiction = `([A-Z]{2})(?:-([A-Z0-9]{1,3})(?: ([a-zA-Z0-9 \-]{1,64}))?)?` regexCreditTypeAbbrev = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexCreditTypeAbbrev)) regexClassID = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexClassID)) - regexProjectID = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexProjectID)) - regexBatchDenom = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexBatchDenom)) regexJurisdiction = regexp.MustCompile(fmt.Sprintf(`^%s$`, RegexJurisdiction)) ) @@ -135,10 +127,6 @@ func ValidateProjectID(projectID string) error { if projectID == "" { return ecocredit.ErrParseFailure.Wrap("empty string is not allowed") } - matches := regexProjectID.FindStringSubmatch(projectID) - if matches == nil { - return ecocredit.ErrParseFailure.Wrap("expected format -") - } return nil } @@ -148,12 +136,6 @@ func ValidateBatchDenom(denom string) error { if denom == "" { return ecocredit.ErrParseFailure.Wrap("empty string is not allowed") } - matches := regexBatchDenom.FindStringSubmatch(denom) - if matches == nil { - return ecocredit.ErrParseFailure.Wrap( - "expected format ---", - ) - } return nil } diff --git a/x/ecocredit/base/utils_test.go b/x/ecocredit/base/utils_test.go index 4593ad6ebe..becb50fd3c 100644 --- a/x/ecocredit/base/utils_test.go +++ b/x/ecocredit/base/utils_test.go @@ -12,9 +12,7 @@ func TestUtils(t *testing.T) { t.Run("TestFormatClassID", rapid.MakeCheck(testFormatClassID)) t.Run("TestInvalidClassID", rapid.MakeCheck(testInvalidClassID)) t.Run("TestFormatProjectID", rapid.MakeCheck(testFormatProjectID)) - t.Run("TestInvalidProjectID", rapid.MakeCheck(testInvalidProjectID)) t.Run("TestFormatBatchDenom", rapid.MakeCheck(testFormatBatchDenom)) - t.Run("TestInvalidBatchDenom", rapid.MakeCheck(testInvalidBatchDenom)) t.Run("TestGetClassIDFromBatchDenom", rapid.MakeCheck(testGetClassIDFromBatchDenom)) t.Run("TestGetProjectIDFromBatchDenom", rapid.MakeCheck(testGetProjectIDFromBatchDenom)) t.Run("GetCreditTypeAbbrevFromClassID", rapid.MakeCheck(testGetCreditTypeAbbrevFromClassID)) From 0d98f577f816e0afecd7fc6ce951cca4bb79d432 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 14:17:44 -0500 Subject: [PATCH 036/112] better queries --- api/regen/ecocredit/v1/query.pulsar.go | 809 ++++++++++-------- api/regen/ecocredit/v1/query_grpc.pb.go | 8 +- proto/regen/ecocredit/v1/query.proto | 11 +- .../base/keeper/query_project_enrollments.go | 49 +- .../base/keeper/query_project_info_test.go | 1 - .../keeper/query_projects_by_admin_test.go | 1 - .../base/keeper/query_projects_by_class.go | 8 +- .../keeper/query_projects_by_class_test.go | 23 +- .../query_projects_by_reference_id_test.go | 1 - .../base/keeper/query_projects_test.go | 1 - .../msg_create_or_update_application.feature | 8 +- x/ecocredit/base/types/v1/query.pb.go | 398 +++++---- 12 files changed, 752 insertions(+), 566 deletions(-) diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index 8ab1e491c9..ed0c780004 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -28942,6 +28943,7 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa var ( md_QueryProjectEnrollmentsRequest protoreflect.MessageDescriptor fd_QueryProjectEnrollmentsRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectEnrollmentsRequest_class_id protoreflect.FieldDescriptor fd_QueryProjectEnrollmentsRequest_pagination protoreflect.FieldDescriptor ) @@ -28949,6 +28951,7 @@ func init() { file_regen_ecocredit_v1_query_proto_init() md_QueryProjectEnrollmentsRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentsRequest") fd_QueryProjectEnrollmentsRequest_project_id = md_QueryProjectEnrollmentsRequest.Fields().ByName("project_id") + fd_QueryProjectEnrollmentsRequest_class_id = md_QueryProjectEnrollmentsRequest.Fields().ByName("class_id") fd_QueryProjectEnrollmentsRequest_pagination = md_QueryProjectEnrollmentsRequest.Fields().ByName("pagination") } @@ -29023,6 +29026,12 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Range(f func(protoreflec return } } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_QueryProjectEnrollmentsRequest_class_id, value) { + return + } + } if x.Pagination != nil { value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) if !f(fd_QueryProjectEnrollmentsRequest_pagination, value) { @@ -29046,6 +29055,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Has(fd protoreflect.Fiel switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return x.ProjectId != "" + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + return x.ClassId != "" case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": return x.Pagination != nil default: @@ -29066,6 +29077,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Clear(fd protoreflect.Fi switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = "" + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + x.ClassId = "" case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = nil default: @@ -29087,6 +29100,9 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Get(descriptor protorefl case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": value := x.Pagination return protoreflect.ValueOfMessage(value.ProtoReflect()) @@ -29112,6 +29128,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Set(fd protoreflect.Fiel switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + x.ClassId = value.Interface().(string) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) default: @@ -29141,6 +29159,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Mutable(fd protoreflect. return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectEnrollmentsRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.QueryProjectEnrollmentsRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) @@ -29156,6 +29176,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) NewField(fd protoreflect switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + return protoreflect.ValueOfString("") case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": m := new(v1beta1.PageRequest) return protoreflect.ValueOfMessage(m.ProtoReflect()) @@ -29232,6 +29254,10 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.Pagination != nil { l = options.Size(x.Pagination) n += 1 + l + runtime.Sov(uint64(l)) @@ -29265,6 +29291,13 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + 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] = 0x1a + } if x.Pagination != nil { encoded, err := options.Marshal(x.Pagination) if err != nil { @@ -29367,6 +29400,38 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa } x.ProjectId = 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 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 Pagination", wireType) @@ -33279,8 +33344,12 @@ type QueryProjectEnrollmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // project_id is the unique identifier of the project to query. + // project_id is the unique identifier of the project to filter enrollments + // by. If not set, enrollments for all projects will be returned. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to filter enrollments + // by. If not set, enrollments for all credit classes will be returned. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // pagination defines an optional pagination for the request. Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -33312,6 +33381,13 @@ func (x *QueryProjectEnrollmentsRequest) GetProjectId() string { return "" } +func (x *QueryProjectEnrollmentsRequest) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + func (x *QueryProjectEnrollmentsRequest) GetPagination() *v1beta1.PageRequest { if x != nil { return x.Pagination @@ -33878,397 +33954,398 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 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, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xc1, 0x2a, 0x0a, 0x05, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x0a, + 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xf3, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 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, 0x43, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xc1, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x5b, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, - 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, - 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, - 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, - 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, - 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x5a, - 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, + 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, - 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x5a, 0x2c, - 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2d, 0x2f, 0x72, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x5a, + 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x57, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x28, 0x12, 0x26, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, + 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, - 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, - 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x5a, 0x2d, 0x12, 0x2b, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x30, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x3b, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, + 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x2b, 0x12, + 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, + 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, + 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, + 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, + 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x33, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, + 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x5a, 0x3d, + 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, + 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, + 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0xb2, 0x01, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, - 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, - 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, - 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, + 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0xb2, 0x01, 0x0a, + 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, - 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, - 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, + 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, + 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x28, + 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x02, 0x01, 0x12, 0xd0, 0x01, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x5a, 0x31, 0x12, 0x2f, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, + 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, + 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, + 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, + 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, - 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x02, 0x01, - 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, - 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, - 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, - 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, + 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, + 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, - 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, - 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, - 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, + 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, + 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/regen/ecocredit/v1/query_grpc.pb.go b/api/regen/ecocredit/v1/query_grpc.pb.go index 7fd63f21ad..ad2056d64f 100644 --- a/api/regen/ecocredit/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/v1/query_grpc.pb.go @@ -135,8 +135,8 @@ type QueryClient interface { // // Since Revision 3 ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) - // ProjectEnrollments queries all credit class enrollments associated with a - // project. + // ProjectEnrollments queries all credit class enrollments and allows for filtering by + // project or credit class. ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) } @@ -487,8 +487,8 @@ type QueryServer interface { // // Since Revision 3 ProjectEnrollment(context.Context, *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) - // ProjectEnrollments queries all credit class enrollments associated with a - // project. + // ProjectEnrollments queries all credit class enrollments and allows for filtering by + // project or credit class. ProjectEnrollments(context.Context, *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) mustEmbedUnimplementedQueryServer() } diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 761debdfd1..2727546a01 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -270,8 +270,8 @@ service Query { }; } - // ProjectEnrollments queries all credit class enrollments associated with a - // project. + // ProjectEnrollments queries all credit class enrollments and allows for filtering by + // project or credit class. rpc ProjectEnrollments(QueryProjectEnrollmentsRequest) returns (QueryProjectEnrollmentsResponse) { option (google.api.http) = { get : "/regen/ecocredit/v1/project/{project_id}/enrollments" @@ -869,9 +869,14 @@ message QueryProjectEnrollmentResponse { // // Since Revision 3 message QueryProjectEnrollmentsRequest { - // project_id is the unique identifier of the project to query. + // project_id is the unique identifier of the project to filter enrollments + // by. If not set, enrollments for all projects will be returned. string project_id = 1; + // class_id is the unique identifier of the credit class to filter enrollments + // by. If not set, enrollments for all credit classes will be returned. + string class_id = 3; + // pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 2; } diff --git a/x/ecocredit/base/keeper/query_project_enrollments.go b/x/ecocredit/base/keeper/query_project_enrollments.go index a67d5ace2e..c3c50722d3 100644 --- a/x/ecocredit/base/keeper/query_project_enrollments.go +++ b/x/ecocredit/base/keeper/query_project_enrollments.go @@ -4,6 +4,7 @@ import ( "context" "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + "github.com/cosmos/cosmos-sdk/types/query" ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" regenerrors "github.com/regen-network/regen-ledger/types/v2/errors" @@ -17,14 +18,43 @@ func (k Keeper) ProjectEnrollments(ctx context.Context, request *types.QueryProj return nil, regenerrors.ErrInvalidArgument.Wrap(err.Error()) } - project, err := k.stateStore.ProjectTable().GetById(ctx, request.ProjectId) - if err != nil { - return nil, regenerrors.ErrNotFound.Wrapf("could not get project with id %s: %s", request.ProjectId, err.Error()) - } + var it ecocreditv1.ProjectEnrollmentIterator + if request.ClassId != "" && request.ProjectId != "" { + res, err := k.ProjectEnrollment(ctx, &types.QueryProjectEnrollmentRequest{ + ProjectId: request.ProjectId, + ClassId: request.ClassId, + }) + if err != nil { + return nil, err + } + + return &types.QueryProjectEnrollmentsResponse{ + Enrollments: []*types.EnrollmentInfo{res.Enrollment}, + Pagination: &query.PageResponse{Total: 1}, + }, nil + } else if request.ProjectId != "" { + project, err := k.stateStore.ProjectTable().GetById(ctx, request.ProjectId) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get project with id %s: %s", request.ProjectId, err.Error()) + } - it, err := k.stateStore.ProjectEnrollmentTable().List(ctx, - ecocreditv1.ProjectEnrollmentProjectKeyClassKeyIndexKey{}.WithProjectKey(project.Key), - ormlist.Paginate(pg)) + it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, + ecocreditv1.ProjectEnrollmentProjectKeyClassKeyIndexKey{}.WithProjectKey(project.Key), + ormlist.Paginate(pg)) + } else if request.ClassId != "" { + cls, err := k.stateStore.ClassTable().GetById(ctx, request.ClassId) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get class with id %s: %s", request.ClassId, err.Error()) + } + + it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, + ecocreditv1.ProjectEnrollmentClassKeyIndexKey{}.WithClassKey(cls.Key), + ormlist.Paginate(pg)) + } else { + it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, + ecocreditv1.ProjectEnrollmentPrimaryKey{}, + ormlist.Paginate(pg)) + } if err != nil { return nil, err } @@ -37,6 +67,11 @@ func (k Keeper) ProjectEnrollments(ctx context.Context, request *types.QueryProj return nil, err } + project, err := k.stateStore.ProjectTable().Get(ctx, enrollment.ProjectKey) + if err != nil { + return nil, regenerrors.ErrNotFound.Wrapf("could not get project with key: %d", enrollment.ProjectKey) + } + class, err := k.stateStore.ClassTable().Get(ctx, enrollment.ClassKey) if err != nil { return nil, regenerrors.ErrNotFound.Wrapf("could not get class with key: %d", enrollment.ClassKey) diff --git a/x/ecocredit/base/keeper/query_project_info_test.go b/x/ecocredit/base/keeper/query_project_info_test.go index e041130146..4a50805473 100644 --- a/x/ecocredit/base/keeper/query_project_info_test.go +++ b/x/ecocredit/base/keeper/query_project_info_test.go @@ -36,7 +36,6 @@ func TestQuery_Project(t *testing.T) { res, err := s.k.Project(s.ctx, &types.QueryProjectRequest{ProjectId: "C01-001"}) assert.NilError(t, err) assert.Equal(t, project.Id, res.Project.Id) - assert.Equal(t, "C01", res.Project.ClassId) assert.Equal(t, project.Jurisdiction, res.Project.Jurisdiction) assert.Equal(t, project.Metadata, res.Project.Metadata) assert.Equal(t, project.ReferenceId, res.Project.ReferenceId) diff --git a/x/ecocredit/base/keeper/query_projects_by_admin_test.go b/x/ecocredit/base/keeper/query_projects_by_admin_test.go index 263ca68bdf..f483149394 100644 --- a/x/ecocredit/base/keeper/query_projects_by_admin_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_admin_test.go @@ -72,7 +72,6 @@ func TestQuery_Projects_By_Admin(t *testing.T) { assert.NilError(t, err) assert.Equal(t, len(res.Projects), 1) assert.Equal(t, project1.Id, res.Projects[0].Id) - assert.Equal(t, "C01", res.Projects[0].ClassId) assert.Equal(t, sdk.AccAddress(project1.Admin).String(), res.Projects[0].Admin) assert.Equal(t, project1.Jurisdiction, res.Projects[0].Jurisdiction) assert.Equal(t, res.Pagination.Total, uint64(2)) diff --git a/x/ecocredit/base/keeper/query_projects_by_class.go b/x/ecocredit/base/keeper/query_projects_by_class.go index 0e0b2cacf7..847f670134 100644 --- a/x/ecocredit/base/keeper/query_projects_by_class.go +++ b/x/ecocredit/base/keeper/query_projects_by_class.go @@ -5,6 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/orm/model/ormlist" sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/protobuf/proto" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" regenerrors "github.com/regen-network/regen-ledger/types/v2/errors" @@ -24,7 +25,12 @@ func (k Keeper) ProjectsByClass(ctx context.Context, request *types.QueryProject return nil, regenerrors.ErrNotFound.Wrapf("could not get class with id %s: %s", request.ClassId, err.Error()) } - it, err := k.stateStore.ProjectEnrollmentTable().List(ctx, api.ProjectEnrollmentClassKeyIndexKey{}.WithClassKey(cInfo.Key), ormlist.Paginate(pg)) + it, err := k.stateStore.ProjectEnrollmentTable().List(ctx, api.ProjectEnrollmentClassKeyIndexKey{}.WithClassKey(cInfo.Key), + ormlist.Paginate(pg), + ormlist.Filter(func(msg proto.Message) bool { + enrollment := msg.(*api.ProjectEnrollment) + return enrollment.Status == api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED + })) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/query_projects_by_class_test.go b/x/ecocredit/base/keeper/query_projects_by_class_test.go index 073fbce8c2..7c2c17668b 100644 --- a/x/ecocredit/base/keeper/query_projects_by_class_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_class_test.go @@ -17,7 +17,7 @@ func TestQuery_ProjectsByClass(t *testing.T) { s := setupBase(t) // insert credit class - _, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + clsId, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", }) assert.NilError(t, err) @@ -29,10 +29,24 @@ func TestQuery_ProjectsByClass(t *testing.T) { } // insert two projects under "C01" credit class - assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, project)) - assert.NilError(t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + id, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, project) + assert.NilError(t, err) + err = s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: id, + ClassKey: clsId, + Status: api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + assert.NilError(t, err) + id, err = s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: "C01-002", - })) + }) + assert.NilError(t, err) + err = s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: id, + ClassKey: clsId, + Status: api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + assert.NilError(t, err) // query projects by "C01" credit class res, err := s.k.ProjectsByClass(s.ctx, &types.QueryProjectsByClassRequest{ @@ -47,7 +61,6 @@ func TestQuery_ProjectsByClass(t *testing.T) { // check project properties assert.Equal(t, project.Id, res.Projects[0].Id) - assert.Equal(t, "C01", res.Projects[0].ClassId) assert.Equal(t, project.Jurisdiction, res.Projects[0].Jurisdiction) assert.Equal(t, project.Metadata, res.Projects[0].Metadata) diff --git a/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go b/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go index 47079d1fc3..65c61de51c 100644 --- a/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go +++ b/x/ecocredit/base/keeper/query_projects_by_reference_id_test.go @@ -53,7 +53,6 @@ func TestQuery_ProjectsByReferenceId(t *testing.T) { // check project properties assert.Equal(t, project.Id, res.Projects[0].Id) - assert.Equal(t, "C01", res.Projects[0].ClassId) assert.Equal(t, "VCS-001", res.Projects[0].ReferenceId) assert.Equal(t, project.Jurisdiction, res.Projects[0].Jurisdiction) diff --git a/x/ecocredit/base/keeper/query_projects_test.go b/x/ecocredit/base/keeper/query_projects_test.go index 7d53fb442b..6c14e80b4d 100644 --- a/x/ecocredit/base/keeper/query_projects_test.go +++ b/x/ecocredit/base/keeper/query_projects_test.go @@ -45,7 +45,6 @@ func TestQuery_Projects(t *testing.T) { // check project properties assert.Equal(t, project.Id, res.Projects[0].Id) - assert.Equal(t, "C01", res.Projects[0].ClassId) assert.Equal(t, project.Jurisdiction, res.Projects[0].Jurisdiction) assert.Equal(t, project.Metadata, res.Projects[0].Metadata) } diff --git a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature index 1c1a5c15ca..b09d53c2a1 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature @@ -4,7 +4,7 @@ Feature: MsgCreateOrUpdateApplication Scenario Outline: validate admin Given project admin "" * project ID "P1" - * class ID "C1" + * class ID "C01" When the message is validated Then expect error contains "" @@ -22,7 +22,7 @@ Feature: MsgCreateOrUpdateApplication Scenario Outline: validate project ID Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" * project ID "" - * class ID "C1" + * class ID "C01" When the message is validated Then expect error contains "" @@ -42,13 +42,13 @@ Feature: MsgCreateOrUpdateApplication Examples: | class_id | error | | | class id | - | C1 | | + | C01 | | Rule: metadata is optional and at most 256 characters Scenario Outline: validate metadata Given project admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" * project ID "P1" - * class ID "C1" + * class ID "C01" * metadata "" When the message is validated Then expect error contains "" diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index e19b896ec9..c09e8611ce 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3147,8 +3147,12 @@ func (m *QueryProjectEnrollmentResponse) GetEnrollment() *EnrollmentInfo { // // Since Revision 3 type QueryProjectEnrollmentsRequest struct { - // project_id is the unique identifier of the project to query. + // project_id is the unique identifier of the project to filter enrollments + // by. If not set, enrollments for all projects will be returned. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to filter enrollments + // by. If not set, enrollments for all credit classes will be returned. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -3193,6 +3197,13 @@ func (m *QueryProjectEnrollmentsRequest) GetProjectId() string { return "" } +func (m *QueryProjectEnrollmentsRequest) GetClassId() string { + if m != nil { + return m.ClassId + } + return "" +} + func (m *QueryProjectEnrollmentsRequest) GetPagination() *query.PageRequest { if m != nil { return m.Pagination @@ -3408,173 +3419,173 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2643 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0x1c, 0x57, - 0x15, 0xcf, 0xdd, 0xc4, 0xf6, 0xfa, 0xd8, 0x71, 0xd2, 0x1b, 0x27, 0x38, 0xdb, 0x78, 0x93, 0x4c, - 0x93, 0xd8, 0x89, 0xb3, 0x3b, 0xf1, 0x47, 0x0a, 0x6d, 0x43, 0x83, 0xed, 0xd0, 0xe2, 0x07, 0xa4, - 0x74, 0x5b, 0x05, 0xd5, 0x90, 0x9a, 0xd9, 0x9d, 0x6b, 0x67, 0xd2, 0xf5, 0xcc, 0x66, 0x66, 0xec, - 0xd4, 0x58, 0xa6, 0x05, 0xa9, 0x2d, 0x4f, 0x50, 0x51, 0x84, 0xfa, 0x52, 0xf1, 0x21, 0x78, 0x80, - 0x07, 0x84, 0x0a, 0x08, 0xa1, 0x3c, 0x20, 0x84, 0x84, 0x78, 0x8c, 0x54, 0x1e, 0xf8, 0x78, 0x41, - 0x09, 0x12, 0xbc, 0xf3, 0x0f, 0xa0, 0xbd, 0xf7, 0xdc, 0xf9, 0xda, 0x99, 0xbb, 0xe3, 0xb0, 0x8d, - 0xfc, 0xe4, 0x9d, 0x3b, 0xe7, 0xcc, 0xfd, 0xfd, 0xce, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0x91, 0xa1, - 0xec, 0xb2, 0x35, 0x66, 0xeb, 0xac, 0xe1, 0x34, 0x5c, 0x66, 0x5a, 0xbe, 0xbe, 0x39, 0xad, 0xdf, - 0xd9, 0x60, 0xee, 0x56, 0xb5, 0xe5, 0x3a, 0xbe, 0x43, 0x29, 0x7f, 0x5f, 0x0d, 0xde, 0x57, 0x37, - 0xa7, 0x4b, 0x17, 0x1a, 0x8e, 0xb7, 0xee, 0x78, 0x7a, 0xdd, 0xf0, 0x98, 0x10, 0xd6, 0x37, 0xa7, - 0xeb, 0xcc, 0x37, 0xa6, 0xf5, 0x96, 0xb1, 0x66, 0xd9, 0x86, 0x6f, 0x39, 0xb6, 0xd0, 0x2f, 0x95, - 0xa3, 0xb2, 0x52, 0xaa, 0xe1, 0x58, 0xf2, 0xfd, 0x89, 0x35, 0xc7, 0x59, 0x6b, 0x32, 0xdd, 0x68, - 0x59, 0xba, 0x61, 0xdb, 0x8e, 0xcf, 0x95, 0x3d, 0x7c, 0x7b, 0x12, 0xdf, 0xf2, 0xa7, 0xfa, 0xc6, - 0xaa, 0xee, 0x5b, 0xeb, 0xcc, 0xf3, 0x8d, 0xf5, 0x96, 0xfc, 0x7c, 0x0a, 0x7c, 0xcf, 0x37, 0x7c, - 0xa6, 0x78, 0xef, 0x6f, 0xb5, 0x18, 0x4e, 0xa0, 0xdd, 0x84, 0x23, 0x2f, 0xb5, 0x09, 0x2c, 0x36, - 0x0d, 0xcf, 0x63, 0x5e, 0x8d, 0xdd, 0xd9, 0x60, 0x9e, 0x4f, 0x5f, 0x00, 0x08, 0x99, 0x8c, 0x91, - 0x53, 0x64, 0x72, 0x68, 0xe6, 0x5c, 0x55, 0x50, 0xa9, 0xb6, 0xa9, 0x54, 0x85, 0x8d, 0x90, 0x50, - 0xf5, 0xba, 0xb1, 0xc6, 0x50, 0xb7, 0x16, 0xd1, 0xd4, 0x3e, 0x20, 0x30, 0x1a, 0xff, 0xbe, 0xd7, - 0x72, 0x6c, 0x8f, 0xd1, 0x4f, 0xc3, 0x40, 0x43, 0x0c, 0x8d, 0x91, 0x53, 0xfb, 0x27, 0x87, 0x66, - 0xc6, 0xab, 0x9d, 0x86, 0xae, 0x72, 0xad, 0x25, 0x7b, 0xd5, 0xa9, 0x49, 0x69, 0xfa, 0x62, 0x0c, - 0x59, 0x81, 0x23, 0x9b, 0xe8, 0x8a, 0x4c, 0xcc, 0x1a, 0x83, 0xf6, 0x35, 0x28, 0x45, 0x91, 0x2d, - 0x6c, 0xcd, 0x9b, 0xeb, 0x96, 0x2d, 0x0d, 0x30, 0x0a, 0x7d, 0x46, 0xfb, 0x99, 0x73, 0x1f, 0xac, - 0x89, 0x87, 0x84, 0x59, 0x0a, 0x8f, 0x6c, 0x96, 0x1f, 0x10, 0x78, 0x32, 0x75, 0xf2, 0x3d, 0x63, - 0x9d, 0x2a, 0x3c, 0x11, 0x02, 0x94, 0x46, 0x39, 0x0e, 0x45, 0x3e, 0xd1, 0x8a, 0x65, 0xa2, 0x5d, - 0xc4, 0xc4, 0x4b, 0xa6, 0xb6, 0x04, 0x34, 0x2a, 0x8f, 0x3c, 0x66, 0xa1, 0x8f, 0x0b, 0xa0, 0x07, - 0x75, 0x61, 0x21, 0x64, 0xb5, 0x1d, 0x18, 0x0b, 0x3f, 0xb5, 0xe4, 0x79, 0x1b, 0xcc, 0xcd, 0x81, - 0xa0, 0x67, 0x6b, 0xf3, 0x75, 0x38, 0x9e, 0x32, 0x3d, 0x12, 0x1a, 0x83, 0x01, 0x4b, 0x0c, 0xf1, - 0x85, 0x19, 0xac, 0xc9, 0xc7, 0xde, 0x59, 0xfe, 0x35, 0xdc, 0x31, 0xd7, 0x5d, 0xe7, 0x36, 0x6b, - 0xf8, 0x3d, 0xdf, 0x92, 0x1f, 0x12, 0x38, 0x9a, 0x98, 0x00, 0xc9, 0x3d, 0x07, 0xc5, 0x16, 0x8e, - 0xa1, 0xdb, 0x9d, 0x4c, 0x5b, 0x30, 0xd4, 0xe3, 0x4b, 0x16, 0x28, 0xf4, 0x8e, 0xff, 0x5b, 0x72, - 0x6f, 0x48, 0x7c, 0x0b, 0x79, 0x9d, 0xb0, 0x67, 0x2e, 0xf0, 0x13, 0x02, 0x27, 0xd2, 0x21, 0xec, - 0x29, 0x4b, 0x7d, 0x9b, 0xc0, 0xe9, 0x04, 0xcc, 0x1a, 0x5b, 0x65, 0x2e, 0xb3, 0x1b, 0x6c, 0xc9, - 0x94, 0xf6, 0x3a, 0x0d, 0xc3, 0xae, 0x1c, 0x0d, 0x6d, 0x36, 0xe4, 0x86, 0x92, 0x3d, 0xb3, 0xdb, - 0xcf, 0x09, 0x68, 0x2a, 0x40, 0x7b, 0xca, 0x7a, 0xdb, 0x1d, 0x6e, 0xf6, 0x18, 0x0f, 0x80, 0x14, - 0x0f, 0x8b, 0x9f, 0x00, 0x7b, 0xc3, 0x46, 0x73, 0x98, 0x1d, 0xe0, 0x34, 0xd2, 0x36, 0xe3, 0x00, - 0x38, 0x57, 0xe8, 0x50, 0x83, 0x38, 0xb2, 0x64, 0x6a, 0x2f, 0xc5, 0x23, 0x58, 0xc0, 0xe9, 0x19, - 0x18, 0x40, 0x21, 0x0c, 0x5f, 0x5d, 0x29, 0x49, 0xf9, 0x20, 0x4d, 0x59, 0x30, 0xfc, 0xc6, 0xad, - 0x4f, 0x30, 0x4d, 0x09, 0xbe, 0x1f, 0x1e, 0xc4, 0x75, 0x31, 0xa4, 0x3a, 0x88, 0xb9, 0x96, 0x00, - 0x8c, 0xd2, 0xbd, 0x5b, 0x82, 0x1d, 0x74, 0x53, 0x44, 0xb6, 0xb0, 0x25, 0x8e, 0x24, 0x69, 0x81, - 0x63, 0xd0, 0x2f, 0x4e, 0x20, 0x5c, 0x06, 0x7c, 0xea, 0x99, 0xa3, 0xfe, 0x50, 0x3a, 0x6a, 0xc7, - 0xfc, 0x7b, 0xc6, 0x42, 0x6f, 0x62, 0x22, 0x17, 0x20, 0x7c, 0xdc, 0xc7, 0xc5, 0xdb, 0x1d, 0x36, - 0xda, 0xd5, 0x7e, 0xe9, 0x19, 0x8e, 0x1f, 0x11, 0x18, 0xcf, 0xc0, 0xb1, 0x67, 0x16, 0x2b, 0xc8, - 0x7c, 0x93, 0xab, 0xb5, 0x67, 0x10, 0xce, 0x61, 0xe6, 0xcb, 0xe7, 0x90, 0x2b, 0x78, 0x12, 0x86, - 0xf8, 0x44, 0x2b, 0x26, 0xb3, 0x9d, 0x75, 0x5c, 0x42, 0xe0, 0x43, 0xd7, 0xda, 0x23, 0x41, 0xfe, - 0x8b, 0x5a, 0x61, 0xfe, 0xcb, 0x65, 0x54, 0xf9, 0x6f, 0xc8, 0x45, 0xc8, 0x6a, 0xd7, 0x83, 0x58, - 0xd7, 0x34, 0xec, 0x86, 0x5c, 0xe9, 0x76, 0xea, 0x69, 0x98, 0xa6, 0xcb, 0x30, 0x9b, 0x1e, 0xac, - 0xc9, 0xc7, 0x24, 0xb8, 0x42, 0x07, 0xb8, 0x1b, 0x41, 0x74, 0xc3, 0x2f, 0x22, 0xbc, 0xe7, 0xdb, - 0xc6, 0xe6, 0x43, 0x08, 0xf0, 0x4c, 0x26, 0x40, 0x54, 0x95, 0x36, 0xe7, 0x0f, 0xda, 0x1b, 0xf1, - 0xef, 0x7a, 0xdd, 0xa1, 0xf6, 0xca, 0xd5, 0x7f, 0x2c, 0x93, 0xd8, 0x70, 0x6a, 0xe4, 0xf4, 0x39, - 0x28, 0x22, 0x3c, 0xe9, 0x41, 0xf9, 0x48, 0x05, 0x5a, 0xbd, 0xf3, 0xa4, 0x77, 0x42, 0x5f, 0x17, - 0x9f, 0x5e, 0xd8, 0x9d, 0x53, 0xf5, 0xcc, 0x5a, 0x3f, 0x0b, 0x03, 0x54, 0x02, 0xc8, 0xde, 0x33, - 0x9a, 0x01, 0x9f, 0xe2, 0x50, 0xe7, 0x9b, 0xcd, 0xa4, 0x5b, 0xf5, 0xea, 0xb4, 0xff, 0x29, 0xc1, - 0x1b, 0x66, 0x6c, 0x8e, 0xbd, 0x67, 0x8a, 0xcb, 0x18, 0x53, 0x5e, 0xde, 0x68, 0xb5, 0x9a, 0x5b, - 0xb9, 0x43, 0xd1, 0x7b, 0x04, 0x03, 0x88, 0xd4, 0x43, 0x66, 0x13, 0x70, 0xc8, 0x77, 0x0d, 0xd3, - 0xa8, 0x37, 0xd9, 0x8a, 0xb1, 0xee, 0x6c, 0xd8, 0x3e, 0x2a, 0x8f, 0xc8, 0xe1, 0x79, 0x3e, 0x4a, - 0xcf, 0xc2, 0x88, 0xcb, 0x7c, 0xcb, 0x65, 0xa6, 0x94, 0x13, 0x21, 0xe5, 0x20, 0x8e, 0xa2, 0xd8, - 0x79, 0x38, 0xdc, 0x68, 0x33, 0x6e, 0x36, 0x43, 0xc1, 0xfd, 0x5c, 0xf0, 0x50, 0x30, 0x2e, 0x44, - 0xb5, 0xe3, 0xb8, 0xa8, 0x8b, 0xdc, 0x7e, 0xaf, 0x6c, 0xb5, 0x82, 0x45, 0xd5, 0x6e, 0xca, 0xdb, - 0x7e, 0xf4, 0x15, 0x22, 0x9e, 0x87, 0x61, 0x61, 0xf1, 0x15, 0x5e, 0xb2, 0xc2, 0xf5, 0x28, 0xa7, - 0x56, 0x11, 0x02, 0xf5, 0xda, 0x50, 0x23, 0xfc, 0x94, 0x36, 0x8a, 0x36, 0xbc, 0x6e, 0xb8, 0xc6, - 0x7a, 0x30, 0xe9, 0x92, 0xcc, 0x6b, 0x71, 0x14, 0xe7, 0x9b, 0x81, 0xfe, 0x16, 0x1f, 0x41, 0xe7, - 0x2a, 0xa5, 0xe6, 0xa7, 0x42, 0x07, 0x25, 0xb5, 0x2b, 0x70, 0x2c, 0x81, 0x5f, 0x2e, 0x94, 0x06, - 0xc3, 0x46, 0xbd, 0xee, 0xb2, 0x4d, 0x2b, 0x74, 0xd8, 0xc1, 0x5a, 0x6c, 0x4c, 0x5b, 0xee, 0x30, - 0x4c, 0x00, 0xe6, 0x2a, 0x0c, 0x45, 0xc8, 0x23, 0xa2, 0x6e, 0xdc, 0x21, 0xe4, 0xae, 0x6d, 0xc3, - 0x60, 0x50, 0x5b, 0xa1, 0x23, 0x50, 0x08, 0x52, 0x8f, 0x82, 0x65, 0x86, 0xd7, 0x9b, 0x42, 0xf4, - 0x7a, 0x53, 0x82, 0xe2, 0x3a, 0xf3, 0x0d, 0xd3, 0xf0, 0x0d, 0x5c, 0xca, 0xe0, 0x99, 0x5e, 0x04, - 0x1a, 0xc1, 0xb3, 0x22, 0x68, 0x8c, 0x1d, 0xe0, 0x52, 0x87, 0xc3, 0x69, 0xe7, 0xf9, 0xb8, 0xf6, - 0x1b, 0x02, 0x43, 0x91, 0x4c, 0x3e, 0xe7, 0xfc, 0xe3, 0x91, 0x64, 0x8d, 0xcf, 0xbf, 0x50, 0x18, - 0x23, 0x61, 0xc2, 0xa6, 0xc1, 0xf0, 0xed, 0x0d, 0xd7, 0xf2, 0x4c, 0xab, 0xc1, 0x2d, 0x2a, 0x26, - 0x8f, 0x8d, 0xc5, 0x28, 0xf4, 0x25, 0x28, 0x24, 0xaf, 0xc2, 0xfd, 0x1d, 0x57, 0x61, 0xed, 0x5e, - 0x01, 0x06, 0x83, 0x13, 0x39, 0x33, 0xbb, 0x8e, 0x27, 0x74, 0x85, 0x64, 0x42, 0x37, 0x0a, 0x7d, - 0x62, 0x73, 0x0a, 0x1b, 0x8a, 0x87, 0x18, 0xb2, 0x03, 0x09, 0x64, 0xcf, 0x00, 0x78, 0xbe, 0xe1, - 0xfa, 0x2b, 0xa6, 0xe1, 0x33, 0x8e, 0xbb, 0xed, 0x7d, 0xa2, 0xf8, 0x5b, 0x95, 0xc5, 0xdf, 0xea, - 0x2b, 0xb2, 0xf8, 0x5b, 0x1b, 0xe4, 0xd2, 0xd7, 0x0c, 0x9f, 0xd1, 0xcb, 0x50, 0x64, 0xb6, 0x29, - 0x14, 0xfb, 0xbb, 0x2a, 0x0e, 0x30, 0xdb, 0xe4, 0x6a, 0x57, 0xe1, 0x60, 0x9b, 0x4c, 0x7b, 0xa3, - 0x0a, 0xdd, 0x81, 0xae, 0xba, 0xc3, 0x52, 0x81, 0x7f, 0x80, 0xc2, 0x01, 0xa7, 0xc5, 0xec, 0xb1, - 0xe2, 0x29, 0x32, 0x59, 0xac, 0xf1, 0xdf, 0xda, 0x9f, 0x08, 0x1c, 0x4e, 0x46, 0xc6, 0xff, 0x23, - 0x71, 0x49, 0x0b, 0x59, 0xfb, 0x73, 0x86, 0xac, 0x03, 0x69, 0x21, 0x6b, 0x02, 0x0e, 0x31, 0xaf, - 0xe1, 0x3a, 0x77, 0x43, 0x39, 0xe1, 0x23, 0x23, 0x72, 0x18, 0x03, 0xd6, 0x53, 0x58, 0x59, 0xe1, - 0x1b, 0x68, 0xd1, 0x65, 0x86, 0xef, 0xb8, 0xf3, 0xcd, 0xa6, 0x73, 0xb7, 0x69, 0x79, 0x32, 0xad, - 0xd7, 0x9e, 0xc7, 0x6a, 0x47, 0x86, 0x50, 0x58, 0x32, 0x64, 0x76, 0x1b, 0xaa, 0x70, 0xff, 0x62, - 0x4d, 0x3e, 0x6a, 0xb7, 0xe1, 0x94, 0x3c, 0x86, 0xda, 0x53, 0x47, 0x3f, 0xd3, 0xf3, 0x33, 0xef, - 0x7d, 0x59, 0x2b, 0x4a, 0x9f, 0x0c, 0xb1, 0x9e, 0x85, 0x11, 0xb1, 0xff, 0x1a, 0xf8, 0x06, 0xab, - 0x9c, 0x07, 0x1b, 0x51, 0xf1, 0xde, 0x9d, 0x70, 0xc7, 0xa2, 0xdd, 0x81, 0x17, 0x98, 0x44, 0xae, - 0x5d, 0xc3, 0xec, 0x2e, 0x1c, 0x47, 0x80, 0x53, 0xb0, 0x7f, 0x95, 0xc9, 0x60, 0x78, 0x3c, 0x36, - 0xa5, 0x9c, 0x6c, 0xd1, 0xb1, 0xec, 0x5a, 0x5b, 0x4a, 0x3b, 0x0d, 0x27, 0xa3, 0x94, 0x17, 0x5c, - 0xcb, 0x5c, 0x63, 0x8b, 0xb7, 0x0c, 0xcb, 0x0e, 0x0e, 0x82, 0x1b, 0xf1, 0x25, 0x88, 0x8b, 0x04, - 0xa7, 0xc2, 0x51, 0x43, 0xbc, 0x5e, 0xa9, 0xf3, 0xf7, 0x2b, 0x0d, 0x2e, 0x80, 0xb6, 0x39, 0x62, - 0x74, 0xea, 0x6a, 0xaf, 0xe2, 0x4d, 0x0c, 0x43, 0xe0, 0xe7, 0x6d, 0xd7, 0x69, 0x36, 0xd7, 0x99, - 0x9d, 0xf7, 0x4a, 0x18, 0xbd, 0xb5, 0x16, 0xe2, 0x95, 0x76, 0x13, 0xca, 0x59, 0x9f, 0x46, 0xc0, - 0x0b, 0x00, 0x2c, 0x18, 0x45, 0x5b, 0x69, 0x69, 0x07, 0x47, 0xa8, 0xcb, 0x53, 0x98, 0x88, 0x96, - 0xf6, 0x2e, 0xc9, 0x9a, 0xc6, 0x7b, 0xcc, 0xb7, 0xda, 0x5f, 0x12, 0x5c, 0xc6, 0x34, 0x24, 0xc8, - 0xf8, 0x1a, 0x0c, 0x85, 0xd8, 0x65, 0x9e, 0x90, 0x87, 0x72, 0x54, 0xad, 0x77, 0x6e, 0xfd, 0x5f, - 0x02, 0x23, 0xf1, 0x89, 0x1e, 0x7d, 0xbd, 0xe9, 0x22, 0xf4, 0x7b, 0xbe, 0xe1, 0x6f, 0x78, 0x3c, - 0xa4, 0x8d, 0xcc, 0x4c, 0x29, 0x8a, 0x66, 0xe1, 0xa4, 0x2f, 0x73, 0x95, 0x1a, 0xaa, 0xd2, 0x69, - 0x18, 0x35, 0x5a, 0xad, 0xa6, 0xd5, 0xe0, 0x00, 0x57, 0x12, 0x27, 0xe4, 0x91, 0xc8, 0xbb, 0x2f, - 0xca, 0x23, 0x49, 0x87, 0x23, 0xa1, 0x71, 0x42, 0x0d, 0x71, 0x66, 0xd2, 0xf0, 0x95, 0x54, 0x98, - 0xf9, 0xc3, 0x05, 0xe8, 0xe3, 0x0b, 0x45, 0xbf, 0x41, 0x60, 0x00, 0x3b, 0x5b, 0x74, 0x22, 0x0d, - 0x6e, 0x4a, 0xcb, 0xb1, 0x34, 0xd9, 0x5d, 0x50, 0x98, 0x5a, 0x7b, 0xea, 0x9b, 0x1f, 0xff, 0xeb, - 0xfd, 0xc2, 0x38, 0x7d, 0x52, 0x4f, 0x69, 0x6e, 0xca, 0x4e, 0xd8, 0x5f, 0x08, 0x8c, 0xc4, 0xbb, - 0x6b, 0xb4, 0xda, 0x6d, 0x86, 0x78, 0x09, 0xb8, 0xa4, 0xe7, 0x96, 0x47, 0x60, 0x06, 0x07, 0xf6, - 0x65, 0x7a, 0x51, 0x01, 0xac, 0x52, 0xdf, 0xaa, 0xf0, 0x64, 0x47, 0xdf, 0xe6, 0x7f, 0x76, 0x96, - 0xa7, 0xe8, 0x79, 0x85, 0xbc, 0x1e, 0x13, 0xa6, 0xbf, 0x20, 0xd0, 0xc7, 0x67, 0xa7, 0x67, 0xd5, - 0xe8, 0x24, 0x89, 0x73, 0xdd, 0xc4, 0x10, 0xfb, 0x0d, 0x8e, 0xfd, 0x3a, 0x3d, 0x93, 0x89, 0x45, - 0xdf, 0x96, 0x2e, 0xba, 0xb3, 0x3c, 0x49, 0xcf, 0xa9, 0x30, 0x87, 0x92, 0xf4, 0x63, 0x02, 0xc3, - 0xd1, 0x56, 0x1a, 0xbd, 0xa8, 0x06, 0x14, 0x6f, 0xf8, 0x95, 0x2a, 0x39, 0xa5, 0x91, 0xc5, 0x2a, - 0x67, 0xf1, 0x55, 0xc5, 0x0a, 0x54, 0xb0, 0x61, 0x17, 0x65, 0x73, 0x89, 0x56, 0xf3, 0xb1, 0xd1, - 0x65, 0xb7, 0xef, 0x6d, 0x02, 0x45, 0x59, 0xba, 0xa7, 0xd9, 0x9e, 0x9b, 0xe8, 0xe1, 0x95, 0xce, - 0xe7, 0x90, 0x44, 0x26, 0x67, 0x38, 0x93, 0x32, 0x3d, 0x91, 0x86, 0x2c, 0xa8, 0xf4, 0x7f, 0xaf, - 0x00, 0x87, 0x12, 0x4d, 0x2a, 0xaa, 0x77, 0x9d, 0x24, 0x5e, 0x22, 0x2d, 0x5d, 0xca, 0xaf, 0x80, - 0xe0, 0x3e, 0x24, 0x1c, 0xdd, 0xf7, 0x09, 0xbd, 0xa4, 0x82, 0xd7, 0xf6, 0xf5, 0x0e, 0xd7, 0xd1, - 0x69, 0x45, 0xa5, 0xd3, 0xe9, 0x6b, 0xd3, 0x54, 0xcf, 0xb9, 0x3a, 0x81, 0x59, 0xde, 0x2d, 0xc0, - 0xd1, 0xd4, 0x1e, 0x14, 0xbd, 0x9c, 0x83, 0x6b, 0x67, 0x13, 0xad, 0xf4, 0xf4, 0x6e, 0xd5, 0xd0, - 0x50, 0x6f, 0x72, 0x3b, 0x6d, 0xd1, 0xe7, 0xba, 0x99, 0x29, 0xb8, 0x83, 0x54, 0x2c, 0x53, 0xdf, - 0x8e, 0xde, 0x52, 0x76, 0x96, 0x9f, 0xa5, 0x9f, 0x51, 0x5a, 0x4c, 0xa1, 0x4b, 0xff, 0x46, 0xa2, - 0x0e, 0x22, 0xe2, 0x60, 0x1e, 0x07, 0x89, 0x05, 0xc2, 0x4b, 0xf9, 0x15, 0x90, 0x77, 0x83, 0xf3, - 0xbe, 0xa9, 0x5e, 0xea, 0xce, 0x50, 0x78, 0x91, 0x5e, 0x50, 0x32, 0x8d, 0xc7, 0xc2, 0x7b, 0x04, - 0x06, 0x10, 0x80, 0xe2, 0x98, 0x89, 0xd7, 0xe2, 0x4b, 0x93, 0xdd, 0x05, 0x91, 0xc3, 0x4d, 0xce, - 0xe1, 0x4b, 0x74, 0x52, 0x01, 0x49, 0xdf, 0x0e, 0x4f, 0xf5, 0xcc, 0x48, 0x1e, 0xc0, 0x8f, 0x0a, - 0xf3, 0x43, 0x12, 0x8b, 0xe0, 0x0a, 0xf4, 0xf1, 0x86, 0x97, 0x02, 0x7d, 0xa2, 0x73, 0xa5, 0x3e, - 0x24, 0x65, 0xd1, 0xfc, 0x1f, 0x04, 0x0e, 0x25, 0x1a, 0x3b, 0x0a, 0xef, 0x48, 0x6f, 0x41, 0x29, - 0xbc, 0x23, 0xa3, 0x67, 0xa4, 0x31, 0x8e, 0x6d, 0x25, 0x3d, 0xea, 0x22, 0xb6, 0xb6, 0x73, 0x88, - 0x68, 0xab, 0x6f, 0x8b, 0xbf, 0x3b, 0xcb, 0x15, 0x3a, 0xa5, 0xd0, 0xd0, 0x13, 0xe2, 0xf4, 0xef, - 0x04, 0x46, 0xe2, 0x6d, 0x06, 0x45, 0x0a, 0x90, 0xda, 0x3d, 0x2a, 0xe9, 0xb9, 0xe5, 0x91, 0xda, - 0x1a, 0xa7, 0x66, 0xa4, 0x87, 0xac, 0x08, 0xb5, 0x8e, 0x28, 0x57, 0x4d, 0x3f, 0xb3, 0x24, 0xb7, - 0xa4, 0x3c, 0xfd, 0x8f, 0xbc, 0x6a, 0x47, 0xfa, 0x3c, 0x34, 0xc7, 0x52, 0x24, 0xb6, 0xc3, 0xf4, - 0x2e, 0x34, 0x90, 0xa2, 0xc3, 0x29, 0x5a, 0x74, 0xb6, 0x0b, 0xc5, 0xd4, 0x2d, 0x32, 0x93, 0x7e, - 0x62, 0x48, 0x9a, 0x69, 0x3a, 0xf4, 0xd7, 0x04, 0xfa, 0x38, 0x1a, 0x45, 0xce, 0x13, 0x2d, 0xac, - 0x2b, 0x72, 0x9e, 0x58, 0xd9, 0x5b, 0xfb, 0x0a, 0x67, 0x72, 0x83, 0x4e, 0x64, 0x42, 0xd2, 0xb7, - 0x23, 0x05, 0x8a, 0xcc, 0x0d, 0x2e, 0xd1, 0xc7, 0x84, 0xe9, 0x07, 0x85, 0xf6, 0x06, 0xe7, 0x75, - 0x10, 0xe5, 0x06, 0x8f, 0x76, 0x79, 0x94, 0x1b, 0x3c, 0xd6, 0xbc, 0xd1, 0x7e, 0x27, 0xce, 0xe0, - 0x8f, 0x48, 0xd6, 0x42, 0x70, 0xf1, 0x38, 0xa6, 0x76, 0xe8, 0xe4, 0xa5, 0x97, 0x9d, 0xe5, 0xcf, - 0xa6, 0x9f, 0x49, 0xa9, 0x54, 0xc2, 0x8f, 0x05, 0xea, 0x57, 0xe8, 0xb3, 0x8a, 0x59, 0xbd, 0x50, - 0x32, 0xcd, 0x8e, 0xf4, 0x3b, 0x04, 0x8a, 0xb2, 0xf2, 0x4e, 0xbb, 0x52, 0xce, 0x91, 0x3e, 0x25, - 0xcb, 0xf8, 0x5a, 0x95, 0x1b, 0x27, 0x23, 0x4d, 0xed, 0x44, 0x49, 0xff, 0xcd, 0x23, 0x61, 0xac, - 0x3b, 0xa2, 0x8c, 0x84, 0x69, 0x0d, 0x1d, 0x65, 0x24, 0x4c, 0x6d, 0xbc, 0x68, 0x77, 0x38, 0xcc, - 0xd7, 0x95, 0x4b, 0xc8, 0x37, 0x53, 0x9a, 0x37, 0xce, 0xd1, 0x99, 0x5d, 0x2f, 0xa1, 0x47, 0x3f, - 0x22, 0x30, 0x14, 0x69, 0x7c, 0xd0, 0xa9, 0x4c, 0xd0, 0x9d, 0x2d, 0x98, 0xd2, 0xc5, 0x7c, 0xc2, - 0xc8, 0xee, 0x0b, 0x9c, 0xdd, 0x02, 0x3d, 0x95, 0x06, 0xd3, 0x68, 0x36, 0x2b, 0x12, 0xd4, 0x72, - 0x46, 0x9e, 0x1b, 0x80, 0xfe, 0x3d, 0x81, 0x7e, 0xd1, 0xce, 0xa0, 0xd9, 0x9b, 0x3b, 0xd6, 0x27, - 0x29, 0x4d, 0x74, 0x95, 0x43, 0x94, 0x26, 0x47, 0xf9, 0x5a, 0xfa, 0x39, 0xef, 0x71, 0xd9, 0x84, - 0xe1, 0xbb, 0x04, 0xb1, 0xb8, 0xe1, 0xc5, 0x17, 0xe8, 0x77, 0x09, 0x0c, 0x45, 0x7a, 0x1c, 0x0a, - 0xb3, 0x77, 0x36, 0x49, 0x14, 0x66, 0x4f, 0x69, 0x9b, 0x68, 0x93, 0x9c, 0x90, 0x96, 0x6e, 0x76, - 0xf1, 0xab, 0xc2, 0x1b, 0x2a, 0xf4, 0x2d, 0x02, 0xfd, 0xa2, 0x9f, 0xa1, 0x30, 0x6b, 0xac, 0x75, - 0xa2, 0x30, 0x6b, 0xbc, 0x99, 0xa2, 0x9d, 0xe5, 0x28, 0x4e, 0xd0, 0x52, 0x6a, 0x4a, 0xc4, 0x65, - 0xbf, 0x55, 0x20, 0xf4, 0x3e, 0x01, 0x08, 0x49, 0xd0, 0x0b, 0x39, 0x98, 0x4a, 0x28, 0x53, 0xb9, - 0x64, 0x11, 0x8e, 0xc5, 0xe1, 0x34, 0x32, 0x6e, 0x7a, 0xa1, 0x51, 0xf4, 0xed, 0x68, 0x83, 0x26, - 0xfb, 0xf6, 0x11, 0x31, 0x63, 0x42, 0xa5, 0x9d, 0x97, 0x1e, 0x4d, 0xad, 0x09, 0x2b, 0x6e, 0x1f, - 0xaa, 0x42, 0xb3, 0xe2, 0xf6, 0xa1, 0x2c, 0x3d, 0x6b, 0xb3, 0x9c, 0x73, 0x46, 0xd6, 0x24, 0x6e, - 0xc3, 0x58, 0xe8, 0xad, 0x18, 0x01, 0xc6, 0xdf, 0x12, 0x18, 0x4d, 0x2b, 0x12, 0xd3, 0x39, 0xd5, - 0xde, 0xcf, 0x2a, 0x60, 0x97, 0x2e, 0xef, 0x52, 0x0b, 0xa1, 0xcf, 0x70, 0xe8, 0x19, 0xf7, 0x01, - 0xac, 0xb8, 0x56, 0x62, 0x14, 0x3c, 0xfa, 0x0e, 0x81, 0xa2, 0xac, 0x18, 0xd3, 0x2e, 0xe5, 0xa4, - 0xb0, 0xd8, 0xac, 0x38, 0x55, 0x92, 0xe5, 0x67, 0xf4, 0xe9, 0x93, 0x74, 0x3c, 0xdb, 0xa0, 0xab, - 0x8c, 0xd1, 0x5f, 0x11, 0x38, 0x92, 0x52, 0x51, 0xa6, 0xb3, 0xdd, 0x6c, 0x91, 0x52, 0xa2, 0x2e, - 0xcd, 0xed, 0x4e, 0x09, 0x91, 0x4e, 0x73, 0xa4, 0x19, 0xf9, 0x8a, 0xb4, 0x9f, 0x28, 0x67, 0x57, - 0x44, 0x39, 0x9b, 0xfe, 0x91, 0xc0, 0x13, 0x1d, 0x75, 0x44, 0x3a, 0xdd, 0xed, 0xbe, 0xd4, 0x51, - 0xdb, 0x2e, 0xcd, 0xec, 0x46, 0x05, 0xf1, 0xbe, 0xc8, 0xf1, 0xce, 0xd3, 0xab, 0x79, 0x2f, 0x5b, - 0x7a, 0xa4, 0x72, 0x1b, 0xcd, 0x8b, 0xef, 0x11, 0xa0, 0x9d, 0x95, 0x62, 0xba, 0x0b, 0x4c, 0x81, - 0xe5, 0x67, 0x77, 0xa5, 0x83, 0x44, 0xae, 0x70, 0x22, 0x4f, 0xd3, 0xb9, 0x47, 0x21, 0xb2, 0xf0, - 0xea, 0x9f, 0x1f, 0x94, 0xc9, 0xfd, 0x07, 0x65, 0xf2, 0xcf, 0x07, 0x65, 0xf2, 0xde, 0xc3, 0xf2, - 0xbe, 0xfb, 0x0f, 0xcb, 0xfb, 0xfe, 0xfa, 0xb0, 0xbc, 0x6f, 0xf9, 0xea, 0x9a, 0xe5, 0xdf, 0xda, - 0xa8, 0x57, 0x1b, 0xce, 0xba, 0xf8, 0x72, 0xc5, 0x66, 0xfe, 0x5d, 0xc7, 0x7d, 0x1d, 0x9f, 0x9a, - 0xcc, 0x5c, 0x63, 0xae, 0xfe, 0x46, 0x64, 0x42, 0xfe, 0x2f, 0x27, 0x22, 0x42, 0x6d, 0x4e, 0xd7, - 0xfb, 0x79, 0x47, 0x6f, 0xf6, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xe9, 0x79, 0xad, 0xf1, - 0x32, 0x00, 0x00, + // 2649 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdf, 0x6f, 0x1c, 0x57, + 0xf5, 0xcf, 0xdd, 0xc4, 0xf6, 0xfa, 0xd8, 0x71, 0xd2, 0x1b, 0x27, 0x5f, 0x67, 0x1b, 0x6f, 0x92, + 0x69, 0x12, 0x3b, 0x71, 0x76, 0x27, 0xfe, 0x91, 0x7e, 0x69, 0x1b, 0x1a, 0x6c, 0x87, 0x16, 0x3f, + 0x20, 0xa5, 0xdb, 0x2a, 0xa8, 0x86, 0xd4, 0xcc, 0xee, 0x5c, 0x3b, 0x93, 0xae, 0x67, 0x36, 0x33, + 0xe3, 0xa4, 0xc6, 0x32, 0x2d, 0x48, 0x2d, 0x3c, 0x41, 0x45, 0x11, 0xea, 0x4b, 0xc5, 0x0f, 0xc1, + 0x03, 0x3c, 0x20, 0x54, 0x40, 0x08, 0xe5, 0x01, 0x21, 0x24, 0xc4, 0x63, 0xa4, 0xf2, 0xc0, 0x8f, + 0x17, 0x94, 0x20, 0xc1, 0x3b, 0xff, 0x00, 0xda, 0x7b, 0xcf, 0x9d, 0x5f, 0x3b, 0x73, 0x77, 0x36, + 0x6c, 0x2b, 0x3f, 0x79, 0xe7, 0xce, 0x39, 0x73, 0x3f, 0x9f, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, 0x73, + 0x64, 0x28, 0xbb, 0x6c, 0x83, 0xd9, 0x3a, 0x6b, 0x38, 0x0d, 0x97, 0x99, 0x96, 0xaf, 0xdf, 0x9d, + 0xd5, 0xef, 0x6c, 0x31, 0x77, 0xbb, 0xda, 0x72, 0x1d, 0xdf, 0xa1, 0x94, 0xbf, 0xaf, 0x06, 0xef, + 0xab, 0x77, 0x67, 0x4b, 0x17, 0x1a, 0x8e, 0xb7, 0xe9, 0x78, 0x7a, 0xdd, 0xf0, 0x98, 0x10, 0xd6, + 0xef, 0xce, 0xd6, 0x99, 0x6f, 0xcc, 0xea, 0x2d, 0x63, 0xc3, 0xb2, 0x0d, 0xdf, 0x72, 0x6c, 0xa1, + 0x5f, 0x2a, 0x47, 0x65, 0xa5, 0x54, 0xc3, 0xb1, 0xe4, 0xfb, 0x13, 0x1b, 0x8e, 0xb3, 0xd1, 0x64, + 0xba, 0xd1, 0xb2, 0x74, 0xc3, 0xb6, 0x1d, 0x9f, 0x2b, 0x7b, 0xf8, 0xf6, 0x24, 0xbe, 0xe5, 0x4f, + 0xf5, 0xad, 0x75, 0xdd, 0xb7, 0x36, 0x99, 0xe7, 0x1b, 0x9b, 0x2d, 0xf9, 0xf9, 0x14, 0xf8, 0x9e, + 0x6f, 0xf8, 0x4c, 0xf1, 0xde, 0xdf, 0x6e, 0x31, 0x9c, 0x40, 0xbb, 0x09, 0x47, 0x5e, 0x6a, 0x13, + 0x58, 0x6e, 0x1a, 0x9e, 0xc7, 0xbc, 0x1a, 0xbb, 0xb3, 0xc5, 0x3c, 0x9f, 0xbe, 0x00, 0x10, 0x32, + 0x99, 0x20, 0xa7, 0xc8, 0xf4, 0xc8, 0xdc, 0xb9, 0xaa, 0xa0, 0x52, 0x6d, 0x53, 0xa9, 0x0a, 0x1b, + 0x21, 0xa1, 0xea, 0x75, 0x63, 0x83, 0xa1, 0x6e, 0x2d, 0xa2, 0xa9, 0xbd, 0x4f, 0x60, 0x3c, 0xfe, + 0x7d, 0xaf, 0xe5, 0xd8, 0x1e, 0xa3, 0xff, 0x0f, 0x43, 0x0d, 0x31, 0x34, 0x41, 0x4e, 0xed, 0x9f, + 0x1e, 0x99, 0x9b, 0xac, 0x76, 0x1a, 0xba, 0xca, 0xb5, 0x56, 0xec, 0x75, 0xa7, 0x26, 0xa5, 0xe9, + 0x8b, 0x31, 0x64, 0x05, 0x8e, 0x6c, 0xaa, 0x2b, 0x32, 0x31, 0x6b, 0x0c, 0xda, 0x57, 0xa0, 0x14, + 0x45, 0xb6, 0xb4, 0xbd, 0x68, 0x6e, 0x5a, 0xb6, 0x34, 0xc0, 0x38, 0x0c, 0x18, 0xed, 0x67, 0xce, + 0x7d, 0xb8, 0x26, 0x1e, 0x12, 0x66, 0x29, 0x3c, 0xb6, 0x59, 0xbe, 0x4f, 0xe0, 0xc9, 0xd4, 0xc9, + 0xf7, 0x8c, 0x75, 0xaa, 0xf0, 0x44, 0x08, 0x50, 0x1a, 0xe5, 0x38, 0x14, 0xf9, 0x44, 0x6b, 0x96, + 0x89, 0x76, 0x11, 0x13, 0xaf, 0x98, 0xda, 0x0a, 0xd0, 0xa8, 0x3c, 0xf2, 0x98, 0x87, 0x01, 0x2e, + 0x80, 0x1e, 0xd4, 0x85, 0x85, 0x90, 0xd5, 0x76, 0x61, 0x22, 0xfc, 0xd4, 0x8a, 0xe7, 0x6d, 0x31, + 0x37, 0x07, 0x82, 0xbe, 0xad, 0xcd, 0x57, 0xe1, 0x78, 0xca, 0xf4, 0x48, 0x68, 0x02, 0x86, 0x2c, + 0x31, 0xc4, 0x17, 0x66, 0xb8, 0x26, 0x1f, 0xfb, 0x67, 0xf9, 0xd7, 0x70, 0xc7, 0x5c, 0x77, 0x9d, + 0xdb, 0xac, 0xe1, 0xf7, 0x7d, 0x4b, 0x7e, 0x40, 0xe0, 0x68, 0x62, 0x02, 0x24, 0xf7, 0x1c, 0x14, + 0x5b, 0x38, 0x86, 0x6e, 0x77, 0x32, 0x6d, 0xc1, 0x50, 0x8f, 0x2f, 0x59, 0xa0, 0xd0, 0x3f, 0xfe, + 0x6f, 0xc9, 0xbd, 0x21, 0xf1, 0x2d, 0xe5, 0x75, 0xc2, 0xbe, 0xb9, 0xc0, 0x8f, 0x09, 0x9c, 0x48, + 0x87, 0xb0, 0xa7, 0x2c, 0xf5, 0x2d, 0x02, 0xa7, 0x13, 0x30, 0x6b, 0x6c, 0x9d, 0xb9, 0xcc, 0x6e, + 0xb0, 0x15, 0x53, 0xda, 0xeb, 0x34, 0x8c, 0xba, 0x72, 0x34, 0xb4, 0xd9, 0x88, 0x1b, 0x4a, 0xf6, + 0xcd, 0x6e, 0x3f, 0x23, 0xa0, 0xa9, 0x00, 0xed, 0x29, 0xeb, 0xed, 0x74, 0xb8, 0xd9, 0x27, 0x78, + 0x00, 0xa4, 0x78, 0x58, 0xfc, 0x04, 0xd8, 0x1b, 0x36, 0x5a, 0xc0, 0xec, 0x00, 0xa7, 0x91, 0xb6, + 0x99, 0x04, 0xc0, 0xb9, 0x42, 0x87, 0x1a, 0xc6, 0x91, 0x15, 0x53, 0x7b, 0x29, 0x1e, 0xc1, 0x02, + 0x4e, 0xcf, 0xc0, 0x10, 0x0a, 0x61, 0xf8, 0xea, 0x4a, 0x49, 0xca, 0x07, 0x69, 0xca, 0x92, 0xe1, + 0x37, 0x6e, 0x7d, 0x8c, 0x69, 0x4a, 0xf0, 0xfd, 0xf0, 0x20, 0xae, 0x8b, 0x21, 0xd5, 0x41, 0xcc, + 0xb5, 0x04, 0x60, 0x94, 0xee, 0xdf, 0x12, 0xec, 0xa2, 0x9b, 0x22, 0xb2, 0xa5, 0x6d, 0x71, 0x24, + 0x49, 0x0b, 0x1c, 0x83, 0x41, 0x71, 0x02, 0xe1, 0x32, 0xe0, 0x53, 0xdf, 0x1c, 0xf5, 0x07, 0xd2, + 0x51, 0x3b, 0xe6, 0xdf, 0x33, 0x16, 0x7a, 0x13, 0x13, 0xb9, 0x00, 0xe1, 0x27, 0x7d, 0x5c, 0xbc, + 0xdd, 0x61, 0xa3, 0x9e, 0xf6, 0x4b, 0xdf, 0x70, 0xfc, 0x90, 0xc0, 0x64, 0x06, 0x8e, 0x3d, 0xb3, + 0x58, 0x41, 0xe6, 0x9b, 0x5c, 0xad, 0x3d, 0x83, 0x70, 0x01, 0x33, 0x5f, 0x3e, 0x87, 0x5c, 0xc1, + 0x93, 0x30, 0xc2, 0x27, 0x5a, 0x33, 0x99, 0xed, 0x6c, 0xe2, 0x12, 0x02, 0x1f, 0xba, 0xd6, 0x1e, + 0x09, 0xf2, 0x5f, 0xd4, 0x0a, 0xf3, 0x5f, 0x2e, 0xa3, 0xca, 0x7f, 0x43, 0x2e, 0x42, 0x56, 0xbb, + 0x1e, 0xc4, 0xba, 0xa6, 0x61, 0x37, 0xe4, 0x4a, 0xb7, 0x53, 0x4f, 0xc3, 0x34, 0x5d, 0x86, 0xd9, + 0xf4, 0x70, 0x4d, 0x3e, 0x26, 0xc1, 0x15, 0x3a, 0xc0, 0xdd, 0x08, 0xa2, 0x1b, 0x7e, 0x11, 0xe1, + 0x3d, 0xdf, 0x36, 0x36, 0x1f, 0x42, 0x80, 0x67, 0x32, 0x01, 0xa2, 0xaa, 0xb4, 0x39, 0x7f, 0xd0, + 0xde, 0x88, 0x7f, 0xd7, 0xeb, 0x0e, 0xb5, 0x5f, 0xae, 0xfe, 0x23, 0x99, 0xc4, 0x86, 0x53, 0x23, + 0xa7, 0xcf, 0x40, 0x11, 0xe1, 0x49, 0x0f, 0xca, 0x47, 0x2a, 0xd0, 0xea, 0x9f, 0x27, 0xbd, 0x13, + 0xfa, 0xba, 0xf8, 0xf4, 0x52, 0x6f, 0x4e, 0xd5, 0x37, 0x6b, 0xfd, 0x34, 0x0c, 0x50, 0x09, 0x20, + 0x7b, 0xcf, 0x68, 0x06, 0xfc, 0x1f, 0x87, 0xba, 0xd8, 0x6c, 0x26, 0xdd, 0xaa, 0x5f, 0xa7, 0xfd, + 0x4f, 0x08, 0xde, 0x30, 0x63, 0x73, 0xec, 0x3d, 0x53, 0x5c, 0xc6, 0x98, 0xf2, 0xf2, 0x56, 0xab, + 0xd5, 0xdc, 0xce, 0x1d, 0x8a, 0xde, 0x25, 0x18, 0x40, 0xa4, 0x1e, 0x32, 0x9b, 0x82, 0x43, 0xbe, + 0x6b, 0x98, 0x46, 0xbd, 0xc9, 0xd6, 0x8c, 0x4d, 0x67, 0xcb, 0xf6, 0x51, 0x79, 0x4c, 0x0e, 0x2f, + 0xf2, 0x51, 0x7a, 0x16, 0xc6, 0x5c, 0xe6, 0x5b, 0x2e, 0x33, 0xa5, 0x9c, 0x08, 0x29, 0x07, 0x71, + 0x14, 0xc5, 0xce, 0xc3, 0xe1, 0x46, 0x9b, 0x71, 0xb3, 0x19, 0x0a, 0xee, 0xe7, 0x82, 0x87, 0x82, + 0x71, 0x21, 0xaa, 0x1d, 0xc7, 0x45, 0x5d, 0xe6, 0xf6, 0x7b, 0x65, 0xbb, 0x15, 0x2c, 0xaa, 0x76, + 0x53, 0xde, 0xf6, 0xa3, 0xaf, 0x10, 0xf1, 0x22, 0x8c, 0x0a, 0x8b, 0xaf, 0xf1, 0x92, 0x15, 0xae, + 0x47, 0x39, 0xb5, 0x8a, 0x10, 0xa8, 0xd7, 0x46, 0x1a, 0xe1, 0xa7, 0xb4, 0x71, 0xb4, 0xe1, 0x75, + 0xc3, 0x35, 0x36, 0x83, 0x49, 0x57, 0x64, 0x5e, 0x8b, 0xa3, 0x38, 0xdf, 0x1c, 0x0c, 0xb6, 0xf8, + 0x08, 0x3a, 0x57, 0x29, 0x35, 0x3f, 0x15, 0x3a, 0x28, 0xa9, 0x5d, 0x81, 0x63, 0x09, 0xfc, 0x72, + 0xa1, 0x34, 0x18, 0x35, 0xea, 0x75, 0x97, 0xdd, 0xb5, 0x42, 0x87, 0x1d, 0xae, 0xc5, 0xc6, 0xb4, + 0xd5, 0x0e, 0xc3, 0x04, 0x60, 0xae, 0xc2, 0x48, 0x84, 0x3c, 0x22, 0xea, 0xc6, 0x1d, 0x42, 0xee, + 0xda, 0x0e, 0x0c, 0x07, 0xb5, 0x15, 0x3a, 0x06, 0x85, 0x20, 0xf5, 0x28, 0x58, 0x66, 0x78, 0xbd, + 0x29, 0x44, 0xaf, 0x37, 0x25, 0x28, 0x6e, 0x32, 0xdf, 0x30, 0x0d, 0xdf, 0xc0, 0xa5, 0x0c, 0x9e, + 0xe9, 0x45, 0xa0, 0x11, 0x3c, 0x6b, 0x82, 0xc6, 0xc4, 0x01, 0x2e, 0x75, 0x38, 0x9c, 0x76, 0x91, + 0x8f, 0x6b, 0xbf, 0x26, 0x30, 0x12, 0xc9, 0xe4, 0x73, 0xce, 0x3f, 0x19, 0x49, 0xd6, 0xf8, 0xfc, + 0x4b, 0x85, 0x09, 0x12, 0x26, 0x6c, 0x1a, 0x8c, 0xde, 0xde, 0x72, 0x2d, 0xcf, 0xb4, 0x1a, 0xdc, + 0xa2, 0x62, 0xf2, 0xd8, 0x58, 0x8c, 0xc2, 0x40, 0x82, 0x42, 0xf2, 0x2a, 0x3c, 0xd8, 0x71, 0x15, + 0xd6, 0xee, 0x17, 0x60, 0x38, 0x38, 0x91, 0x33, 0xb3, 0xeb, 0x78, 0x42, 0x57, 0x48, 0x26, 0x74, + 0xe3, 0x30, 0x20, 0x36, 0xa7, 0xb0, 0xa1, 0x78, 0x88, 0x21, 0x3b, 0x90, 0x40, 0xf6, 0x0c, 0x80, + 0xe7, 0x1b, 0xae, 0xbf, 0x66, 0x1a, 0x3e, 0xe3, 0xb8, 0xdb, 0xde, 0x27, 0x8a, 0xbf, 0x55, 0x59, + 0xfc, 0xad, 0xbe, 0x22, 0x8b, 0xbf, 0xb5, 0x61, 0x2e, 0x7d, 0xcd, 0xf0, 0x19, 0xbd, 0x0c, 0x45, + 0x66, 0x9b, 0x42, 0x71, 0xb0, 0xab, 0xe2, 0x10, 0xb3, 0x4d, 0xae, 0x76, 0x15, 0x0e, 0xb6, 0xc9, + 0xb4, 0x37, 0xaa, 0xd0, 0x1d, 0xea, 0xaa, 0x3b, 0x2a, 0x15, 0xf8, 0x07, 0x28, 0x1c, 0x70, 0x5a, + 0xcc, 0x9e, 0x28, 0x9e, 0x22, 0xd3, 0xc5, 0x1a, 0xff, 0xad, 0xfd, 0x91, 0xc0, 0xe1, 0x64, 0x64, + 0xfc, 0x1f, 0x12, 0x97, 0xb4, 0x90, 0xb5, 0x3f, 0x67, 0xc8, 0x3a, 0x90, 0x16, 0xb2, 0xa6, 0xe0, + 0x10, 0xf3, 0x1a, 0xae, 0x73, 0x2f, 0x94, 0x13, 0x3e, 0x32, 0x26, 0x87, 0x31, 0x60, 0x3d, 0x85, + 0x95, 0x15, 0xbe, 0x81, 0x96, 0x5d, 0x66, 0xf8, 0x8e, 0xbb, 0xd8, 0x6c, 0x3a, 0xf7, 0x9a, 0x96, + 0x27, 0xd3, 0x7a, 0xed, 0x79, 0xac, 0x76, 0x64, 0x08, 0x85, 0x25, 0x43, 0x66, 0xb7, 0xa1, 0x0a, + 0xf7, 0x2f, 0xd6, 0xe4, 0xa3, 0x76, 0x1b, 0x4e, 0xc9, 0x63, 0xa8, 0x3d, 0x75, 0xf4, 0x33, 0x7d, + 0x3f, 0xf3, 0xde, 0x93, 0xb5, 0xa2, 0xf4, 0xc9, 0x10, 0xeb, 0x59, 0x18, 0x13, 0xfb, 0xaf, 0x81, + 0x6f, 0xb0, 0xca, 0x79, 0xb0, 0x11, 0x15, 0xef, 0xdf, 0x09, 0x77, 0x2c, 0xda, 0x1d, 0x78, 0x81, + 0x49, 0xe4, 0xda, 0x35, 0xcc, 0xee, 0xc2, 0x71, 0x04, 0x38, 0x03, 0xfb, 0xd7, 0x99, 0x0c, 0x86, + 0xc7, 0x63, 0x53, 0xca, 0xc9, 0x96, 0x1d, 0xcb, 0xae, 0xb5, 0xa5, 0xb4, 0xd3, 0x70, 0x32, 0x4a, + 0x79, 0xc9, 0xb5, 0xcc, 0x0d, 0xb6, 0x7c, 0xcb, 0xb0, 0xec, 0xe0, 0x20, 0xb8, 0x11, 0x5f, 0x82, + 0xb8, 0x48, 0x70, 0x2a, 0x1c, 0x35, 0xc4, 0xeb, 0xb5, 0x3a, 0x7f, 0xbf, 0xd6, 0xe0, 0x02, 0x68, + 0x9b, 0x23, 0x46, 0xa7, 0xae, 0xf6, 0x2a, 0xde, 0xc4, 0x30, 0x04, 0x7e, 0xd6, 0x76, 0x9d, 0x66, + 0x73, 0x93, 0xd9, 0x79, 0xaf, 0x84, 0xd1, 0x5b, 0x6b, 0x21, 0x5e, 0x69, 0x37, 0xa1, 0x9c, 0xf5, + 0x69, 0x04, 0xbc, 0x04, 0xc0, 0x82, 0x51, 0xb4, 0x95, 0x96, 0x76, 0x70, 0x84, 0xba, 0x3c, 0x85, + 0x89, 0x68, 0xb5, 0x13, 0xec, 0x8c, 0x69, 0xbc, 0xc7, 0xa0, 0xb0, 0xff, 0xe3, 0xb9, 0x78, 0xff, + 0x82, 0xe0, 0x0a, 0xa7, 0x81, 0x44, 0x63, 0x5c, 0x83, 0x91, 0x90, 0x96, 0x4c, 0x21, 0xf2, 0x58, + 0x23, 0xaa, 0xd6, 0x3f, 0x8f, 0xff, 0x0f, 0x81, 0xb1, 0xf8, 0x44, 0x8f, 0xef, 0x0a, 0x74, 0x19, + 0x06, 0x3d, 0xdf, 0xf0, 0xb7, 0x3c, 0x1e, 0xed, 0xc6, 0xe6, 0x66, 0x14, 0xf5, 0xb4, 0x70, 0xd2, + 0x97, 0xb9, 0x4a, 0x0d, 0x55, 0xe9, 0x2c, 0x8c, 0x1b, 0xad, 0x56, 0xd3, 0x6a, 0x70, 0x80, 0x6b, + 0x89, 0xc3, 0xf3, 0x48, 0xe4, 0xdd, 0xe7, 0xe5, 0x69, 0xa5, 0xc3, 0x91, 0xd0, 0x38, 0xa1, 0x86, + 0x38, 0x4e, 0x69, 0xf8, 0x4a, 0x2a, 0xcc, 0xfd, 0xfe, 0x02, 0x0c, 0xf0, 0x85, 0xa2, 0x5f, 0x23, + 0x30, 0x84, 0x4d, 0x2f, 0x3a, 0x95, 0x06, 0x37, 0xa5, 0x1b, 0x59, 0x9a, 0xee, 0x2e, 0x28, 0x4c, + 0xad, 0x3d, 0xf5, 0xf5, 0x8f, 0xfe, 0xf9, 0x5e, 0x61, 0x92, 0x3e, 0xa9, 0xa7, 0xf4, 0x3d, 0x65, + 0x93, 0xec, 0xcf, 0x04, 0xc6, 0xe2, 0x8d, 0x37, 0x5a, 0xed, 0x36, 0x43, 0xbc, 0x3a, 0x5c, 0xd2, + 0x73, 0xcb, 0x23, 0x30, 0x83, 0x03, 0xfb, 0x22, 0xbd, 0xa8, 0x00, 0x56, 0xa9, 0x6f, 0x57, 0x78, + 0x1e, 0xa4, 0xef, 0xf0, 0x3f, 0xbb, 0xab, 0x33, 0xf4, 0xbc, 0x42, 0x5e, 0x8f, 0x09, 0xd3, 0x9f, + 0x13, 0x18, 0xe0, 0xb3, 0xd3, 0xb3, 0x6a, 0x74, 0x92, 0xc4, 0xb9, 0x6e, 0x62, 0x88, 0xfd, 0x06, + 0xc7, 0x7e, 0x9d, 0x9e, 0xc9, 0xc4, 0xa2, 0xef, 0x48, 0x17, 0xdd, 0x5d, 0x9d, 0xa6, 0xe7, 0x54, + 0x98, 0x43, 0x49, 0xfa, 0x11, 0x81, 0xd1, 0x68, 0x97, 0x8d, 0x5e, 0x54, 0x03, 0x8a, 0xf7, 0x02, + 0x4b, 0x95, 0x9c, 0xd2, 0xc8, 0x62, 0x9d, 0xb3, 0xf8, 0xb2, 0x62, 0x05, 0x2a, 0xd8, 0xcb, 0x8b, + 0xb2, 0xb9, 0x44, 0xab, 0xf9, 0xd8, 0xe8, 0xb2, 0x11, 0xf8, 0x36, 0x81, 0xa2, 0xac, 0xea, 0xd3, + 0x6c, 0xcf, 0x4d, 0xb4, 0xf7, 0x4a, 0xe7, 0x73, 0x48, 0x22, 0x93, 0x33, 0x9c, 0x49, 0x99, 0x9e, + 0x48, 0x43, 0x16, 0x34, 0x01, 0xbe, 0x5b, 0x80, 0x43, 0x89, 0xfe, 0x15, 0xd5, 0xbb, 0x4e, 0x12, + 0xaf, 0x9e, 0x96, 0x2e, 0xe5, 0x57, 0x40, 0x70, 0x1f, 0x10, 0x8e, 0xee, 0x7b, 0x84, 0x5e, 0x52, + 0xc1, 0x6b, 0xfb, 0x7a, 0x87, 0xeb, 0xe8, 0xb4, 0xa2, 0xd2, 0xe9, 0xf4, 0xb5, 0x59, 0xaa, 0xe7, + 0x5c, 0x9d, 0xc0, 0x2c, 0xdf, 0x28, 0xc0, 0xd1, 0xd4, 0xf6, 0x14, 0xbd, 0x9c, 0x83, 0x6b, 0x67, + 0x7f, 0xad, 0xf4, 0x74, 0xaf, 0x6a, 0x68, 0xa8, 0x37, 0xb9, 0x9d, 0xb6, 0xe9, 0x73, 0xdd, 0xcc, + 0x14, 0x5c, 0x4f, 0x2a, 0x96, 0xa9, 0xef, 0x44, 0x2f, 0x30, 0xbb, 0xab, 0xcf, 0xd2, 0x4f, 0x29, + 0x2d, 0xa6, 0xd0, 0xa5, 0x7f, 0x25, 0x51, 0x07, 0x11, 0x71, 0x30, 0x8f, 0x83, 0xc4, 0x02, 0xe1, + 0xa5, 0xfc, 0x0a, 0xc8, 0xbb, 0xc1, 0x79, 0xdf, 0x54, 0x2f, 0x75, 0x67, 0x28, 0xbc, 0x48, 0x2f, + 0x28, 0x99, 0xc6, 0x63, 0xe1, 0x7d, 0x02, 0x43, 0x08, 0x40, 0x71, 0xcc, 0xc4, 0xcb, 0xf4, 0xa5, + 0xe9, 0xee, 0x82, 0xc8, 0xe1, 0x26, 0xe7, 0xf0, 0x05, 0x3a, 0xad, 0x80, 0xa4, 0xef, 0x84, 0xa7, + 0x7a, 0x66, 0x24, 0x0f, 0xe0, 0x47, 0x85, 0xf9, 0x21, 0x89, 0xf5, 0x71, 0x05, 0xfa, 0x78, 0x2f, + 0x4c, 0x81, 0x3e, 0xd1, 0xd4, 0x52, 0x1f, 0x92, 0xb2, 0x9e, 0xfe, 0x77, 0x02, 0x87, 0x12, 0x3d, + 0x1f, 0x85, 0x77, 0xa4, 0x77, 0xa7, 0x14, 0xde, 0x91, 0xd1, 0x4e, 0xd2, 0x18, 0xc7, 0xb6, 0x96, + 0x1e, 0x75, 0x11, 0x5b, 0xdb, 0x39, 0x44, 0xb4, 0xd5, 0x77, 0xc4, 0xdf, 0xdd, 0xd5, 0x0a, 0x9d, + 0x51, 0x68, 0xe8, 0x09, 0x71, 0xfa, 0x37, 0x02, 0x63, 0xf1, 0x0e, 0x84, 0x22, 0x05, 0x48, 0x6d, + 0x2c, 0x95, 0xf4, 0xdc, 0xf2, 0x48, 0x6d, 0x83, 0x53, 0x33, 0xd2, 0x43, 0x56, 0x84, 0x5a, 0x47, + 0x94, 0xab, 0xa6, 0x9f, 0x59, 0x92, 0x5b, 0x52, 0x9e, 0xfe, 0x5b, 0xde, 0xc2, 0x23, 0x2d, 0x20, + 0x9a, 0x63, 0x29, 0x12, 0xdb, 0x61, 0xb6, 0x07, 0x0d, 0xa4, 0xe8, 0x70, 0x8a, 0x16, 0x9d, 0xef, + 0x42, 0x31, 0x75, 0x8b, 0xcc, 0xa5, 0x9f, 0x18, 0x92, 0x66, 0x9a, 0x0e, 0xfd, 0x15, 0x81, 0x01, + 0x8e, 0x46, 0x91, 0xf3, 0x44, 0x6b, 0xee, 0x8a, 0x9c, 0x27, 0x56, 0x11, 0xd7, 0xbe, 0xc4, 0x99, + 0xdc, 0xa0, 0x53, 0x99, 0x90, 0xf4, 0x9d, 0x48, 0xed, 0x22, 0x73, 0x83, 0x4b, 0xf4, 0x31, 0x61, + 0xfa, 0x7e, 0xa1, 0xbd, 0xc1, 0x79, 0x89, 0x44, 0xb9, 0xc1, 0xa3, 0x0d, 0x20, 0xe5, 0x06, 0x8f, + 0xf5, 0x75, 0xb4, 0xdf, 0x8a, 0x33, 0xf8, 0x43, 0x92, 0xb5, 0x10, 0x5c, 0x3c, 0x8e, 0xa9, 0x1d, + 0x3a, 0x79, 0x55, 0x66, 0x77, 0xf5, 0xd3, 0xe9, 0x67, 0x52, 0x2a, 0x95, 0xf0, 0x63, 0x81, 0xfa, + 0x15, 0xfa, 0xac, 0x62, 0x56, 0x2f, 0x94, 0x4c, 0xb3, 0x23, 0xfd, 0x36, 0x81, 0xa2, 0x2c, 0xca, + 0xd3, 0xae, 0x94, 0x73, 0xa4, 0x4f, 0xc9, 0x0a, 0xbf, 0x56, 0xe5, 0xc6, 0xc9, 0x48, 0x53, 0x3b, + 0x51, 0xd2, 0x7f, 0xf1, 0x48, 0x18, 0x6b, 0x9c, 0x28, 0x23, 0x61, 0x5a, 0xaf, 0x47, 0x19, 0x09, + 0x53, 0x7b, 0x32, 0xda, 0x1d, 0x0e, 0xf3, 0x75, 0xe5, 0x12, 0xf2, 0xcd, 0x94, 0xe6, 0x8d, 0x0b, + 0x74, 0xae, 0xe7, 0x25, 0xf4, 0xe8, 0x87, 0x04, 0x46, 0x22, 0x3d, 0x11, 0x3a, 0x93, 0x09, 0xba, + 0xb3, 0x3b, 0x53, 0xba, 0x98, 0x4f, 0x18, 0xd9, 0x7d, 0x8e, 0xb3, 0x5b, 0xa2, 0xa7, 0xd2, 0x60, + 0x1a, 0xcd, 0x66, 0x45, 0x82, 0x5a, 0xcd, 0xc8, 0x73, 0x03, 0xd0, 0xbf, 0x23, 0x30, 0x28, 0x3a, + 0x1d, 0x34, 0x7b, 0x73, 0xc7, 0x5a, 0x28, 0xa5, 0xa9, 0xae, 0x72, 0x88, 0xd2, 0xe4, 0x28, 0x5f, + 0x4b, 0x3f, 0xe7, 0x3d, 0x2e, 0x9b, 0x30, 0x7c, 0x97, 0x20, 0x16, 0x37, 0xbc, 0xf8, 0x02, 0xfd, + 0x0e, 0x81, 0x91, 0x48, 0xfb, 0x43, 0x61, 0xf6, 0xce, 0xfe, 0x89, 0xc2, 0xec, 0x29, 0x1d, 0x15, + 0x6d, 0x9a, 0x13, 0xd2, 0xd2, 0xcd, 0x2e, 0x7e, 0x55, 0x78, 0xaf, 0x85, 0xbe, 0x45, 0x60, 0x50, + 0xb4, 0x3a, 0x14, 0x66, 0x8d, 0x75, 0x55, 0x14, 0x66, 0x8d, 0xf7, 0x59, 0xb4, 0xb3, 0x1c, 0xc5, + 0x09, 0x5a, 0x4a, 0x4d, 0x89, 0xb8, 0xec, 0x37, 0x0b, 0x84, 0x3e, 0x20, 0x00, 0x21, 0x09, 0x7a, + 0x21, 0x07, 0x53, 0x09, 0x65, 0x26, 0x97, 0x2c, 0xc2, 0xb1, 0x38, 0x9c, 0x46, 0xc6, 0x4d, 0x2f, + 0x34, 0x8a, 0xbe, 0x13, 0xed, 0xdd, 0x64, 0xdf, 0x3e, 0x22, 0x66, 0x4c, 0xa8, 0xb4, 0xf3, 0xd2, + 0xa3, 0xa9, 0xe5, 0x62, 0xc5, 0xed, 0x43, 0x55, 0x83, 0x56, 0xdc, 0x3e, 0x94, 0x55, 0x69, 0x6d, + 0x9e, 0x73, 0xce, 0xc8, 0x9a, 0xc4, 0x6d, 0x18, 0x6b, 0xc0, 0x15, 0x23, 0xc0, 0xf8, 0x1b, 0x02, + 0xe3, 0x69, 0xf5, 0x63, 0xba, 0xa0, 0xda, 0xfb, 0x59, 0xb5, 0xed, 0xd2, 0xe5, 0x1e, 0xb5, 0x10, + 0xfa, 0x1c, 0x87, 0x9e, 0x71, 0x1f, 0xc0, 0x62, 0x6c, 0x25, 0x46, 0xc1, 0xa3, 0xef, 0x10, 0x28, + 0xca, 0x62, 0x32, 0xed, 0x52, 0x4e, 0x0a, 0xeb, 0xd0, 0x8a, 0x53, 0x25, 0x59, 0x99, 0x46, 0x9f, + 0x3e, 0x49, 0x27, 0xb3, 0x0d, 0xba, 0xce, 0x18, 0xfd, 0x25, 0x81, 0x23, 0x29, 0xc5, 0x66, 0x3a, + 0xdf, 0xcd, 0x16, 0x29, 0xd5, 0xeb, 0xd2, 0x42, 0x6f, 0x4a, 0x88, 0x74, 0x96, 0x23, 0xcd, 0xc8, + 0x57, 0xa4, 0xfd, 0x44, 0xa5, 0xbb, 0x22, 0x2a, 0xdd, 0xf4, 0x0f, 0x04, 0x9e, 0xe8, 0xa8, 0x23, + 0xd2, 0xd9, 0x6e, 0xf7, 0xa5, 0x8e, 0xb2, 0x77, 0x69, 0xae, 0x17, 0x15, 0xc4, 0xfb, 0x22, 0xc7, + 0xbb, 0x48, 0xaf, 0xe6, 0xbd, 0x6c, 0xe9, 0x91, 0xca, 0x6d, 0x34, 0x2f, 0xbe, 0x4f, 0x80, 0x76, + 0x56, 0x8a, 0x69, 0x0f, 0x98, 0x02, 0xcb, 0xcf, 0xf7, 0xa4, 0x83, 0x44, 0xae, 0x70, 0x22, 0x4f, + 0xd3, 0x85, 0xc7, 0x21, 0xb2, 0xf4, 0xea, 0x9f, 0x1e, 0x96, 0xc9, 0x83, 0x87, 0x65, 0xf2, 0x8f, + 0x87, 0x65, 0xf2, 0xee, 0xa3, 0xf2, 0xbe, 0x07, 0x8f, 0xca, 0xfb, 0xfe, 0xf2, 0xa8, 0xbc, 0x6f, + 0xf5, 0xea, 0x86, 0xe5, 0xdf, 0xda, 0xaa, 0x57, 0x1b, 0xce, 0xa6, 0xf8, 0x72, 0xc5, 0x66, 0xfe, + 0x3d, 0xc7, 0x7d, 0x1d, 0x9f, 0x9a, 0xcc, 0xdc, 0x60, 0xae, 0xfe, 0x46, 0x64, 0x42, 0xfe, 0xdf, + 0x28, 0x22, 0x42, 0xdd, 0x9d, 0xad, 0x0f, 0xf2, 0x66, 0xdf, 0xfc, 0x7f, 0x03, 0x00, 0x00, 0xff, + 0xff, 0xb3, 0x37, 0xda, 0x06, 0x0c, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3670,8 +3681,8 @@ type QueryClient interface { // // Since Revision 3 ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) - // ProjectEnrollments queries all credit class enrollments associated with a - // project. + // ProjectEnrollments queries all credit class enrollments and allows for filtering by + // project or credit class. ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) } @@ -4019,8 +4030,8 @@ type QueryServer interface { // // Since Revision 3 ProjectEnrollment(context.Context, *QueryProjectEnrollmentRequest) (*QueryProjectEnrollmentResponse, error) - // ProjectEnrollments queries all credit class enrollments associated with a - // project. + // ProjectEnrollments queries all credit class enrollments and allows for filtering by + // project or credit class. ProjectEnrollments(context.Context, *QueryProjectEnrollmentsRequest) (*QueryProjectEnrollmentsResponse, error) } @@ -7118,6 +7129,13 @@ func (m *QueryProjectEnrollmentsRequest) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l + if len(m.ClassId) > 0 { + i -= len(m.ClassId) + copy(dAtA[i:], m.ClassId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ClassId))) + i-- + dAtA[i] = 0x1a + } if m.Pagination != nil { { size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) @@ -8228,6 +8246,10 @@ func (m *QueryProjectEnrollmentsRequest) Size() (n int) { l = m.Pagination.Size() n += 1 + l + sovQuery(uint64(l)) } + l = len(m.ClassId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } return n } @@ -14681,6 +14703,38 @@ func (m *QueryProjectEnrollmentsRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClassId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) From 8d0cbb4062041ea790e39f05bb99f5d5802fe7bf Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 14:32:49 -0500 Subject: [PATCH 037/112] bridge fix --- x/ecocredit/base/keeper/msg_bridge_receive.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/ecocredit/base/keeper/msg_bridge_receive.go b/x/ecocredit/base/keeper/msg_bridge_receive.go index a5db399fc9..2fb5b6e851 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive.go @@ -122,6 +122,7 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) batchRes, err := k.CreateBatch(ctx, &types.MsgCreateBatch{ Issuer: req.Issuer, ProjectId: project.Id, + ClassId: req.ClassId, Issuance: []*types.BatchIssuance{ { Recipient: req.Batch.Recipient, From 33afc480d2e9f53eb73e7316d4fb924e5c9dd1c6 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 14:51:05 -0500 Subject: [PATCH 038/112] fix project state tests --- .../base/types/v1/features/state_project.feature | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/state_project.feature b/x/ecocredit/base/types/v1/features/state_project.feature index c88cc22f8e..e566f2bb2d 100644 --- a/x/ecocredit/base/types/v1/features/state_project.feature +++ b/x/ecocredit/base/types/v1/features/state_project.feature @@ -7,7 +7,6 @@ Feature: Project "key": 1, "id": "C01-001", "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1, "jurisdiction": "US-WA", "metadata": "regen:13toVgf5aZqSVSeJQv562xkkeoe3rr3bJWa29PHVKVf77VAkVMcDvVd.rdf" } @@ -22,7 +21,6 @@ Feature: Project "key": 1, "id": "C01-001", "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1, "jurisdiction": "US-WA" } """ @@ -36,7 +34,6 @@ Feature: Project "key": 1, "id": "C01-001", "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1, "jurisdiction": "US-WA", "metadata": "regen:13toVgf5aZqSVSeJQv562xkkeoe3rr3bJWa29PHVKVf77VAkVMcDvVd.rdf", "reference_id": "VCS-001" @@ -85,17 +82,18 @@ Feature: Project When the project is validated Then expect the error "admin: empty address string is not allowed: parse error" - Scenario: an error is returned if class key is empty + Scenario: an error is returned if class key is not empty Given the project """ { "key": 1, "id": "C01-001", + "class_key": 1, "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=" } """ When the project is validated - Then expect the error "class key cannot be zero: parse error" + Then expect the error "class key is deprecated and must be zer: parse error" Scenario: an error is returned if jurisdiction is empty Given the project @@ -103,8 +101,7 @@ Feature: Project { "key": 1, "id": "C01-001", - "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1 + "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=" } """ When the project is validated @@ -117,7 +114,6 @@ Feature: Project "key": 1, "id": "C01-001", "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1, "jurisdiction": "foo" } """ @@ -131,7 +127,6 @@ Feature: Project "key": 1, "id": "C01-001", "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "class_key": 1, "jurisdiction": "US-WA" } """ From bff1c3241c5806aa69d039c99d2dfe4afff3d739 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 14:55:34 -0500 Subject: [PATCH 039/112] remove over aggressive project and batch ID validation --- .../base/types/v1/features/msg_bridge.feature | 17 ----------------- .../types/v1/features/msg_create_batch.feature | 11 ----------- .../v1/features/msg_mint_batch_credits.feature | 11 ----------- .../types/v1/features/msg_seal_batch.feature | 11 ----------- .../base/types/v1/features/msg_send.feature | 16 ---------------- .../features/msg_update_batch_metadata.feature | 11 ----------- .../features/msg_update_project_admin.feature | 11 ----------- .../msg_update_project_metadata.feature | 11 ----------- .../base/types/v1/features/state_batch.feature | 13 ------------- .../types/v1/features/state_project.feature | 13 +------------ .../types/v1/features/types_credits.feature | 10 ---------- .../basket/types/v1/features/msg_put.feature | 16 ---------------- .../v1/features/state_basket_balance.feature | 11 ----------- .../types/v1/features/msg_sell.feature | 15 --------------- 14 files changed, 1 insertion(+), 176 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/msg_bridge.feature b/x/ecocredit/base/types/v1/features/msg_bridge.feature index 4e51fdd91f..0766aa0cfd 100644 --- a/x/ecocredit/base/types/v1/features/msg_bridge.feature +++ b/x/ecocredit/base/types/v1/features/msg_bridge.feature @@ -118,23 +118,6 @@ Feature: MsgBridge When the message is validated Then expect the error "credits[0]: batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if credits batch denom is not formatted - Given the message - """ - { - "owner": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "target": "polygon", - "recipient": "0x323b5d4c32345ced77393b3530b1eed0f346429d", - "credits": [ - { - "batch_denom": "foo" - } - ] - } - """ - When the message is validated - Then expect the error "credits[0]: batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if credits amount is empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_create_batch.feature b/x/ecocredit/base/types/v1/features/msg_create_batch.feature index 844bd030b6..d83f2c2f82 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_batch.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_batch.feature @@ -155,17 +155,6 @@ Feature: MsgCreateBatch When the message is validated Then expect the error "project id: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if project id is not formatted - Given the message - """ - { - "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "project_id": "foo" - } - """ - When the message is validated - Then expect the error "project id: expected format -: parse error: invalid request" - Scenario: an error is returned if class id is empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_mint_batch_credits.feature b/x/ecocredit/base/types/v1/features/msg_mint_batch_credits.feature index 17f23c5886..445dad9cbe 100644 --- a/x/ecocredit/base/types/v1/features/msg_mint_batch_credits.feature +++ b/x/ecocredit/base/types/v1/features/msg_mint_batch_credits.feature @@ -77,17 +77,6 @@ Feature: MsgMintBatchCredits When the message is validated Then expect the error "batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if batch denom is not formatted - Given the message - """ - { - "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "batch_denom": "foo" - } - """ - When the message is validated - Then expect the error "batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if issuance is empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_seal_batch.feature b/x/ecocredit/base/types/v1/features/msg_seal_batch.feature index 07b49087a6..201a67f743 100644 --- a/x/ecocredit/base/types/v1/features/msg_seal_batch.feature +++ b/x/ecocredit/base/types/v1/features/msg_seal_batch.feature @@ -39,17 +39,6 @@ Feature: MsgSealBatch When the message is validated Then expect the error "batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if batch denom is not formatted - Given the message - """ - { - "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "batch_denom": "foo" - } - """ - When the message is validated - Then expect the error "batch denom: expected format ---: parse error: invalid request" - Scenario: a valid amino message Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_send.feature b/x/ecocredit/base/types/v1/features/msg_send.feature index 63bf82608b..86b4dcf9fc 100644 --- a/x/ecocredit/base/types/v1/features/msg_send.feature +++ b/x/ecocredit/base/types/v1/features/msg_send.feature @@ -126,22 +126,6 @@ Feature: MsgSend When the message is validated Then expect the error "credits[0]: batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if credits batch denom is not formatted - Given the message - """ - { - "sender": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "recipient": "regen1tnh2q55v8wyygtt9srz5safamzdengsnlm0yy4", - "credits": [ - { - "batch_denom": "foo" - } - ] - } - """ - When the message is validated - Then expect the error "credits[0]: batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if credits tradable amount and retired amount are empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_update_batch_metadata.feature b/x/ecocredit/base/types/v1/features/msg_update_batch_metadata.feature index 26bf625df1..d7b69e3f5c 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_batch_metadata.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_batch_metadata.feature @@ -40,17 +40,6 @@ Feature: MsgUpdateBatchMetadata When the message is validated Then expect the error "batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if batch denom is not formatted - Given the message - """ - { - "issuer": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "batch_denom": "foo" - } - """ - When the message is validated - Then expect the error "batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if new metadata is empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_admin.feature b/x/ecocredit/base/types/v1/features/msg_update_project_admin.feature index edcb2f4931..eb402290d2 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_admin.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_admin.feature @@ -40,17 +40,6 @@ Feature: MsgUpdateProjectAdmin When the message is validated Then expect the error "project id: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if project id is not formatted - Given the message - """ - { - "admin": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "project_id": "foo" - } - """ - When the message is validated - Then expect the error "project id: expected format -: parse error: invalid request" - Scenario: an error is returned if new admin is empty Given the message """ diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_metadata.feature b/x/ecocredit/base/types/v1/features/msg_update_project_metadata.feature index 4691c11bbb..cbaeb55668 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_metadata.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_metadata.feature @@ -51,17 +51,6 @@ Feature: MsgUpdateProjectMetadata When the message is validated Then expect the error "project id: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if project id is not formatted - Given the message - """ - { - "admin": "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6", - "project_id": "foo" - } - """ - When the message is validated - Then expect the error "project id: expected format -: parse error: invalid request" - Scenario: an error is returned if new metadata exceeds 256 characters Given the message """ diff --git a/x/ecocredit/base/types/v1/features/state_batch.feature b/x/ecocredit/base/types/v1/features/state_batch.feature index e195a47f94..1bb1aa6885 100644 --- a/x/ecocredit/base/types/v1/features/state_batch.feature +++ b/x/ecocredit/base/types/v1/features/state_batch.feature @@ -76,19 +76,6 @@ Feature: Batch When the batch is validated Then expect the error "denom: empty string is not allowed: parse error" - Scenario: an error is returned if denom is not formatted - Given the batch - """ - { - "key": 1, - "issuer": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", - "project_key": 1, - "denom": "foo" - } - """ - When the batch is validated - Then expect the error "denom: expected format ---: parse error" - Scenario: an error is returned if metadata exceeds 256 characters Given the batch """ diff --git a/x/ecocredit/base/types/v1/features/state_project.feature b/x/ecocredit/base/types/v1/features/state_project.feature index e566f2bb2d..f49e3f99cb 100644 --- a/x/ecocredit/base/types/v1/features/state_project.feature +++ b/x/ecocredit/base/types/v1/features/state_project.feature @@ -60,17 +60,6 @@ Feature: Project When the project is validated Then expect the error "project id: empty string is not allowed: parse error" - Scenario: an error is returned if id is not formatted - Given the project - """ - { - "key": 1, - "id": "foo" - } - """ - When the project is validated - Then expect the error "project id: expected format -: parse error" - Scenario: an error is returned if admin is empty Given the project """ @@ -93,7 +82,7 @@ Feature: Project } """ When the project is validated - Then expect the error "class key is deprecated and must be zer: parse error" + Then expect the error "class key is deprecated and must be zero: parse error" Scenario: an error is returned if jurisdiction is empty Given the project diff --git a/x/ecocredit/base/types/v1/features/types_credits.feature b/x/ecocredit/base/types/v1/features/types_credits.feature index 15b09f30e7..252f6b9703 100644 --- a/x/ecocredit/base/types/v1/features/types_credits.feature +++ b/x/ecocredit/base/types/v1/features/types_credits.feature @@ -19,16 +19,6 @@ Feature: Credits When the message is validated Then expect the error "batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if batch denom is not formatted - Given the message - """ - { - "batch_denom": "foo" - } - """ - When the message is validated - Then expect the error "batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if amount is empty Given the message """ diff --git a/x/ecocredit/basket/types/v1/features/msg_put.feature b/x/ecocredit/basket/types/v1/features/msg_put.feature index e9147060db..ff73a527ef 100644 --- a/x/ecocredit/basket/types/v1/features/msg_put.feature +++ b/x/ecocredit/basket/types/v1/features/msg_put.feature @@ -81,22 +81,6 @@ Feature: MsgPut When the message is validated Then expect the error "credits[0]: batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if a credit batch denom is not formatted - Given the message - """ - { - "owner": "regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw", - "basket_denom": "eco.uC.NCT", - "credits": [ - { - "batch_denom": "foo" - } - ] - } - """ - When the message is validated - Then expect the error "credits[0]: batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if a credit amount is empty Given the message """ diff --git a/x/ecocredit/basket/types/v1/features/state_basket_balance.feature b/x/ecocredit/basket/types/v1/features/state_basket_balance.feature index a9e8498e21..28dc951f7f 100644 --- a/x/ecocredit/basket/types/v1/features/state_basket_balance.feature +++ b/x/ecocredit/basket/types/v1/features/state_basket_balance.feature @@ -31,17 +31,6 @@ Feature: BasketBalance When the basket balance is validated Then expect the error "batch denom: empty string is not allowed: parse error" - Scenario: an error is returned if batch denom is not formatted - Given the basket balance - """ - { - "basket_id": 1, - "batch_denom": "foo" - } - """ - When the basket balance is validated - Then expect the error "batch denom: expected format ---: parse error" - Scenario: an error is returned if balance is a negative decimal Given the basket balance """ diff --git a/x/ecocredit/marketplace/types/v1/features/msg_sell.feature b/x/ecocredit/marketplace/types/v1/features/msg_sell.feature index f5377cd05c..0f28e8f37d 100644 --- a/x/ecocredit/marketplace/types/v1/features/msg_sell.feature +++ b/x/ecocredit/marketplace/types/v1/features/msg_sell.feature @@ -131,21 +131,6 @@ Feature: MsgSell When the message is validated Then expect the error "orders[0]: batch denom: empty string is not allowed: parse error: invalid request" - Scenario: an error is returned if order batch denom is not formatted - Given the message - """ - { - "seller": "regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw", - "orders": [ - { - "batch_denom": "foo" - } - ] - } - """ - When the message is validated - Then expect the error "orders[0]: batch denom: expected format ---: parse error: invalid request" - Scenario: an error is returned if order quantity is empty Given the message """ From fe45d702c120221cddaf4a3537220b1c08068cee Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 15:13:07 -0500 Subject: [PATCH 040/112] test fixes --- proto/regen/ecocredit/v1/tx.proto | 4 +- .../features/msg_create_project.feature | 26 ++-------- x/ecocredit/base/keeper/msg_create_project.go | 19 ++++--- .../base/keeper/msg_create_project_test.go | 52 +------------------ 4 files changed, 15 insertions(+), 86 deletions(-) diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 84ea41c7f1..49182bab1e 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -157,8 +157,8 @@ service Msg { // the scope of the provided credit class, the credits will be minted to the // existing credit batch, otherwise the credits will be issued in a new credit // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. + // project with a matching reference id already exists, otherwise a new project + // will be created. rpc BridgeReceive(MsgBridgeReceive) returns (MsgBridgeReceiveResponse); // AddCreditType is a governance method that allows the addition of new diff --git a/x/ecocredit/base/keeper/features/msg_create_project.feature b/x/ecocredit/base/keeper/features/msg_create_project.feature index faa4ffe721..47174400ae 100644 --- a/x/ecocredit/base/keeper/features/msg_create_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_project.feature @@ -4,7 +4,6 @@ Feature: CreateProject - when the credit class exists - when the admin is an allowed credit class issuer - when the non-empty reference id is unique within the scope of the credit class - - the project sequence is updated - the project properties are added - the response includes the project id @@ -55,26 +54,7 @@ Feature: CreateProject Scenario: non-empty reference id is not unique within credit class Given a project with project id "C01-001" and reference id "VCS-001" When alice attempts to create a project with class id "C01" and reference id "VCS-001" - Then expect the error "a project with reference id VCS-001 already exists within this credit class: invalid request" - - Rule: the project sequence is updated - - Background: - Given a credit type with abbreviation "C" - And a credit class with class id "C01" and issuer alice - And a credit class with class id "C02" and issuer alice - - Scenario: the project sequence is updated - Given a project sequence with class id "C01" and next sequence "1" - When alice attempts to create a project with class id "C01" - Then expect project sequence with class id "C01" and next sequence "2" - - Scenario: the project sequence is not updated - Given a project sequence with class id "C01" and next sequence "1" - When alice attempts to create a project with class id "C02" - Then expect project sequence with class id "C01" and next sequence "1" - - # no failing scenario - state transitions only occur upon successful message execution + Then expect the error "a project with reference id VCS-001 already exists: invalid request" Rule: the project properties are added @@ -115,7 +95,7 @@ Feature: CreateProject Then expect the response """ { - "project_id": "C01-001" + "project_id": "P001" } """ @@ -132,6 +112,6 @@ Feature: CreateProject Then expect event with properties """ { - "project_id": "C01-001" + "project_id": "P001" } """ diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index 124bd08a05..ac6b6282bf 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -39,8 +39,8 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) return nil, err } - // check if non-empty reference id is unique within the scope of the credit class - err = k.verifyReferenceID(ctx, classInfo.Key, req.ReferenceId) + // check if non-empty reference id is unique across all projects + err = k.verifyReferenceID(ctx, req.ReferenceId) if err != nil { return nil, err } @@ -94,17 +94,17 @@ func (k Keeper) createNewProject(ctx context.Context) (*api.Project, string, err return newProject, projectID, nil } -// verifyReferenceID prevents multiple projects from having the same reference id within the -// scope of a credit class. We verify this here at the message server level rather than at the -// ORM level because reference id is optional and therefore multiple projects within the scope -// of a credit class can have an empty reference id (see BridgeReceive for more information) -func (k Keeper) verifyReferenceID(ctx context.Context, classKey uint64, referenceID string) error { +// verifyReferenceID prevents multiple projects from having the same reference id. +// We verify this here at the message server level rather than at the +// ORM level because reference id is optional any project can have an empty reference id. +// (see BridgeReceive for more information) +func (k Keeper) verifyReferenceID(ctx context.Context, referenceID string) error { if referenceID == "" { // reference id is optional so an empty reference id is valid return nil } - key := api.ProjectClassKeyReferenceIdIndexKey{}.WithClassKeyReferenceId(classKey, referenceID) + key := api.ProjectReferenceIdIndexKey{}.WithReferenceId(referenceID) it, err := k.stateStore.ProjectTable().List(ctx, key) if err != nil { return err @@ -112,8 +112,7 @@ func (k Keeper) verifyReferenceID(ctx context.Context, classKey uint64, referenc defer it.Close() if it.Next() { return sdkerrors.ErrInvalidRequest.Wrapf( - "a project with reference id %s already exists within this credit class", referenceID, - ) + "a project with reference id %s already exists", referenceID) } return nil diff --git a/x/ecocredit/base/keeper/msg_create_project_test.go b/x/ecocredit/base/keeper/msg_create_project_test.go index 5b2f24b007..591f5b78c3 100644 --- a/x/ecocredit/base/keeper/msg_create_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_project_test.go @@ -3,8 +3,6 @@ package keeper import ( "encoding/json" - "strconv" - "strings" "testing" "github.com/gogo/protobuf/jsonpb" @@ -61,40 +59,12 @@ func (s *createProjectSuite) ACreditClassWithClassIdAndIssuerAlice(a string) { require.NoError(s.t, err) } -func (s *createProjectSuite) AProjectSequenceWithClassIdAndNextSequence(a, b string) { - class, err := s.k.stateStore.ClassTable().GetById(s.ctx, a) - require.NoError(s.t, err) - - nextSequence, err := strconv.ParseUint(b, 10, 32) - require.NoError(s.t, err) - - err = s.k.stateStore.ProjectSequenceTable().Insert(s.ctx, &api.ProjectSequence{ - ClassKey: class.Key, - NextSequence: nextSequence, - }) - require.NoError(s.t, err) -} - func (s *createProjectSuite) AProjectWithProjectIdAndReferenceId(a, b string) { - classID := base.GetClassIDFromLegacyProjectID(a) - - class, err := s.k.stateStore.ClassTable().GetById(s.ctx, classID) - require.NoError(s.t, err) - - err = s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + err := s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ Id: a, ReferenceId: b, }) require.NoError(s.t, err) - - seq := s.getProjectSequence(a) - - // Save because project sequence may already exist - err = s.k.stateStore.ProjectSequenceTable().Save(s.ctx, &api.ProjectSequence{ - ClassKey: class.Key, - NextSequence: seq + 1, - }) - require.NoError(s.t, err) } func (s *createProjectSuite) AliceAttemptsToCreateAProjectWithClassId(a string) { @@ -145,19 +115,6 @@ func (s *createProjectSuite) ExpectErrorContains(a string) { require.ErrorContains(s.t, s.err, a) } -func (s *createProjectSuite) ExpectProjectSequenceWithClassIdAndNextSequence(a string, b string) { - project, err := s.stateStore.ClassTable().GetById(s.ctx, a) - require.NoError(s.t, err) - - nextSequence, err := strconv.ParseUint(b, 10, 64) - require.NoError(s.t, err) - - projectSequence, err := s.stateStore.ProjectSequenceTable().Get(s.ctx, project.Key) - require.NoError(s.t, err) - - require.Equal(s.t, nextSequence, projectSequence.NextSequence) -} - func (s *createProjectSuite) ExpectProjectProperties(a gocuke.DocString) { var expected types.Project err := jsonpb.UnmarshalString(a.Content, &expected) @@ -190,10 +147,3 @@ func (s *createProjectSuite) ExpectEventWithProperties(a gocuke.DocString) { err = testutil.MatchEvent(&event, sdkEvent) require.NoError(s.t, err) } - -func (s *createProjectSuite) getProjectSequence(projectID string) uint64 { - str := strings.Split(projectID, "-") - seq, err := strconv.ParseUint(str[1], 10, 32) - require.NoError(s.t, err) - return seq -} From 75616f942a447093b6152d7e40fd0546ae04e287 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 16:03:46 -0500 Subject: [PATCH 041/112] test fixes --- .../base/keeper/features/msg_create_project.feature | 2 +- x/ecocredit/base/keeper/msg_create_project_test.go | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_project.feature b/x/ecocredit/base/keeper/features/msg_create_project.feature index 47174400ae..33d136d67a 100644 --- a/x/ecocredit/base/keeper/features/msg_create_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_project.feature @@ -75,7 +75,7 @@ Feature: CreateProject Then expect project properties """ { - "id": "C01-001", + "id": "P001", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "jurisdiction": "US-WA", "reference_id": "VCS-001" diff --git a/x/ecocredit/base/keeper/msg_create_project_test.go b/x/ecocredit/base/keeper/msg_create_project_test.go index 591f5b78c3..5401967273 100644 --- a/x/ecocredit/base/keeper/msg_create_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_project_test.go @@ -93,14 +93,10 @@ func (s *createProjectSuite) AliceAttemptsToCreateAProjectWithProperties(a gocuk var msg types.MsgCreateProject err := jsonpb.UnmarshalString(a.Content, &msg) require.NoError(s.t, err) + msg.Admin = s.alice.String() - s.res, s.err = s.k.CreateProject(s.ctx, &types.MsgCreateProject{ - Admin: s.alice.String(), - ClassId: msg.ClassId, - Metadata: msg.Metadata, - Jurisdiction: msg.Jurisdiction, - ReferenceId: msg.ReferenceId, - }) + s.res, s.err = s.k.CreateProject(s.ctx, &msg) + require.NoError(s.t, s.err) } func (s *createProjectSuite) ExpectNoError() { From 18c0c7f82c7ff7598d5d9c488746e6ca81b4ec3a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 26 Feb 2024 16:11:17 -0500 Subject: [PATCH 042/112] WIP on bridge fixes --- .../features/msg_bridge_receive.feature | 4 +-- x/ecocredit/base/keeper/msg_bridge_receive.go | 25 ++++++++----------- .../base/keeper/msg_bridge_receive_test.go | 8 ------ 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature index f806293fd8..0a69f545f6 100644 --- a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature +++ b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature @@ -68,13 +68,13 @@ Feature: Msg/BridgeReceive When bob attempts to bridge credits with contract "0x0E65079a29d7793ab5CA500c2d88e60EE99Ba606" Then expect the error "only the account that issued the batch can mint additional credits: unauthorized" - Rule: A new project is created if a project from the same class with the same reference id does not exist + Rule: A new project is created if a project with the same reference id does not exist Background: Given a credit type with abbreviation "C" And a credit class with id "C01" and issuer alice And allowed bridge chain "polygon" - And a project with id "C01-001" and reference id "VCS-001" + And a project with id "P001" and reference id "VCS-001" Scenario: a project from the same class with a different reference id When alice attempts to bridge credits with class id "C01" and project reference id "VCS-002" diff --git a/x/ecocredit/base/keeper/msg_bridge_receive.go b/x/ecocredit/base/keeper/msg_bridge_receive.go index 2fb5b6e851..b2c5b7da75 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive.go @@ -45,8 +45,8 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) // if batch contract entry with matching contract exists, and therefore a // project exists, dynamically mint credits to the existing credit batch, - // otherwise search for an existing project based on credit class id and - // project reference id and, if the project exists, create a credit batch + // otherwise search for an existing project based on project reference id and, + // if the project exists, create a credit batch // under the existing project, otherwise, create a new project and then a // new credit batch under the new project if batchContract != nil { @@ -94,8 +94,8 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) } } else { - // attempt to find existing project based on credit class and reference id - project, err := k.getProjectFromBridgeReq(ctx, req.Project, req.ClassId) + // attempt to find existing project based on reference id + project, err := k.getProjectFromBridgeReq(ctx, req.Project) if err != nil { return nil, err } @@ -161,19 +161,14 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) return response, nil } -// getProjectFromBridgeReq attempts to find a project with a matching reference id within the scope -// of the credit class. No more than one project will be returned when we list the projects based on -// class id and reference id because we enforce uniqueness on non-empty reference ids within the scope -// of a credit class (and we do this at the message server level and not the ORM level because reference +// getProjectFromBridgeReq attempts to find a project with a matching reference id. +// No more than one project will be returned when we list the projects based on +// reference id because we enforce uniqueness on non-empty reference ids within the scope +// (and we do this at the message server level and not the ORM level because reference // id is optional when using Msg/CreateProject). If no project is found, nil is returned for both values. -func (k Keeper) getProjectFromBridgeReq(ctx context.Context, req *types.MsgBridgeReceive_Project, classID string) (*api.Project, error) { - class, err := k.stateStore.ClassTable().GetById(ctx, classID) - if err != nil { - return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get class with id %s: %s", classID, err.Error()) - } - +func (k Keeper) getProjectFromBridgeReq(ctx context.Context, req *types.MsgBridgeReceive_Project) (*api.Project, error) { // first we check if there is an existing project - idx := api.ProjectClassKeyReferenceIdIndexKey{}.WithClassKeyReferenceId(class.Key, req.ReferenceId) + idx := api.ProjectReferenceIdIndexKey{}.WithReferenceId(req.ReferenceId) it, err := k.stateStore.ProjectTable().List(ctx, idx) if err != nil { return nil, err diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index bdbee3b90b..7c21a9c7a2 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -121,14 +121,6 @@ func (s *bridgeReceiveSuite) AProjectWithIdAndReferenceId(a, b string) { }) require.NoError(s.t, err) - seq := s.getProjectSequence(a) - - err = s.k.stateStore.ProjectSequenceTable().Insert(s.ctx, &api.ProjectSequence{ - ClassKey: s.classKey, - NextSequence: seq + 1, - }) - require.NoError(s.t, err) - s.projectKey = pKey } From b29c2494d9e1cf564ea0ae45271758dfe83c807c Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 27 Feb 2024 14:52:45 -0500 Subject: [PATCH 043/112] ref id fixes --- api/regen/ecocredit/v1/tx_grpc.pb.go | 8 +++--- .../features/msg_bridge_receive.feature | 8 +++--- .../features/msg_create_project.feature | 8 +++--- x/ecocredit/base/keeper/msg_bridge_receive.go | 25 +++++++++++-------- .../base/keeper/msg_bridge_receive_test.go | 1 + x/ecocredit/base/keeper/msg_create_project.go | 25 +++++++++++-------- .../base/keeper/msg_create_project_test.go | 19 +++++++++++--- .../types/v1/features/state_project.feature | 19 ++++++++++++-- x/ecocredit/base/types/v1/state_project.go | 4 +-- x/ecocredit/base/types/v1/tx.pb.go | 8 +++--- 10 files changed, 81 insertions(+), 44 deletions(-) diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index de6f12ef34..ddf700aa55 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -168,8 +168,8 @@ type MsgClient interface { // the scope of the provided credit class, the credits will be minted to the // existing credit batch, otherwise the credits will be issued in a new credit // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. + // project with a matching reference id already exists, otherwise a new project + // will be created. BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) // AddCreditType is a governance method that allows the addition of new // credit types to the network. @@ -602,8 +602,8 @@ type MsgServer interface { // the scope of the provided credit class, the credits will be minted to the // existing credit batch, otherwise the credits will be issued in a new credit // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. + // project with a matching reference id already exists, otherwise a new project + // will be created. BridgeReceive(context.Context, *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) // AddCreditType is a governance method that allows the addition of new // credit types to the network. diff --git a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature index 0a69f545f6..5723930a95 100644 --- a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature +++ b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature @@ -68,13 +68,13 @@ Feature: Msg/BridgeReceive When bob attempts to bridge credits with contract "0x0E65079a29d7793ab5CA500c2d88e60EE99Ba606" Then expect the error "only the account that issued the batch can mint additional credits: unauthorized" - Rule: A new project is created if a project with the same reference id does not exist + Rule: A new project is created if a project from the same class with the same reference id does not exist Background: Given a credit type with abbreviation "C" And a credit class with id "C01" and issuer alice And allowed bridge chain "polygon" - And a project with id "P001" and reference id "VCS-001" + And a project with id "C01-001" and reference id "VCS-001" Scenario: a project from the same class with a different reference id When alice attempts to bridge credits with class id "C01" and project reference id "VCS-002" @@ -133,7 +133,7 @@ Feature: Msg/BridgeReceive Then expect project properties """ { - "id": "C01-001", + "id": "P001", "reference_id": "VCS-001", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "jurisdiction": "US-WA" @@ -161,7 +161,7 @@ Feature: Msg/BridgeReceive Then expect batch properties """ { - "denom": "C01-001-20200101-20210101-001", + "denom": "C01-P001-20200101-20210101-001", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z" diff --git a/x/ecocredit/base/keeper/features/msg_create_project.feature b/x/ecocredit/base/keeper/features/msg_create_project.feature index 33d136d67a..28a9c78fc4 100644 --- a/x/ecocredit/base/keeper/features/msg_create_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_project.feature @@ -42,19 +42,19 @@ Feature: CreateProject And a credit class with class id "C01" and issuer alice Scenario: non-empty reference id is unique within credit class - Given a project with project id "C01-001" and reference id "VCS-001" + Given a project "P001" in class "C01" with reference id "VCS-001" When alice attempts to create a project with class id "C01" and reference id "VCS-002" Then expect no error Scenario: empty reference id is allowed for multiple projects - Given a project with project id "C01-001" and reference id "" + Given a project "P001" in class "C01" with reference id "" When alice attempts to create a project with class id "C01" and reference id "" Then expect no error Scenario: non-empty reference id is not unique within credit class - Given a project with project id "C01-001" and reference id "VCS-001" + Given a project "P001" in class "C01" with reference id "VCS-001" When alice attempts to create a project with class id "C01" and reference id "VCS-001" - Then expect the error "a project with reference id VCS-001 already exists: invalid request" + Then expect the error "a project with reference id VCS-001 already exists within this credit class: invalid request" Rule: the project properties are added diff --git a/x/ecocredit/base/keeper/msg_bridge_receive.go b/x/ecocredit/base/keeper/msg_bridge_receive.go index b2c5b7da75..2fb5b6e851 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive.go @@ -45,8 +45,8 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) // if batch contract entry with matching contract exists, and therefore a // project exists, dynamically mint credits to the existing credit batch, - // otherwise search for an existing project based on project reference id and, - // if the project exists, create a credit batch + // otherwise search for an existing project based on credit class id and + // project reference id and, if the project exists, create a credit batch // under the existing project, otherwise, create a new project and then a // new credit batch under the new project if batchContract != nil { @@ -94,8 +94,8 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) } } else { - // attempt to find existing project based on reference id - project, err := k.getProjectFromBridgeReq(ctx, req.Project) + // attempt to find existing project based on credit class and reference id + project, err := k.getProjectFromBridgeReq(ctx, req.Project, req.ClassId) if err != nil { return nil, err } @@ -161,14 +161,19 @@ func (k Keeper) BridgeReceive(ctx context.Context, req *types.MsgBridgeReceive) return response, nil } -// getProjectFromBridgeReq attempts to find a project with a matching reference id. -// No more than one project will be returned when we list the projects based on -// reference id because we enforce uniqueness on non-empty reference ids within the scope -// (and we do this at the message server level and not the ORM level because reference +// getProjectFromBridgeReq attempts to find a project with a matching reference id within the scope +// of the credit class. No more than one project will be returned when we list the projects based on +// class id and reference id because we enforce uniqueness on non-empty reference ids within the scope +// of a credit class (and we do this at the message server level and not the ORM level because reference // id is optional when using Msg/CreateProject). If no project is found, nil is returned for both values. -func (k Keeper) getProjectFromBridgeReq(ctx context.Context, req *types.MsgBridgeReceive_Project) (*api.Project, error) { +func (k Keeper) getProjectFromBridgeReq(ctx context.Context, req *types.MsgBridgeReceive_Project, classID string) (*api.Project, error) { + class, err := k.stateStore.ClassTable().GetById(ctx, classID) + if err != nil { + return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get class with id %s: %s", classID, err.Error()) + } + // first we check if there is an existing project - idx := api.ProjectReferenceIdIndexKey{}.WithReferenceId(req.ReferenceId) + idx := api.ProjectClassKeyReferenceIdIndexKey{}.WithClassKeyReferenceId(class.Key, req.ReferenceId) it, err := k.stateStore.ProjectTable().List(ctx, idx) if err != nil { return nil, err diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index 7c21a9c7a2..929b9ef8c2 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -117,6 +117,7 @@ func (s *bridgeReceiveSuite) AProjectWithId(a string) { func (s *bridgeReceiveSuite) AProjectWithIdAndReferenceId(a, b string) { pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: a, + ClassKey: s.classKey, ReferenceId: b, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index ac6b6282bf..7858b916f7 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -39,8 +39,8 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) return nil, err } - // check if non-empty reference id is unique across all projects - err = k.verifyReferenceID(ctx, req.ReferenceId) + // check if non-empty reference id is unique within the scope of the credit class + err = k.verifyReferenceID(ctx, classInfo.Key, req.ReferenceId) if err != nil { return nil, err } @@ -48,7 +48,11 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) project.Admin = adminAddress project.Jurisdiction = req.Jurisdiction project.Metadata = req.Metadata - project.ReferenceId = req.ReferenceId + if req.ReferenceId != "" { + project.ReferenceId = req.ReferenceId + // only set class key if reference id is not empty to support the use case of reference IDs + project.ClassKey = classInfo.Key + } if err = k.stateStore.ProjectTable().Save(ctx, project); err != nil { return nil, err @@ -94,17 +98,17 @@ func (k Keeper) createNewProject(ctx context.Context) (*api.Project, string, err return newProject, projectID, nil } -// verifyReferenceID prevents multiple projects from having the same reference id. -// We verify this here at the message server level rather than at the -// ORM level because reference id is optional any project can have an empty reference id. -// (see BridgeReceive for more information) -func (k Keeper) verifyReferenceID(ctx context.Context, referenceID string) error { +// verifyReferenceID prevents multiple projects from having the same reference id within the +// scope of a credit class. We verify this here at the message server level rather than at the +// ORM level because reference id is optional and therefore multiple projects within the scope +// of a credit class can have an empty reference id (see BridgeReceive for more information) +func (k Keeper) verifyReferenceID(ctx context.Context, classKey uint64, referenceID string) error { if referenceID == "" { // reference id is optional so an empty reference id is valid return nil } - key := api.ProjectReferenceIdIndexKey{}.WithReferenceId(referenceID) + key := api.ProjectClassKeyReferenceIdIndexKey{}.WithClassKeyReferenceId(classKey, referenceID) it, err := k.stateStore.ProjectTable().List(ctx, key) if err != nil { return err @@ -112,7 +116,8 @@ func (k Keeper) verifyReferenceID(ctx context.Context, referenceID string) error defer it.Close() if it.Next() { return sdkerrors.ErrInvalidRequest.Wrapf( - "a project with reference id %s already exists", referenceID) + "a project with reference id %s already exists within this credit class", referenceID, + ) } return nil diff --git a/x/ecocredit/base/keeper/msg_create_project_test.go b/x/ecocredit/base/keeper/msg_create_project_test.go index 5401967273..91337a08c3 100644 --- a/x/ecocredit/base/keeper/msg_create_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_project_test.go @@ -59,10 +59,21 @@ func (s *createProjectSuite) ACreditClassWithClassIdAndIssuerAlice(a string) { require.NoError(s.t, err) } -func (s *createProjectSuite) AProjectWithProjectIdAndReferenceId(a, b string) { - err := s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ - Id: a, - ReferenceId: b, +func (s *createProjectSuite) AProjectInClassWithReferenceId(projId, clsId, refId string) { + cls, err := s.k.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + + err = s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + Id: projId, + ReferenceId: refId, + ClassKey: cls.Key, + }) + require.NoError(s.t, err) + + err = s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: cls.Key, + ClassKey: cls.Key, + Status: api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, }) require.NoError(s.t, err) } diff --git a/x/ecocredit/base/types/v1/features/state_project.feature b/x/ecocredit/base/types/v1/features/state_project.feature index f49e3f99cb..e8f0f2a7bd 100644 --- a/x/ecocredit/base/types/v1/features/state_project.feature +++ b/x/ecocredit/base/types/v1/features/state_project.feature @@ -71,7 +71,7 @@ Feature: Project When the project is validated Then expect the error "admin: empty address string is not allowed: parse error" - Scenario: an error is returned if class key is not empty + Scenario: an error is returned if class key is not empty and reference id is empty Given the project """ { @@ -82,7 +82,22 @@ Feature: Project } """ When the project is validated - Then expect the error "class key is deprecated and must be zero: parse error" + Then expect the error "class key must be zero unless reference id is set: parse error" + + Scenario: class key can be non-empty if reference id is set + Given the project + """ + { + "key": 1, + "id": "C01-001", + "class_key": 1, + "admin": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", + "reference_id": "VCS-001", + "jurisdiction": "US-WA" + } + """ + When the project is validated + Then expect no error Scenario: an error is returned if jurisdiction is empty Given the project diff --git a/x/ecocredit/base/types/v1/state_project.go b/x/ecocredit/base/types/v1/state_project.go index b0c5d8590f..39dc69394b 100644 --- a/x/ecocredit/base/types/v1/state_project.go +++ b/x/ecocredit/base/types/v1/state_project.go @@ -23,8 +23,8 @@ func (m *Project) Validate() error { return ecocredit.ErrParseFailure.Wrapf("admin: %s", err) } - if m.ClassKey != 0 { - return ecocredit.ErrParseFailure.Wrap("class key is deprecated and must be zero") + if m.ClassKey != 0 && m.ReferenceId == "" { + return ecocredit.ErrParseFailure.Wrap("class key must be zero unless reference id is set") } if err := base.ValidateJurisdiction(m.Jurisdiction); err != nil { diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index c4101e53ce..879b384be1 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -3767,8 +3767,8 @@ type MsgClient interface { // the scope of the provided credit class, the credits will be minted to the // existing credit batch, otherwise the credits will be issued in a new credit // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. + // project with a matching reference id already exists, otherwise a new project + // will be created. BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) // AddCreditType is a governance method that allows the addition of new // credit types to the network. @@ -4199,8 +4199,8 @@ type MsgServer interface { // the scope of the provided credit class, the credits will be minted to the // existing credit batch, otherwise the credits will be issued in a new credit // batch. The new credit batch will be created under an existing project if a - // project with a matching reference id already exists within the scope of the - // credit class, otherwise a new project will be created. + // project with a matching reference id already exists, otherwise a new project + // will be created. BridgeReceive(context.Context, *MsgBridgeReceive) (*MsgBridgeReceiveResponse, error) // AddCreditType is a governance method that allows the addition of new // credit types to the network. From e7aa7be2eead788e10cff18d106ffc198a1ca814 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 28 Feb 2024 15:17:59 -0500 Subject: [PATCH 044/112] refactor get credit type from batch --- x/ecocredit/base/keeper/msg_cancel.go | 2 +- .../base/keeper/msg_mint_batch_credits.go | 2 +- x/ecocredit/base/keeper/msg_retire.go | 2 +- x/ecocredit/base/keeper/msg_send.go | 2 +- .../marketplace/keeper/msg_buy_direct.go | 2 +- x/ecocredit/marketplace/keeper/msg_sell.go | 2 +- .../keeper/msg_update_sell_orders.go | 2 +- .../server/tests/features/bridge.feature | 48 +++++++++---------- x/ecocredit/server/utils/utils.go | 12 ++--- 9 files changed, 36 insertions(+), 38 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_cancel.go b/x/ecocredit/base/keeper/msg_cancel.go index cdb3beda0e..08bf05abc6 100644 --- a/x/ecocredit/base/keeper/msg_cancel.go +++ b/x/ecocredit/base/keeper/msg_cancel.go @@ -26,7 +26,7 @@ func (k Keeper) Cancel(ctx context.Context, req *types.MsgCancel) (*types.MsgCan if err != nil { return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get batch with denom %s: %s", credit.BatchDenom, err.Error()) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch.Denom) + creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits.go b/x/ecocredit/base/keeper/msg_mint_batch_credits.go index e64c7a1ca5..a5e5664008 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits.go @@ -39,7 +39,7 @@ func (k Keeper) MintBatchCredits(ctx context.Context, req *types.MsgMintBatchCre return nil, err } - ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch.Denom) + ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_retire.go b/x/ecocredit/base/keeper/msg_retire.go index be95f3e208..d0c8bcbaf4 100644 --- a/x/ecocredit/base/keeper/msg_retire.go +++ b/x/ecocredit/base/keeper/msg_retire.go @@ -24,7 +24,7 @@ func (k Keeper) Retire(ctx context.Context, req *types.MsgRetire) (*types.MsgRet if err != nil { return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get batch with denom %s: %s", credit.BatchDenom, err.Error()) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch.Denom) + creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_send.go b/x/ecocredit/base/keeper/msg_send.go index 2651079bd8..fda0779b33 100644 --- a/x/ecocredit/base/keeper/msg_send.go +++ b/x/ecocredit/base/keeper/msg_send.go @@ -32,7 +32,7 @@ func (k Keeper) Send(ctx context.Context, req *types.MsgSend) (*types.MsgSendRes } // get credit type precision - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch.Denom) + creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_buy_direct.go b/x/ecocredit/marketplace/keeper/msg_buy_direct.go index cd46e6bc72..fffd31b4e6 100644 --- a/x/ecocredit/marketplace/keeper/msg_buy_direct.go +++ b/x/ecocredit/marketplace/keeper/msg_buy_direct.go @@ -55,7 +55,7 @@ func (k Keeper) BuyDirect(ctx context.Context, req *types.MsgBuyDirect) (*types. if err != nil { return nil, err } - ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch.Denom) + ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_sell.go b/x/ecocredit/marketplace/keeper/msg_sell.go index a48bbf2d5a..e358ebac9d 100644 --- a/x/ecocredit/marketplace/keeper/msg_sell.go +++ b/x/ecocredit/marketplace/keeper/msg_sell.go @@ -40,7 +40,7 @@ func (k Keeper) Sell(ctx context.Context, req *types.MsgSell) (*types.MsgSellRes ) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch.Denom) + creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go b/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go index e9f8dd451c..05b95cfee0 100644 --- a/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go +++ b/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go @@ -178,7 +178,7 @@ func (k Keeper) getCreditTypeFromBatchKey(ctx context.Context, key uint64) (*bas if err != nil { return nil, err } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch.Denom) + creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/server/tests/features/bridge.feature b/x/ecocredit/server/tests/features/bridge.feature index 2bf3d10829..fb8b5844c8 100644 --- a/x/ecocredit/server/tests/features/bridge.feature +++ b/x/ecocredit/server/tests/features/bridge.feature @@ -65,8 +65,8 @@ Feature: Bridge Integration And expect event bridge receive with values """ { - "project_id": "C01-001", - "batch_denom": "C01-001-20200101-20210101-001", + "project_id": "P001", + "batch_denom": "C01-P001-20200101-20210101-001", "amount": "100", "origin_tx": { "id": "0x0000000000000000000000000000000000000000000000000000000000000001", @@ -79,7 +79,7 @@ Feature: Bridge Integration And expect project with properties """ { - "id": "C01-001", + "id": "P001", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "jurisdiction": "US-WA", "reference_id": "VCS-001" @@ -89,14 +89,14 @@ Feature: Bridge Integration And expect credit batch with properties """ { - "denom": "C01-001-20200101-20210101-001", + "denom": "C01-P001-20200101-20210101-001", "metadata": "regen:13toVgf5aZqSVSeJQv562xkkeoe3rr3bJWa29PHVKVf77VAkVMcDvVd.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z", "open": true } """ - And expect batch supply with batch denom "C01-001-20200101-20210101-001" + And expect batch supply with batch denom "C01-P001-20200101-20210101-001" """ { "tradable_amount": "100", @@ -104,7 +104,7 @@ Feature: Bridge Integration "cancelled_amount": "0" } """ - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-001-20200101-20210101-001" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P001-20200101-20210101-001" """ { "tradable_amount": "100", @@ -174,8 +174,8 @@ Feature: Bridge Integration And expect event bridge receive with values """ { - "project_id": "C01-001", - "batch_denom": "C01-001-20200101-20210101-001", + "project_id": "P001", + "batch_denom": "C01-P001-20200101-20210101-001", "amount": "100", "origin_tx": { "id": "0x0000000000000000000000000000000000000000000000000000000000000002", @@ -186,7 +186,7 @@ Feature: Bridge Integration """ And expect total projects "1" And expect total credit batches "1" - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-001-20200101-20210101-001" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P001-20200101-20210101-001" """ { "tradable_amount": "200", @@ -225,8 +225,8 @@ Feature: Bridge Integration And expect event bridge receive with values """ { - "project_id": "C01-001", - "batch_denom": "C01-001-20200101-20210101-002", + "project_id": "P001", + "batch_denom": "C01-P001-20200101-20210101-002", "amount": "100", "origin_tx": { "id": "0x0000000000000000000000000000000000000000000000000000000000000003", @@ -240,14 +240,14 @@ Feature: Bridge Integration And expect credit batch with properties """ { - "denom": "C01-001-20200101-20210101-002", + "denom": "C01-P001-20200101-20210101-002", "metadata": "regen:13toVgf5aZqSVSeJQv562xkkeoe3rr3bJWa29PHVKVf77VAkVMcDvVd.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z", "open": true } """ - And expect batch supply with batch denom "C01-001-20200101-20210101-002" + And expect batch supply with batch denom "C01-P001-20200101-20210101-002" """ { "tradable_amount": "100", @@ -255,7 +255,7 @@ Feature: Bridge Integration "cancelled_amount": "0" } """ - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-001-20200101-20210101-002" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P001-20200101-20210101-002" """ { "tradable_amount": "100", @@ -294,8 +294,8 @@ Feature: Bridge Integration And expect event bridge receive with values """ { - "project_id": "C01-001", - "batch_denom": "C01-001-20200101-20210101-002", + "project_id": "P001", + "batch_denom": "C01-P001-20200101-20210101-002", "amount": "100", "origin_tx": { "id": "0x0000000000000000000000000000000000000000000000000000000000000004", @@ -306,7 +306,7 @@ Feature: Bridge Integration """ And expect total projects "1" And expect total credit batches "2" - And expect batch supply with batch denom "C01-001-20200101-20210101-002" + And expect batch supply with batch denom "C01-P001-20200101-20210101-002" """ { "tradable_amount": "200", @@ -314,7 +314,7 @@ Feature: Bridge Integration "cancelled_amount": "0" } """ - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-001-20200101-20210101-002" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P001-20200101-20210101-002" """ { "tradable_amount": "200", @@ -353,8 +353,8 @@ Feature: Bridge Integration And expect event bridge receive with values """ { - "project_id": "C01-002", - "batch_denom": "C01-002-20200101-20210101-001", + "project_id": "P002", + "batch_denom": "C01-P002-20200101-20210101-001", "amount": "100", "origin_tx": { "id": "0x0000000000000000000000000000000000000000000000000000000000000005", @@ -401,7 +401,7 @@ Feature: Bridge Integration "recipient": "0x1000000000000000000000000000000000000000", "credits": [ { - "batch_denom": "C01-001-20200101-20210101-001", + "batch_denom": "C01-P001-20200101-20210101-001", "amount": "200" } ] @@ -416,10 +416,10 @@ Feature: Bridge Integration "contract": "0x0000000000000000000000000000000000000001", "amount": "200", "owner": "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42", - "batch_denom": "C01-001-20200101-20210101-001" + "batch_denom": "C01-P001-20200101-20210101-001" } """ - And expect batch supply with batch denom "C01-001-20200101-20210101-001" + And expect batch supply with batch denom "C01-P001-20200101-20210101-001" """ { "tradable_amount": "0", @@ -427,7 +427,7 @@ Feature: Bridge Integration "cancelled_amount": "200" } """ - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-001-20200101-20210101-001" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P001-20200101-20210101-001" """ { "tradable_amount": "0", diff --git a/x/ecocredit/server/utils/utils.go b/x/ecocredit/server/utils/utils.go index fd66ee1a7c..251c9a647d 100644 --- a/x/ecocredit/server/utils/utils.go +++ b/x/ecocredit/server/utils/utils.go @@ -5,21 +5,19 @@ import ( "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/types/v2/math" - "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" ) // GetCreditTypeFromBatchDenom extracts the classID from a batch denom string, then retrieves it from the params. -func GetCreditTypeFromBatchDenom(ctx context.Context, store api.StateStore, denom string) (*api.CreditType, error) { - classID := base.GetClassIDFromBatchDenom(denom) - classInfo, err := store.ClassTable().GetById(ctx, classID) +func GetCreditTypeFromBatchDenom(ctx context.Context, store api.StateStore, batch *api.Batch) (*api.CreditType, error) { + cls, err := store.ClassTable().Get(ctx, batch.ClassKey) if err != nil { - return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get class with ID %s: %s", classID, err.Error()) + return nil, err } - return store.CreditTypeTable().Get(ctx, classInfo.CreditTypeAbbrev) + + return store.CreditTypeTable().Get(ctx, cls.CreditTypeAbbrev) } // GetNonNegativeFixedDecs takes an arbitrary amount of decimal strings, and returns their corresponding fixed decimals From 65a9758ab08d452171d16fd675d5aa2c71b72742 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 6 Mar 2024 16:06:53 -0500 Subject: [PATCH 045/112] remove reference_id from MsgCreateUnregisteredProject, WIP on fixing tests --- api/regen/ecocredit/v1/tx.pulsar.go | 1088 ++++++++--------- proto/regen/ecocredit/v1/tx.proto | 6 +- .../features/msg_bridge_receive.feature | 4 +- .../base/keeper/msg_bridge_receive_test.go | 10 +- .../keeper/msg_create_unregistered_project.go | 3 - .../keeper/msg_mint_batch_credits_test.go | 8 +- .../base/keeper/msg_seal_batch_test.go | 12 +- .../keeper/msg_update_batch_metadata_test.go | 17 +- .../msg_create_unregistered_project.feature | 15 - .../v1/msg_create_unregistered_project.go | 4 - .../msg_create_unregistered_project_test.go | 4 - x/ecocredit/base/types/v1/tx.pb.go | 328 +++-- x/ecocredit/base/utils.go | 17 - x/ecocredit/base/utils_test.go | 18 - x/ecocredit/server/utils/utils_test.go | 16 +- 15 files changed, 665 insertions(+), 885 deletions(-) diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 253d959159..874edba163 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -3222,7 +3223,6 @@ var ( fd_MsgCreateUnregisteredProject_admin protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_metadata protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_jurisdiction protoreflect.FieldDescriptor - fd_MsgCreateUnregisteredProject_reference_id protoreflect.FieldDescriptor fd_MsgCreateUnregisteredProject_fee protoreflect.FieldDescriptor ) @@ -3232,7 +3232,6 @@ func init() { fd_MsgCreateUnregisteredProject_admin = md_MsgCreateUnregisteredProject.Fields().ByName("admin") fd_MsgCreateUnregisteredProject_metadata = md_MsgCreateUnregisteredProject.Fields().ByName("metadata") fd_MsgCreateUnregisteredProject_jurisdiction = md_MsgCreateUnregisteredProject.Fields().ByName("jurisdiction") - fd_MsgCreateUnregisteredProject_reference_id = md_MsgCreateUnregisteredProject.Fields().ByName("reference_id") fd_MsgCreateUnregisteredProject_fee = md_MsgCreateUnregisteredProject.Fields().ByName("fee") } @@ -3319,12 +3318,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Range(f func(protoreflect. return } } - if x.ReferenceId != "" { - value := protoreflect.ValueOfString(x.ReferenceId) - if !f(fd_MsgCreateUnregisteredProject_reference_id, value) { - return - } - } if x.Fee != nil { value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) if !f(fd_MsgCreateUnregisteredProject_fee, value) { @@ -3352,8 +3345,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Has(fd protoreflect.FieldD return x.Metadata != "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": return x.Jurisdiction != "" - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - return x.ReferenceId != "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": return x.Fee != nil default: @@ -3378,8 +3369,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Clear(fd protoreflect.Fiel x.Metadata = "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": x.Jurisdiction = "" - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - x.ReferenceId = "" case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": x.Fee = nil default: @@ -3407,9 +3396,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Get(descriptor protoreflec case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": value := x.Jurisdiction return protoreflect.ValueOfString(value) - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - value := x.ReferenceId - return protoreflect.ValueOfString(value) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": value := x.Fee return protoreflect.ValueOfMessage(value.ProtoReflect()) @@ -3439,8 +3425,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Set(fd protoreflect.FieldD x.Metadata = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": x.Jurisdiction = value.Interface().(string) - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - x.ReferenceId = value.Interface().(string) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": x.Fee = value.Message().Interface().(*v1beta1.Coin) default: @@ -3474,8 +3458,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) Mutable(fd protoreflect.Fi panic(fmt.Errorf("field metadata of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": panic(fmt.Errorf("field jurisdiction of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - panic(fmt.Errorf("field reference_id of message regen.ecocredit.v1.MsgCreateUnregisteredProject is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.MsgCreateUnregisteredProject")) @@ -3495,8 +3477,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) NewField(fd protoreflect.F return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgCreateUnregisteredProject.jurisdiction": return protoreflect.ValueOfString("") - case "regen.ecocredit.v1.MsgCreateUnregisteredProject.reference_id": - return protoreflect.ValueOfString("") case "regen.ecocredit.v1.MsgCreateUnregisteredProject.fee": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) @@ -3581,10 +3561,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.ReferenceId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.Fee != nil { l = options.Size(x.Fee) n += 1 + l + runtime.Sov(uint64(l)) @@ -3630,13 +3606,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- - dAtA[i] = 0x2a - } - if len(x.ReferenceId) > 0 { - i -= len(x.ReferenceId) - copy(dAtA[i:], x.ReferenceId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ReferenceId))) - i-- dAtA[i] = 0x22 } if len(x.Jurisdiction) > 0 { @@ -3806,38 +3775,6 @@ func (x *fastReflection_MsgCreateUnregisteredProject) ProtoMethods() *protoiface x.Jurisdiction = 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 ReferenceId", 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.ReferenceId = 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 Fee", wireType) } @@ -29676,15 +29613,12 @@ type MsgCreateUnregisteredProject struct { // sub-national-code and postal-code are optional and can be added for // increased precision. Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` - // reference_id is any arbitrary string used to reference the project with a - // maximum length of 32 characters. - ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` // fee is the project creation fee. An equal fee is required if the project // creation fee parameter is set. The provided fee can be greater than the // parameter, but only the amount in the parameter will be charged. // // Since Revision 3 - Fee *v1beta1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` + Fee *v1beta1.Coin `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` } func (x *MsgCreateUnregisteredProject) Reset() { @@ -29728,13 +29662,6 @@ func (x *MsgCreateUnregisteredProject) GetJurisdiction() string { return "" } -func (x *MsgCreateUnregisteredProject) GetReferenceId() string { - if x != nil { - return x.ReferenceId - } - return "" -} - func (x *MsgCreateUnregisteredProject) GetFee() *v1beta1.Coin { if x != nil { return x.Fee @@ -32230,7 +32157,7 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x0a, 0x18, 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, 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, 0x22, 0xd0, 0x01, 0x0a, 0x1c, 0x4d, 0x73, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, @@ -32238,535 +32165,532 @@ var file_regen_ecocredit_v1_tx_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 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, 0x03, 0x66, 0x65, 0x65, - 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x24, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 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, 0x22, 0xc9, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x3a, 0x12, 0x82, 0xe7, 0xb0, - 0x2a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, - 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, + 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x45, 0x0a, 0x24, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 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, + 0x22, 0xc9, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, + 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x3a, 0x12, 0x82, 0xe7, 0xb0, 0x2a, 0x0d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x26, 0x0a, 0x24, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x97, 0x03, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x73, + 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x24, 0x0a, - 0x22, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x97, 0x03, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, - 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, - 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 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, 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, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x54, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x16, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x73, 0x73, + 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, + 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, + 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x1d, 0x0a, + 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, + 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, + 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x07, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, 0x41, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x39, 0x0a, - 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, - 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3d, 0x0a, 0x08, 0x69, 0x73, 0x73, - 0x75, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x65, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, + 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6a, + 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4a, 0x75, 0x72, + 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x74, + 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x54, 0x78, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x54, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, 0x02, - 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 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, - 0x41, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 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, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x2e, 0x53, 0x65, - 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 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, 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, 0x37, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x4a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x09, 0x4d, 0x73, - 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, - 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, + 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, + 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x13, 0x0a, 0x11, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x7c, 0x0a, 0x09, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, - 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6f, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, + 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, + 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 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, 0x1f, 0x0a, 0x0b, + 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, - 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, 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, 0x22, 0x9c, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 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, - 0x1f, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 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, 0x22, 0x78, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 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, - 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, - 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, - 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, - 0x09, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, - 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, - 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, + 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 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, 0x75, 0x0a, + 0x15, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, + 0x65, 0x77, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6e, 0x65, 0x77, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, + 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x4d, 0x73, + 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, + 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x73, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, 0x0c, 0x6e, 0x65, + 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, + 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 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, 0x21, 0x0a, - 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x20, 0x0a, - 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x13, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 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, 0x46, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, - 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, - 0x5f, 0x74, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, - 0x78, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x3f, 0x0a, 0x0a, 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, 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, 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, - 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, - 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, - 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, - 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, + 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xdf, 0x04, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 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, 0x46, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 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, 0x2e, + 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 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, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x78, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x54, 0x78, 0x52, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x78, 0x1a, 0xd7, + 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, + 0x0a, 0x0a, 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, 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, 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, 0x42, 0x04, 0x90, + 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6c, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, + 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x22, 0x5a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, + 0x5c, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, - 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, - 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, - 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x46, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, - 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, - 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x0a, 0x13, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, - 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, + 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x1b, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, - 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1d, 0x0a, - 0x1b, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x11, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, + 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, + 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, + 0x03, 0x66, 0x65, 0x65, 0x18, 0x02, 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, 0x03, 0x66, 0x65, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x0a, 0x1b, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, - 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, - 0x72, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, - 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe5, 0x17, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x0c, 0x4d, 0x73, 0x67, + 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x72, + 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x62, 0x75, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x16, + 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe5, 0x17, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5d, + 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, - 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, + 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x1a, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, - 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, - 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, - 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x2a, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x4d, 0x69, 0x6e, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x27, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4d, + 0x69, 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x53, 0x65, 0x61, 0x6c, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x61, + 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x52, 0x65, + 0x74, 0x69, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, + 0x69, 0x72, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x27, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x29, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x72, 0x65, + 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, 0x75, 0x0a, 0x13, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x34, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, - 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, - 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, - 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x73, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x31, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 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, - 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 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, 0x72, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, - 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x1a, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, + 0x69, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, + 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, - 0x0a, 0x0d, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, - 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, - 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, - 0x65, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x69, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x2e, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, - 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, - 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x41, 0x64, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x25, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x46, 0x65, 0x65, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, + 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x46, 0x65, 0x65, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, + 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, + 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x84, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x2f, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, - 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, - 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0xd5, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, - 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, + 0x6e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xd5, + 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, + 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index 49182bab1e..e58efb745a 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -348,16 +348,12 @@ message MsgCreateUnregisteredProject { // increased precision. string jurisdiction = 3; - // reference_id is any arbitrary string used to reference the project with a - // maximum length of 32 characters. - string reference_id = 4; - // fee is the project creation fee. An equal fee is required if the project // creation fee parameter is set. The provided fee can be greater than the // parameter, but only the amount in the parameter will be charged. // // Since Revision 3 - cosmos.base.v1beta1.Coin fee = 5; + cosmos.base.v1beta1.Coin fee = 4; } // MsgCreateUnregisteredProjectResponse is the Msg/CreateUnregisteredProject response type. diff --git a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature index 5723930a95..4f7bc4f7d5 100644 --- a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature +++ b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature @@ -245,8 +245,8 @@ Feature: Msg/BridgeReceive Then expect event with properties """ { - "project_id": "C01-001", - "batch_denom": "C01-001-20200101-20210101-001", + "project_id": "P001", + "batch_denom": "C01-P001-20200101-20210101-001", "amount": "10", "origin_tx": { "id": "0x7a70692a348e8688f54ab2bdfe87d925d8cc88932520492a11eaa02dc128243e", diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index 929b9ef8c2..c526423536 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -17,7 +17,6 @@ import ( api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" regentypes "github.com/regen-network/regen-ledger/types/v2" "github.com/regen-network/regen-ledger/types/v2/testutil" - "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) @@ -126,13 +125,8 @@ func (s *bridgeReceiveSuite) AProjectWithIdAndReferenceId(a, b string) { } func (s *bridgeReceiveSuite) ACreditBatchWithDenomAndIssuerAlice(a string) { - projectID := base.GetProjectIDFromBatchDenom(a) - - project, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projectID) - require.NoError(s.t, err) - bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ - ProjectKey: project.Key, + ProjectKey: s.projectKey, Issuer: s.alice, Denom: a, Open: true, // always true unless specified @@ -142,7 +136,7 @@ func (s *bridgeReceiveSuite) ACreditBatchWithDenomAndIssuerAlice(a string) { seq := s.getBatchSequence(a) err = s.k.stateStore.BatchSequenceTable().Insert(s.ctx, &api.BatchSequence{ - ProjectKey: project.Key, + ProjectKey: s.projectKey, NextSequence: seq + 1, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project.go b/x/ecocredit/base/keeper/msg_create_unregistered_project.go index 222f835b70..841ec37eb1 100644 --- a/x/ecocredit/base/keeper/msg_create_unregistered_project.go +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project.go @@ -27,9 +27,6 @@ func (k Keeper) CreateUnregisteredProject(ctx context.Context, msg *types.MsgCre project.Admin = admin project.Jurisdiction = msg.Jurisdiction project.Metadata = msg.Metadata - if msg.ReferenceId != "" { - panic("reject reference ID") - } if err = k.stateStore.ProjectTable().Save(ctx, project); err != nil { return nil, err diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go index 2a6cae7db7..b9436da8ee 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go @@ -15,7 +15,6 @@ import ( api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/types/v2/testutil" - "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) @@ -83,13 +82,8 @@ func (s *mintBatchCredits) AProjectWithId(a string) { } func (s *mintBatchCredits) ACreditBatchWithDenomAndIssuerAlice(a string) { - projectID := base.GetProjectIDFromBatchDenom(a) - - project, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projectID) - require.NoError(s.t, err) - bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ - ProjectKey: project.Key, + ProjectKey: s.projectKey, Issuer: s.alice, Denom: a, Open: true, // always true unless specified diff --git a/x/ecocredit/base/keeper/msg_seal_batch_test.go b/x/ecocredit/base/keeper/msg_seal_batch_test.go index 33153c1bb9..77608c20c2 100644 --- a/x/ecocredit/base/keeper/msg_seal_batch_test.go +++ b/x/ecocredit/base/keeper/msg_seal_batch_test.go @@ -12,7 +12,6 @@ import ( api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/types/v2/testutil" - "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) @@ -24,6 +23,7 @@ type sealBatch struct { classKey uint64 res *types.MsgSealBatchResponse err error + projectKey uint64 } func TestSealBatch(t *testing.T) { @@ -63,20 +63,16 @@ func (s *sealBatch) ACreditClassWithIdAndIssuerAlice(a string) { } func (s *sealBatch) AProjectWithId(a string) { - err := s.k.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + var err error + s.projectKey, err = s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: a, }) require.NoError(s.t, err) } func (s *sealBatch) ACreditBatchWithDenomAndIssuerAlice(a string) { - projectID := base.GetProjectIDFromBatchDenom(a) - - project, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projectID) - require.NoError(s.t, err) - bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ - ProjectKey: project.Key, + ProjectKey: s.projectKey, Issuer: s.alice, Denom: a, Open: true, diff --git a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go index aab1a01bf7..8f8369b6a9 100644 --- a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go +++ b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go @@ -16,7 +16,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" - "github.com/regen-network/regen-ledger/x/ecocredit/v3/base" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) @@ -76,13 +75,8 @@ func (s *updateBatchMetadata) AProjectWithId(a string) { } func (s *updateBatchMetadata) ACreditBatchWithBatchDenomAndIssuerAlice(a string) { - projectID := base.GetProjectIDFromBatchDenom(a) - - project, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projectID) - require.NoError(s.t, err) - - _, err = s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ - ProjectKey: project.Key, + _, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ + ProjectKey: s.projectKey, Issuer: s.alice, Denom: a, Open: true, // true unless specified @@ -93,16 +87,11 @@ func (s *updateBatchMetadata) ACreditBatchWithBatchDenomAndIssuerAlice(a string) } func (s *updateBatchMetadata) ACreditBatchWithBatchDenomIssuerAliceAndOpen(a, b string) { - projectID := base.GetProjectIDFromBatchDenom(a) - - project, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projectID) - require.NoError(s.t, err) - open, err := strconv.ParseBool(b) require.NoError(s.t, err) _, err = s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ - ProjectKey: project.Key, + ProjectKey: s.projectKey, Issuer: s.alice, Denom: a, Open: open, diff --git a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature index 59b0530d67..7de3233252 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_unregistered_project.feature @@ -47,18 +47,3 @@ Feature: MsgCreateUnregisteredProject | a | | | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | - - Rule: reference is optional and at most 32 characters - Scenario Outline: validate reference - Given admin "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" - And jurisdiction "US" - And reference "" - When the message is validated - Then expect error contains "" - - Examples: - | reference | error | - | | | - | a | | - | This is a string with 32 chars.. | | - | This is a string with 33 chars..! | reference | \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/msg_create_unregistered_project.go b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go index f2fa0d4626..b7c9704ad8 100644 --- a/x/ecocredit/base/types/v1/msg_create_unregistered_project.go +++ b/x/ecocredit/base/types/v1/msg_create_unregistered_project.go @@ -36,10 +36,6 @@ func (m *MsgCreateUnregisteredProject) ValidateBasic() error { return ecocredit.ErrMaxLimit.Wrapf("metadata: max length %d", base.MaxMetadataLength) } - if m.ReferenceId != "" && len(m.ReferenceId) > MaxReferenceIDLength { - return ecocredit.ErrMaxLimit.Wrapf("reference id: max length %d", MaxReferenceIDLength) - } - return nil } diff --git a/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go b/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go index 136d287c28..3fbd1c9ba9 100644 --- a/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go +++ b/x/ecocredit/base/types/v1/msg_create_unregistered_project_test.go @@ -33,10 +33,6 @@ func (s *msgCreateUnregisteredProject) Metadata(a string) { s.msg.Metadata = a } -func (s *msgCreateUnregisteredProject) Reference(a string) { - s.msg.ReferenceId = a -} - func (s *msgCreateUnregisteredProject) TheMessageIsValidated() { s.err = s.msg.ValidateBasic() } diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index 879b384be1..db56703112 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -437,15 +437,12 @@ type MsgCreateUnregisteredProject struct { // sub-national-code and postal-code are optional and can be added for // increased precision. Jurisdiction string `protobuf:"bytes,3,opt,name=jurisdiction,proto3" json:"jurisdiction,omitempty"` - // reference_id is any arbitrary string used to reference the project with a - // maximum length of 32 characters. - ReferenceId string `protobuf:"bytes,4,opt,name=reference_id,json=referenceId,proto3" json:"reference_id,omitempty"` // fee is the project creation fee. An equal fee is required if the project // creation fee parameter is set. The provided fee can be greater than the // parameter, but only the amount in the parameter will be charged. // // Since Revision 3 - Fee *types.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` + Fee *types.Coin `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` } func (m *MsgCreateUnregisteredProject) Reset() { *m = MsgCreateUnregisteredProject{} } @@ -502,13 +499,6 @@ func (m *MsgCreateUnregisteredProject) GetJurisdiction() string { return "" } -func (m *MsgCreateUnregisteredProject) GetReferenceId() string { - if m != nil { - return m.ReferenceId - } - return "" -} - func (m *MsgCreateUnregisteredProject) GetFee() *types.Coin { if m != nil { return m.Fee @@ -3499,145 +3489,144 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/tx.proto", fileDescriptor_2b8ae49f50a3ddbd) } var fileDescriptor_2b8ae49f50a3ddbd = []byte{ - // 2193 bytes of a gzipped FileDescriptorProto + // 2191 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, - 0x15, 0x5f, 0x4a, 0xb2, 0x2d, 0x3d, 0x39, 0x4e, 0xc2, 0x64, 0x1d, 0x85, 0x8e, 0x65, 0x47, 0x49, - 0x36, 0xce, 0x9f, 0x95, 0x6a, 0x6f, 0xdb, 0x34, 0x29, 0x8a, 0xd4, 0xf6, 0x6e, 0x50, 0x2f, 0xa0, + 0x15, 0x0f, 0x25, 0xd9, 0x96, 0x9e, 0x1c, 0x27, 0x61, 0xb2, 0x8e, 0x42, 0xc7, 0xb2, 0xa3, 0x24, + 0x1b, 0x27, 0x9b, 0x95, 0x6a, 0x6f, 0xdb, 0x34, 0x29, 0x8a, 0xd4, 0xf6, 0x6e, 0x50, 0x2f, 0xa0, 0xdd, 0x85, 0x92, 0x45, 0xd1, 0x45, 0x0b, 0x81, 0x22, 0x27, 0x34, 0x53, 0x89, 0x14, 0xc8, 0x91, - 0xe5, 0xa0, 0x45, 0x81, 0x14, 0x05, 0x7a, 0xdd, 0x5b, 0x81, 0xa2, 0x87, 0x7e, 0x84, 0x7e, 0x87, - 0x5e, 0xda, 0x5b, 0x2e, 0x45, 0x7b, 0x4b, 0x91, 0xb4, 0xe8, 0x37, 0xe8, 0xb9, 0xe0, 0xcc, 0x70, - 0x34, 0x43, 0x71, 0x48, 0x6a, 0xd3, 0x5c, 0x0c, 0xce, 0xcc, 0x9b, 0xf7, 0x7e, 0xef, 0xcd, 0x9b, - 0xf7, 0x67, 0x2c, 0xd8, 0x08, 0x90, 0x83, 0xbc, 0x0e, 0xb2, 0x7c, 0x2b, 0x40, 0xb6, 0x8b, 0x3b, - 0x27, 0xbb, 0x1d, 0x7c, 0xda, 0x1e, 0x07, 0x3e, 0xf6, 0x75, 0x9d, 0x2c, 0xb6, 0xf9, 0x62, 0xfb, - 0x64, 0xd7, 0x68, 0x5a, 0x7e, 0x38, 0xf2, 0xc3, 0xce, 0xc0, 0x0c, 0x51, 0xe7, 0x64, 0x77, 0x80, - 0xb0, 0xb9, 0xdb, 0xb1, 0x7c, 0xd7, 0xa3, 0x7b, 0x8c, 0x4b, 0x6c, 0x7d, 0x14, 0x3a, 0x11, 0xaf, - 0x51, 0xe8, 0xb0, 0x85, 0x8b, 0x8e, 0xef, 0xf8, 0xe4, 0xb3, 0x13, 0x7d, 0xb1, 0xd9, 0x2d, 0xc7, - 0xf7, 0x9d, 0x21, 0xea, 0x90, 0xd1, 0x60, 0xf2, 0xb4, 0x83, 0xdd, 0x11, 0x0a, 0xb1, 0x39, 0x1a, - 0x33, 0x82, 0x66, 0x0a, 0xc0, 0x10, 0x9b, 0x18, 0x65, 0xac, 0xe3, 0xe7, 0x63, 0x14, 0xd2, 0xf5, - 0xd6, 0x0b, 0x0d, 0xce, 0x75, 0x43, 0x67, 0xdf, 0xb6, 0x0f, 0xc9, 0xfa, 0x93, 0xe7, 0x63, 0xa4, - 0x5f, 0x81, 0x9a, 0x39, 0xc1, 0xc7, 0x7e, 0xe0, 0xe2, 0xe7, 0x0d, 0x6d, 0x5b, 0xdb, 0xa9, 0xf5, - 0x66, 0x13, 0xfa, 0x43, 0xa8, 0x53, 0x5e, 0xfd, 0x88, 0x51, 0xa3, 0xb4, 0xad, 0xed, 0xd4, 0xf7, - 0x9a, 0xed, 0x79, 0x63, 0xb4, 0x67, 0x2c, 0x7b, 0x60, 0xf1, 0xef, 0x07, 0x6b, 0xbf, 0xfe, 0xcf, - 0x9f, 0x6e, 0xcf, 0x18, 0xb6, 0x0c, 0x68, 0x24, 0x21, 0xf4, 0x50, 0x38, 0xf6, 0xbd, 0x10, 0xb5, - 0xfe, 0xac, 0xc1, 0x5a, 0x37, 0x74, 0x0e, 0x03, 0x64, 0x62, 0x74, 0x38, 0x34, 0xc3, 0x50, 0xbf, - 0x08, 0x4b, 0xa6, 0x3d, 0x72, 0x3d, 0x86, 0x8c, 0x0e, 0xf4, 0x06, 0xac, 0xb8, 0x61, 0x38, 0x41, - 0x41, 0xd8, 0x28, 0x6d, 0x97, 0x77, 0x6a, 0xbd, 0x78, 0xa8, 0x1b, 0x50, 0x1d, 0x21, 0x6c, 0xda, - 0x26, 0x36, 0x1b, 0x65, 0xb2, 0x85, 0x8f, 0xf5, 0xbb, 0xa0, 0x0b, 0xba, 0xf4, 0xcd, 0xc1, 0x20, - 0x40, 0x27, 0x8d, 0x0a, 0xa1, 0x3a, 0x37, 0x83, 0xbc, 0x4f, 0xe6, 0xf5, 0x3b, 0x50, 0x7e, 0x8a, - 0x50, 0x63, 0x89, 0x68, 0x7c, 0xb9, 0x4d, 0x8f, 0xb2, 0x1d, 0x1d, 0x75, 0x9b, 0x1d, 0x75, 0xfb, - 0xd0, 0x77, 0xbd, 0x5e, 0x44, 0xf5, 0x00, 0x22, 0x2d, 0x29, 0xb8, 0xd6, 0x47, 0xb0, 0x2e, 0x2b, - 0x11, 0xeb, 0xa7, 0x5f, 0x86, 0xaa, 0x15, 0x4d, 0xf4, 0x5d, 0x9b, 0xe9, 0xb3, 0x42, 0xc6, 0x47, - 0x76, 0xeb, 0x15, 0x3d, 0x1a, 0xba, 0xeb, 0x8b, 0xc0, 0x7f, 0x86, 0x2c, 0xac, 0x50, 0x5e, 0xe4, - 0x52, 0x92, 0xb8, 0x64, 0x6a, 0xdf, 0x82, 0xd5, 0x67, 0x93, 0xc0, 0x0d, 0x6d, 0xd7, 0xc2, 0xae, - 0xef, 0x31, 0xbd, 0xa5, 0x39, 0xfd, 0x2a, 0xac, 0x06, 0xe8, 0x29, 0x0a, 0x90, 0x67, 0xa1, 0x88, - 0xfd, 0x12, 0xa1, 0xa9, 0xf3, 0xb9, 0x23, 0x3b, 0x36, 0xcb, 0xf2, 0xc2, 0x66, 0xb9, 0x4f, 0x0e, - 0x5e, 0x52, 0x90, 0x1b, 0x66, 0x13, 0x60, 0x4c, 0xa7, 0x66, 0xa6, 0xa9, 0xb1, 0x99, 0x23, 0xbb, - 0xf5, 0x52, 0x83, 0x2b, 0x7c, 0xef, 0x97, 0x5e, 0x80, 0x1c, 0x37, 0xc4, 0x28, 0x40, 0x76, 0xb6, - 0xa1, 0x44, 0x6b, 0x94, 0x72, 0xac, 0x51, 0x2e, 0x60, 0x8d, 0x8a, 0xd2, 0x1a, 0x8b, 0x3b, 0xc9, - 0x27, 0x70, 0x3d, 0x4b, 0xa3, 0xa2, 0x96, 0xf9, 0xab, 0x68, 0x99, 0xcf, 0x83, 0x2f, 0xc7, 0xb6, - 0x89, 0xd1, 0xfe, 0x78, 0x3c, 0x74, 0x2d, 0x93, 0xe8, 0x70, 0x0d, 0xce, 0xc4, 0xfb, 0x45, 0x0b, - 0xad, 0xb2, 0xc9, 0x7d, 0x62, 0x28, 0x59, 0x48, 0x29, 0x21, 0x44, 0x72, 0xb8, 0xb2, 0xda, 0xe1, - 0x2a, 0x09, 0x13, 0x1b, 0x50, 0x9d, 0xba, 0xf8, 0xd8, 0x0e, 0xcc, 0x29, 0x31, 0x50, 0xb5, 0xc7, - 0xc7, 0x0f, 0xf4, 0xc8, 0x14, 0x32, 0xb2, 0xd6, 0x07, 0x82, 0x49, 0x52, 0x54, 0xe1, 0x51, 0xe2, - 0x8d, 0x06, 0x46, 0x37, 0x74, 0x28, 0x01, 0xb3, 0xd7, 0x27, 0x5e, 0xe0, 0x0f, 0x87, 0x23, 0xe4, - 0x61, 0x7d, 0x1d, 0x96, 0x69, 0x30, 0x60, 0xaa, 0xb2, 0xd1, 0x5b, 0x28, 0xf9, 0x29, 0x80, 0x87, - 0xa6, 0xfd, 0x28, 0xd2, 0x4e, 0x42, 0xa2, 0xe6, 0xda, 0xde, 0x9d, 0xb4, 0x10, 0x38, 0x07, 0xe6, - 0x31, 0xd9, 0xd2, 0xab, 0x79, 0x68, 0x4a, 0x3f, 0x25, 0x83, 0x2d, 0xc9, 0x06, 0x7b, 0x50, 0x8f, - 0x8c, 0xc2, 0xe0, 0xb6, 0xae, 0x43, 0x4b, 0xad, 0x24, 0xb7, 0xc5, 0xef, 0xca, 0x42, 0xc4, 0x3c, - 0x30, 0xb1, 0x75, 0xfc, 0x4d, 0xf5, 0xff, 0x01, 0x54, 0x23, 0x42, 0xd3, 0xb3, 0x50, 0xa3, 0xbc, - 0x5d, 0xde, 0xa9, 0xef, 0x5d, 0x4d, 0x53, 0x91, 0xc8, 0x38, 0x62, 0x84, 0x3d, 0xbe, 0x25, 0xd3, - 0x11, 0x1e, 0x02, 0x84, 0xd8, 0x0c, 0x70, 0x3f, 0xd2, 0x85, 0xdd, 0x15, 0xa3, 0x4d, 0x93, 0x5d, - 0x3b, 0x4e, 0x76, 0xed, 0x27, 0x71, 0xb2, 0x3b, 0xa8, 0x7c, 0xfd, 0x6a, 0x4b, 0xeb, 0xd5, 0xc8, - 0x9e, 0x8f, 0x4d, 0x8c, 0xf4, 0xef, 0x43, 0x15, 0x79, 0x36, 0xdd, 0xbe, 0x5c, 0x70, 0xfb, 0x0a, - 0xf2, 0x6c, 0xb2, 0x59, 0x87, 0x8a, 0x3f, 0x46, 0x5e, 0x63, 0x85, 0xb8, 0x20, 0xf9, 0xd6, 0xef, - 0x43, 0xcd, 0x0f, 0x5c, 0xc7, 0xf5, 0xfa, 0xf8, 0xb4, 0x51, 0x25, 0x1c, 0xaf, 0xa4, 0x69, 0xfb, - 0x39, 0x21, 0x7a, 0x72, 0xda, 0xab, 0xfa, 0xec, 0x4b, 0xf2, 0x93, 0x9a, 0xe4, 0x27, 0xf2, 0xf9, - 0xdd, 0x17, 0xb2, 0x00, 0x31, 0x1a, 0xbf, 0xd2, 0x5b, 0x50, 0x1f, 0x44, 0x13, 0x7d, 0x1b, 0x79, - 0xfe, 0x88, 0x9d, 0x12, 0x90, 0xa9, 0x8f, 0xa3, 0x99, 0xd6, 0xdf, 0x34, 0xb8, 0xd0, 0x0d, 0x9d, - 0xae, 0xeb, 0x61, 0xb2, 0x93, 0x66, 0xca, 0x50, 0x79, 0xb2, 0x09, 0x86, 0xa5, 0x24, 0xc3, 0xb7, - 0x3d, 0x5b, 0xc9, 0x5a, 0x95, 0x45, 0xac, 0x25, 0x9b, 0x64, 0x13, 0x36, 0x52, 0xd4, 0xe2, 0xbe, - 0xfc, 0x04, 0x56, 0xbb, 0xa1, 0xf3, 0x18, 0x99, 0xc3, 0x6c, 0x47, 0xce, 0x53, 0x57, 0x16, 0xba, - 0x0e, 0x17, 0x45, 0xae, 0x5c, 0xda, 0x7f, 0x4b, 0xb0, 0x42, 0x16, 0x3c, 0x3b, 0x92, 0x14, 0x22, - 0xcf, 0x9e, 0x49, 0xa2, 0xa3, 0xa8, 0x34, 0x0a, 0x90, 0xe5, 0x8e, 0x5d, 0xe4, 0xe1, 0xf8, 0xc6, - 0xf0, 0x09, 0x7d, 0x1f, 0x56, 0xa8, 0xee, 0x21, 0x33, 0xea, 0xcd, 0x34, 0xa3, 0x30, 0x19, 0xed, - 0xe8, 0x4f, 0xac, 0x71, 0xbc, 0xcf, 0xf8, 0x97, 0x06, 0x75, 0x61, 0x21, 0xd7, 0x35, 0xf4, 0x9b, - 0x70, 0x16, 0x07, 0xa6, 0x6d, 0x0e, 0x86, 0xa8, 0x6f, 0x8e, 0xfc, 0x09, 0xc7, 0xb5, 0x16, 0x4f, - 0xef, 0x93, 0x59, 0xfd, 0x06, 0xac, 0x05, 0x08, 0xbb, 0x01, 0xb2, 0x63, 0x3a, 0x1a, 0xd4, 0xce, - 0xb0, 0x59, 0x46, 0x76, 0x0f, 0x2e, 0xd1, 0x89, 0x28, 0xaa, 0xf4, 0x53, 0xea, 0x83, 0xf5, 0xd9, - 0xf2, 0xa7, 0x62, 0x6e, 0xbc, 0x03, 0xe7, 0x85, 0x8d, 0x01, 0x32, 0x43, 0xdf, 0x63, 0x01, 0xed, - 0xdc, 0x6c, 0xa1, 0x47, 0xe6, 0xd9, 0x81, 0x50, 0xa3, 0xb6, 0xce, 0xc3, 0x59, 0x66, 0x13, 0x7e, - 0x16, 0x7f, 0xd4, 0xa0, 0xd6, 0x0d, 0x9d, 0x1e, 0xd9, 0x17, 0x25, 0x73, 0x7f, 0xea, 0xf1, 0xc3, - 0xa0, 0x03, 0xfd, 0x3b, 0x33, 0x6b, 0x97, 0x88, 0xb5, 0x37, 0xd4, 0x45, 0xe8, 0xcc, 0xc2, 0x85, - 0xf2, 0xfc, 0x3a, 0x2c, 0x33, 0x05, 0xa8, 0xce, 0x6c, 0xc4, 0xf2, 0x35, 0x11, 0xdf, 0xba, 0x00, - 0xe7, 0x39, 0x42, 0x8e, 0xfb, 0x97, 0x04, 0xf6, 0x61, 0x74, 0x49, 0x86, 0xff, 0x5f, 0xd8, 0x33, - 0x48, 0xe5, 0x1c, 0x48, 0x54, 0x3a, 0x87, 0xe4, 0x93, 0xd0, 0x41, 0xd3, 0x06, 0x29, 0x3e, 0x69, - 0x86, 0x5f, 0xb8, 0x92, 0xdc, 0x80, 0x28, 0x69, 0xb1, 0x9a, 0x81, 0x95, 0x92, 0x1e, 0x9a, 0x12, - 0x6e, 0x52, 0x21, 0x43, 0x2f, 0x75, 0x52, 0x20, 0xc7, 0xf3, 0x07, 0x0d, 0xde, 0x97, 0xd7, 0x8f, - 0x58, 0xa5, 0xbe, 0x30, 0xa4, 0x2d, 0xa8, 0x9b, 0xb6, 0xdd, 0x8f, 0x0b, 0xff, 0x32, 0x29, 0xfc, - 0xc1, 0xb4, 0xed, 0x98, 0x23, 0xf1, 0xf9, 0x91, 0x7f, 0x82, 0x38, 0x4d, 0x85, 0xd0, 0x9c, 0xa1, - 0xb3, 0x8c, 0x4c, 0x42, 0xbf, 0x05, 0x9b, 0xa9, 0xe8, 0x38, 0xfe, 0x53, 0x12, 0xc6, 0x05, 0x82, - 0x6e, 0x9c, 0xd5, 0x16, 0xc6, 0x7f, 0x15, 0x56, 0x23, 0x93, 0x26, 0x0a, 0xf4, 0xba, 0x87, 0xa6, - 0x31, 0x4f, 0x09, 0xda, 0x36, 0x34, 0xd3, 0x25, 0x73, 0x6c, 0x13, 0xc1, 0xb4, 0x5f, 0x88, 0xf5, - 0x5c, 0x3a, 0xb4, 0x9c, 0x02, 0xa0, 0xf0, 0x89, 0x8b, 0x36, 0x13, 0xc5, 0x72, 0x5c, 0xbf, 0x22, - 0x95, 0xbe, 0x44, 0x90, 0x63, 0xb5, 0x1c, 0x68, 0x0b, 0x5a, 0xae, 0x05, 0xdb, 0x2a, 0xf9, 0x1c, - 0xe3, 0xef, 0x69, 0xc8, 0x39, 0x08, 0x5c, 0xdb, 0x51, 0x85, 0x9c, 0x75, 0x58, 0xc6, 0x66, 0xe0, - 0xa0, 0x38, 0xc6, 0xb2, 0x91, 0x9c, 0x16, 0xca, 0xc9, 0xb4, 0x20, 0xdc, 0xf8, 0x4a, 0xf1, 0x1b, - 0x2f, 0xdd, 0xec, 0x17, 0x9a, 0xe0, 0x75, 0x24, 0x6d, 0x71, 0xfb, 0x7d, 0xe3, 0x1a, 0xa0, 0x80, - 0x0d, 0xa5, 0xbc, 0x29, 0xba, 0x9f, 0x04, 0x81, 0x9b, 0x90, 0xc6, 0x1f, 0x6a, 0x41, 0x3e, 0xf9, - 0xaa, 0x42, 0xfa, 0xd8, 0x78, 0xd6, 0x42, 0xee, 0x09, 0x52, 0x82, 0xce, 0xb8, 0x2c, 0x8f, 0x60, - 0x85, 0x9d, 0x3f, 0x41, 0x5a, 0xdf, 0xbb, 0xab, 0x48, 0xae, 0x92, 0xa4, 0xb8, 0x02, 0xef, 0xc5, - 0x9b, 0xf5, 0x1f, 0xc2, 0x12, 0x31, 0x02, 0xab, 0x5b, 0x6e, 0x17, 0xe2, 0x42, 0x2b, 0x05, 0xba, - 0x51, 0xae, 0x7e, 0x96, 0x16, 0xa9, 0x7e, 0x8c, 0xbf, 0x6b, 0xb0, 0x44, 0x6b, 0x19, 0xc9, 0x65, - 0xb4, 0xa4, 0xcb, 0xac, 0xc3, 0xb2, 0x94, 0xcc, 0xd9, 0x28, 0x51, 0x38, 0x97, 0xdf, 0xae, 0x70, - 0xae, 0x2c, 0x5a, 0x38, 0x67, 0xb4, 0x2a, 0xc6, 0x10, 0x56, 0xe2, 0xde, 0x3b, 0xd9, 0x25, 0x6b, - 0xf3, 0x5d, 0x72, 0x32, 0x09, 0x97, 0x52, 0x92, 0x70, 0xc6, 0xd3, 0x85, 0xec, 0x98, 0x5f, 0x91, - 0xe8, 0x22, 0x1d, 0x58, 0xe1, 0xd2, 0x3a, 0x27, 0xd0, 0xb4, 0x7e, 0x0a, 0x3a, 0x7b, 0x9c, 0x8a, - 0xdc, 0x90, 0x14, 0xef, 0x7e, 0x90, 0xf3, 0x42, 0xd6, 0x20, 0xf7, 0x3d, 0x22, 0xe4, 0x3e, 0x4c, - 0x87, 0x73, 0x4f, 0x5f, 0x57, 0x48, 0xdf, 0x9a, 0xe0, 0xce, 0x6f, 0x0e, 0x22, 0x89, 0xf4, 0x31, - 0xc2, 0xe2, 0xea, 0xfe, 0x70, 0xe8, 0x4f, 0x87, 0x6e, 0x88, 0xf3, 0x41, 0x20, 0x2f, 0x2a, 0xff, - 0xa8, 0x52, 0xd5, 0x5e, 0x3c, 0x9c, 0x03, 0x71, 0x03, 0xae, 0x65, 0x88, 0xe1, 0x68, 0xfa, 0x24, - 0xb7, 0xf4, 0x48, 0xe2, 0x7c, 0x27, 0xc6, 0xa0, 0x59, 0x64, 0x5e, 0x00, 0x47, 0xe0, 0x91, 0xf0, - 0x22, 0xe4, 0xbf, 0x47, 0x28, 0xef, 0xb1, 0x92, 0xbd, 0xc6, 0x94, 0x0a, 0xbd, 0xc6, 0x24, 0x01, - 0x6d, 0xc0, 0xe5, 0x39, 0x79, 0x1c, 0xcc, 0x58, 0x28, 0xab, 0x98, 0xe3, 0xbf, 0x63, 0x38, 0x62, - 0x5d, 0x35, 0x93, 0xc8, 0x01, 0x39, 0xf1, 0x33, 0x2a, 0x39, 0x3a, 0x64, 0xd3, 0xfb, 0x70, 0x78, - 0x6c, 0xba, 0x5e, 0x0e, 0xaa, 0x4d, 0x00, 0x2b, 0x22, 0xeb, 0x7b, 0xe6, 0x08, 0xc5, 0x57, 0x80, - 0xcc, 0x7c, 0x66, 0x8e, 0xe6, 0x71, 0xd0, 0x64, 0x9a, 0x2a, 0x88, 0x83, 0x79, 0x46, 0xb0, 0xd2, - 0xb3, 0x7c, 0xd7, 0x78, 0xa8, 0xff, 0xaa, 0x64, 0x71, 0x48, 0x16, 0x69, 0x26, 0x0f, 0x26, 0x81, - 0xd7, 0x8b, 0x42, 0x75, 0x14, 0x62, 0x07, 0x93, 0x60, 0x96, 0xe2, 0xd9, 0x48, 0x19, 0x7a, 0x55, - 0x05, 0x38, 0x0d, 0x45, 0x74, 0x33, 0xeb, 0x2d, 0xb9, 0x90, 0x58, 0xf8, 0xde, 0xbf, 0x2f, 0x41, - 0xb9, 0x1b, 0x3a, 0xfa, 0xcf, 0xa0, 0x2e, 0xbe, 0x65, 0xb7, 0x14, 0xc9, 0x47, 0xa0, 0x31, 0x6e, - 0xe7, 0xd3, 0xf0, 0x68, 0x67, 0xc1, 0x19, 0xf9, 0xbd, 0xf8, 0x7a, 0xe6, 0x66, 0x46, 0x65, 0xdc, - 0x2d, 0x42, 0xc5, 0x85, 0xfc, 0x56, 0x83, 0xcb, 0xea, 0x87, 0xd7, 0x6f, 0x65, 0xf2, 0x4a, 0xd9, - 0x61, 0x7c, 0x6f, 0xd1, 0x1d, 0x29, 0x48, 0xd2, 0x1e, 0x3a, 0xb3, 0x91, 0xa4, 0xec, 0xc8, 0x41, - 0x92, 0xf1, 0x02, 0xa9, 0xbf, 0xd0, 0xe0, 0x92, 0xea, 0xf9, 0xb1, 0xad, 0xe0, 0xaa, 0xa0, 0x37, - 0xbe, 0xbb, 0x18, 0x3d, 0xc7, 0xc0, 0x7d, 0x8b, 0x16, 0x18, 0xd9, 0xbe, 0x45, 0x68, 0x72, 0x7c, - 0x4b, 0x7e, 0xa4, 0x1a, 0xc2, 0xb9, 0xb9, 0xf7, 0x27, 0xd5, 0xfb, 0x46, 0x92, 0xd0, 0xe8, 0x14, - 0x24, 0xe4, 0xd2, 0x7e, 0x0c, 0xb5, 0xd9, 0xbb, 0xcf, 0xb6, 0xf2, 0x19, 0x85, 0x51, 0x18, 0x3b, - 0x79, 0x14, 0x9c, 0xf1, 0x8f, 0xa0, 0x42, 0x5e, 0x78, 0x36, 0x32, 0x9e, 0x66, 0x8c, 0x6b, 0x19, - 0x8b, 0x9c, 0xd3, 0x67, 0xb0, 0xcc, 0xde, 0x27, 0x36, 0x15, 0xe4, 0x74, 0xd9, 0xb8, 0x91, 0xb9, - 0x2c, 0xf2, 0x63, 0x0f, 0x07, 0x2a, 0x7e, 0x74, 0x59, 0xc9, 0x4f, 0x6e, 0xfc, 0xa3, 0x03, 0x9b, - 0xeb, 0xfa, 0x6f, 0x66, 0xfa, 0xd6, 0x8c, 0x50, 0x79, 0x60, 0xaa, 0xb6, 0x5e, 0x0f, 0x40, 0x4f, - 0x69, 0xe9, 0x6f, 0xe5, 0xb3, 0x61, 0xa4, 0xc6, 0x6e, 0x61, 0x52, 0x2e, 0x73, 0x02, 0x17, 0xd2, - 0xfa, 0xf0, 0xdb, 0xf9, 0x9c, 0x62, 0x5a, 0x63, 0xaf, 0x38, 0xed, 0xbc, 0xaa, 0x52, 0x8b, 0x7d, - 0xab, 0xc8, 0xb5, 0xa5, 0xc6, 0xdd, 0x2d, 0x4c, 0xca, 0x65, 0xfe, 0x02, 0xde, 0x4f, 0x6f, 0x9f, - 0xef, 0x16, 0xe1, 0xc5, 0xd5, 0xfd, 0xf6, 0x22, 0xd4, 0xf3, 0x76, 0x96, 0x3b, 0xcf, 0x6c, 0x3b, - 0x4b, 0xb4, 0x39, 0x76, 0x4e, 0x6d, 0x27, 0xa3, 0x0b, 0xc1, 0xba, 0xf1, 0xcd, 0xcc, 0x26, 0x4d, - 0x79, 0x21, 0xe4, 0x4e, 0x34, 0xca, 0x8e, 0x72, 0x17, 0x7a, 0xbd, 0x48, 0xef, 0x67, 0x14, 0xea, - 0x33, 0x45, 0x21, 0xf2, 0x7f, 0xd3, 0x55, 0x42, 0x24, 0x2a, 0xa5, 0x90, 0xd4, 0x7f, 0x8b, 0xeb, - 0xbf, 0xd1, 0xa0, 0xa1, 0xec, 0x0b, 0x3a, 0xca, 0xe0, 0x95, 0xbe, 0xc1, 0xb8, 0xb7, 0xe0, 0x06, - 0x0e, 0xc3, 0x85, 0xb3, 0xc9, 0xce, 0xe8, 0x83, 0x0c, 0x3d, 0x04, 0x3a, 0xa3, 0x5d, 0x8c, 0x4e, - 0xbc, 0x73, 0x29, 0xad, 0xc7, 0x2d, 0x65, 0x64, 0x4d, 0x92, 0x2a, 0xef, 0x9c, 0xba, 0xdf, 0xd0, - 0x9f, 0xc2, 0x5a, 0xa2, 0xd9, 0xb8, 0x91, 0x1f, 0x2d, 0x1e, 0x21, 0x64, 0x7c, 0x58, 0x88, 0x6c, - 0x3e, 0x50, 0x0b, 0x7d, 0xc4, 0xcd, 0x22, 0x17, 0x35, 0x92, 0xd5, 0x29, 0x48, 0x28, 0x46, 0x92, - 0xf4, 0x26, 0x21, 0xc3, 0x05, 0xe7, 0xa9, 0x95, 0x91, 0x24, 0xb3, 0x2f, 0x20, 0x8e, 0xab, 0xec, - 0x0a, 0x3a, 0x99, 0x47, 0x94, 0x82, 0xe1, 0xde, 0x82, 0x1b, 0xc4, 0xea, 0x62, 0xd6, 0x08, 0xa8, - 0xaa, 0x0b, 0x4e, 0xa1, 0xac, 0x2e, 0xe6, 0xea, 0xfc, 0x83, 0x9f, 0xfc, 0xe5, 0x75, 0x53, 0x7b, - 0xf9, 0xba, 0xa9, 0xfd, 0xf3, 0x75, 0x53, 0xfb, 0xfa, 0x4d, 0xf3, 0xbd, 0x97, 0x6f, 0x9a, 0xef, - 0xfd, 0xe3, 0x4d, 0xf3, 0xbd, 0xaf, 0x1e, 0x3a, 0x2e, 0x3e, 0x9e, 0x0c, 0xda, 0x96, 0x3f, 0xea, - 0x10, 0x6e, 0x1f, 0x7a, 0x08, 0x4f, 0xfd, 0xe0, 0xe7, 0x6c, 0x34, 0x44, 0xb6, 0x83, 0x82, 0xce, - 0xa9, 0xf0, 0x5b, 0x1d, 0xf2, 0x23, 0x22, 0xf2, 0x6b, 0x9d, 0xce, 0xc9, 0xee, 0x60, 0x99, 0xbc, - 0xcf, 0x7c, 0xf4, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0xd0, 0xd0, 0xc0, 0x94, 0x24, 0x00, - 0x00, + 0xe5, 0xa0, 0x45, 0x81, 0x14, 0x05, 0x7a, 0xdd, 0x5b, 0x81, 0xa2, 0x87, 0x7e, 0x81, 0x02, 0xfd, + 0x0e, 0xbd, 0xb4, 0xb7, 0xbd, 0x14, 0xed, 0x2d, 0x45, 0xd2, 0xa2, 0xdf, 0xa0, 0xe7, 0x82, 0x33, + 0xc3, 0xd1, 0x0c, 0xc5, 0x21, 0xa9, 0xcd, 0xe6, 0x62, 0x70, 0x66, 0xde, 0xbc, 0xf7, 0x7b, 0x6f, + 0x66, 0xde, 0x3f, 0x0b, 0x36, 0x02, 0xe4, 0x20, 0xaf, 0x83, 0x2c, 0xdf, 0x0a, 0x90, 0xed, 0xe2, + 0xce, 0xc9, 0x6e, 0x07, 0x9f, 0xb6, 0xc7, 0x81, 0x8f, 0x7d, 0x5d, 0x27, 0x8b, 0x6d, 0xbe, 0xd8, + 0x3e, 0xd9, 0x35, 0x9a, 0x96, 0x1f, 0x8e, 0xfc, 0xb0, 0x33, 0x30, 0x43, 0xd4, 0x39, 0xd9, 0x1d, + 0x20, 0x6c, 0xee, 0x76, 0x2c, 0xdf, 0xf5, 0xe8, 0x1e, 0xe3, 0x32, 0x5b, 0x1f, 0x85, 0x4e, 0xc4, + 0x6b, 0x14, 0x3a, 0x6c, 0xe1, 0x92, 0xe3, 0x3b, 0x3e, 0xf9, 0xec, 0x44, 0x5f, 0x6c, 0x76, 0xcb, + 0xf1, 0x7d, 0x67, 0x88, 0x3a, 0x64, 0x34, 0x98, 0x3c, 0xed, 0x60, 0x77, 0x84, 0x42, 0x6c, 0x8e, + 0xc6, 0x8c, 0xa0, 0x99, 0x02, 0x30, 0xc4, 0x26, 0x46, 0x19, 0xeb, 0xf8, 0xf9, 0x18, 0x85, 0x74, + 0xbd, 0xf5, 0x42, 0x83, 0xf3, 0xdd, 0xd0, 0xd9, 0xb7, 0xed, 0x43, 0xb2, 0xfe, 0xe4, 0xf9, 0x18, + 0xe9, 0x57, 0xa1, 0x66, 0x4e, 0xf0, 0xb1, 0x1f, 0xb8, 0xf8, 0x79, 0x43, 0xdb, 0xd6, 0x76, 0x6a, + 0xbd, 0xd9, 0x84, 0xfe, 0x10, 0xea, 0x94, 0x57, 0x3f, 0x62, 0xd4, 0x28, 0x6d, 0x6b, 0x3b, 0xf5, + 0xbd, 0x66, 0x7b, 0xde, 0x18, 0xed, 0x19, 0xcb, 0x1e, 0x58, 0xfc, 0xfb, 0xc1, 0xda, 0xaf, 0xff, + 0xfb, 0xe7, 0x3b, 0x33, 0x86, 0x2d, 0x03, 0x1a, 0x49, 0x08, 0x3d, 0x14, 0x8e, 0x7d, 0x2f, 0x44, + 0xad, 0xbf, 0x68, 0xb0, 0xd6, 0x0d, 0x9d, 0xc3, 0x00, 0x99, 0x18, 0x1d, 0x0e, 0xcd, 0x30, 0xd4, + 0x2f, 0xc1, 0x92, 0x69, 0x8f, 0x5c, 0x8f, 0x21, 0xa3, 0x03, 0xbd, 0x01, 0x2b, 0x6e, 0x18, 0x4e, + 0x50, 0x10, 0x36, 0x4a, 0xdb, 0xe5, 0x9d, 0x5a, 0x2f, 0x1e, 0xea, 0x06, 0x54, 0x47, 0x08, 0x9b, + 0xb6, 0x89, 0xcd, 0x46, 0x99, 0x6c, 0xe1, 0x63, 0xfd, 0x2e, 0xe8, 0x82, 0x2e, 0x7d, 0x73, 0x30, + 0x08, 0xd0, 0x49, 0xa3, 0x42, 0xa8, 0xce, 0xcf, 0x20, 0xef, 0x93, 0x79, 0xfd, 0x3d, 0x28, 0x3f, + 0x45, 0xa8, 0xb1, 0x44, 0x34, 0xbe, 0xd2, 0xa6, 0x47, 0xd9, 0x8e, 0x8e, 0xba, 0xcd, 0x8e, 0xba, + 0x7d, 0xe8, 0xbb, 0x5e, 0x2f, 0xa2, 0x7a, 0x00, 0x91, 0x96, 0x14, 0x5c, 0xeb, 0x03, 0x58, 0x97, + 0x95, 0x88, 0xf5, 0xd3, 0xaf, 0x40, 0xd5, 0x8a, 0x26, 0xfa, 0xae, 0xcd, 0xf4, 0x59, 0x21, 0xe3, + 0x23, 0xbb, 0xf5, 0x92, 0x1e, 0x0d, 0xdd, 0xf5, 0x59, 0xe0, 0x3f, 0x43, 0x16, 0x56, 0x28, 0x2f, + 0x72, 0x29, 0x49, 0x5c, 0x32, 0xb5, 0x6f, 0xc1, 0xea, 0xb3, 0x49, 0xe0, 0x86, 0xb6, 0x6b, 0x61, + 0xd7, 0xf7, 0x98, 0xde, 0xd2, 0x9c, 0x7e, 0x0d, 0x56, 0x03, 0xf4, 0x14, 0x05, 0xc8, 0xb3, 0x50, + 0xc4, 0x7e, 0x89, 0xd0, 0xd4, 0xf9, 0xdc, 0x91, 0x1d, 0x9b, 0x65, 0x79, 0x61, 0xb3, 0xdc, 0x27, + 0x07, 0x2f, 0x29, 0xc8, 0x0d, 0xb3, 0x09, 0x30, 0xa6, 0x53, 0x33, 0xd3, 0xd4, 0xd8, 0xcc, 0x91, + 0xdd, 0xfa, 0x93, 0x06, 0x57, 0xf9, 0xde, 0xcf, 0xbd, 0x00, 0x39, 0x6e, 0x88, 0x51, 0x80, 0xec, + 0x6c, 0x43, 0x89, 0xd6, 0x28, 0xe5, 0x58, 0xa3, 0x9c, 0x62, 0x0d, 0xa6, 0x6a, 0x65, 0x61, 0x55, + 0x3f, 0x82, 0x1b, 0x59, 0x70, 0x8b, 0xaa, 0xfd, 0x37, 0x51, 0xed, 0x4f, 0x83, 0xcf, 0xc7, 0xb6, + 0x89, 0xd1, 0xfe, 0x78, 0x3c, 0x74, 0x2d, 0x93, 0x00, 0xbc, 0x0e, 0x67, 0xe3, 0xfd, 0xa2, 0xfa, + 0xab, 0x6c, 0x72, 0x9f, 0x58, 0x41, 0x16, 0x52, 0x4a, 0x08, 0x91, 0x6e, 0x53, 0x59, 0x7d, 0x9b, + 0x2a, 0x09, 0xfb, 0x19, 0x50, 0x9d, 0xba, 0xf8, 0xd8, 0x0e, 0xcc, 0x29, 0xb9, 0x25, 0xd5, 0x1e, + 0x1f, 0x3f, 0xd0, 0x23, 0x53, 0xc8, 0xc8, 0x5a, 0xef, 0x0a, 0x26, 0x49, 0x51, 0x85, 0xbb, 0x80, + 0xd7, 0x1a, 0x18, 0xdd, 0xd0, 0xa1, 0x04, 0xcc, 0x5e, 0x1f, 0x79, 0x81, 0x3f, 0x1c, 0x8e, 0x90, + 0x87, 0xf5, 0x75, 0x58, 0xa6, 0x2f, 0x9d, 0xa9, 0xca, 0x46, 0x6f, 0xa0, 0xe4, 0xc7, 0x00, 0x1e, + 0x9a, 0xf6, 0x23, 0x37, 0x3a, 0x09, 0x89, 0x9a, 0x6b, 0x7b, 0xef, 0xa5, 0xf9, 0xb7, 0x39, 0x30, + 0x8f, 0xc9, 0x96, 0x5e, 0xcd, 0x43, 0x53, 0xfa, 0x29, 0x19, 0x6c, 0x49, 0x36, 0xd8, 0x83, 0x7a, + 0x64, 0x14, 0x06, 0xb7, 0x75, 0x03, 0x5a, 0x6a, 0x25, 0xb9, 0x2d, 0x7e, 0x57, 0x16, 0xdc, 0xe1, + 0x81, 0x89, 0xad, 0xe3, 0xaf, 0xab, 0xff, 0x0f, 0xa0, 0x1a, 0x11, 0x9a, 0x9e, 0x85, 0x1a, 0xe5, + 0xed, 0xf2, 0x4e, 0x7d, 0xef, 0x5a, 0x9a, 0x8a, 0x44, 0xc6, 0x11, 0x23, 0xec, 0xf1, 0x2d, 0x99, + 0x17, 0xe1, 0x21, 0x40, 0x88, 0xcd, 0x00, 0xf7, 0x23, 0x5d, 0x98, 0xb7, 0x34, 0xda, 0x34, 0x92, + 0xb5, 0xe3, 0x48, 0xd6, 0x7e, 0x12, 0x47, 0xb2, 0x83, 0xca, 0x97, 0x2f, 0xb7, 0xb4, 0x5e, 0x8d, + 0xec, 0xf9, 0xd0, 0xc4, 0x48, 0xff, 0x3e, 0x54, 0x91, 0x67, 0xd3, 0xed, 0xcb, 0x05, 0xb7, 0xaf, + 0x20, 0xcf, 0x26, 0x9b, 0x75, 0xa8, 0xf8, 0x63, 0xe4, 0x35, 0x56, 0xc8, 0x15, 0x24, 0xdf, 0xfa, + 0x7d, 0xa8, 0xf9, 0x81, 0xeb, 0xb8, 0x5e, 0x1f, 0x9f, 0x36, 0xaa, 0x84, 0xe3, 0xd5, 0x34, 0x6d, + 0x3f, 0x25, 0x44, 0x4f, 0x4e, 0x7b, 0x55, 0x9f, 0x7d, 0x49, 0xf7, 0xa4, 0x26, 0xdd, 0x13, 0xf9, + 0xfc, 0xee, 0x0b, 0x2e, 0x9e, 0x18, 0x8d, 0x3f, 0xe9, 0x2d, 0xa8, 0x0f, 0xa2, 0x89, 0xbe, 0x8d, + 0x3c, 0x7f, 0xc4, 0x4e, 0x09, 0xc8, 0xd4, 0x87, 0xd1, 0x4c, 0xeb, 0xef, 0x1a, 0x5c, 0xec, 0x86, + 0x4e, 0xd7, 0xf5, 0x30, 0xd9, 0x49, 0xc3, 0x60, 0xa8, 0x3c, 0xd9, 0x04, 0xc3, 0x52, 0x92, 0xe1, + 0x9b, 0x9e, 0xad, 0x64, 0xad, 0xca, 0x22, 0xd6, 0x92, 0x4d, 0xb2, 0x09, 0x1b, 0x29, 0x6a, 0xf1, + 0xbb, 0xfc, 0x04, 0x56, 0xbb, 0xa1, 0xf3, 0x18, 0x99, 0xc3, 0xec, 0x8b, 0x9c, 0xa7, 0xae, 0x2c, + 0x74, 0x1d, 0x2e, 0x89, 0x5c, 0xb9, 0xb4, 0xff, 0x95, 0x60, 0x85, 0x2c, 0x78, 0x76, 0x24, 0x29, + 0x44, 0x9e, 0x3d, 0x93, 0x44, 0x47, 0x51, 0xde, 0x13, 0x20, 0xcb, 0x1d, 0xbb, 0xc8, 0xc3, 0xf1, + 0x8b, 0xe1, 0x13, 0xfa, 0x3e, 0xac, 0x50, 0xdd, 0x43, 0x66, 0xd4, 0x5b, 0x69, 0x46, 0x61, 0x32, + 0xda, 0xd1, 0x9f, 0x58, 0xe3, 0x78, 0x9f, 0xf1, 0x6f, 0x0d, 0xea, 0xc2, 0x42, 0xee, 0xd5, 0xd0, + 0x6f, 0xc1, 0x39, 0x1c, 0x98, 0xb6, 0x39, 0x18, 0xa2, 0xbe, 0x39, 0xf2, 0x27, 0x1c, 0xd7, 0x5a, + 0x3c, 0xbd, 0x4f, 0x66, 0xf5, 0x9b, 0xb0, 0x16, 0x20, 0xec, 0x06, 0xc8, 0x8e, 0xe9, 0xa8, 0x53, + 0x3b, 0xcb, 0x66, 0x19, 0xd9, 0x3d, 0xb8, 0x4c, 0x27, 0x22, 0xaf, 0xd2, 0x4f, 0x09, 0xfe, 0xeb, + 0xb3, 0xe5, 0x8f, 0xe5, 0xc0, 0x77, 0x41, 0xd8, 0x18, 0x20, 0x33, 0xf4, 0x3d, 0xe6, 0xd0, 0xce, + 0xcf, 0x16, 0x7a, 0x64, 0x9e, 0x1d, 0x08, 0x35, 0x6a, 0xeb, 0x02, 0x9c, 0x63, 0x36, 0xe1, 0x67, + 0xf1, 0x47, 0x0d, 0x6a, 0xdd, 0xd0, 0xe9, 0x91, 0x7d, 0x51, 0xa4, 0xf6, 0xa7, 0x1e, 0x3f, 0x0c, + 0x3a, 0xd0, 0xbf, 0x33, 0xb3, 0x76, 0x89, 0x58, 0x7b, 0x43, 0x9d, 0x61, 0xce, 0x2c, 0x5c, 0x28, + 0x88, 0xaf, 0xc3, 0x32, 0x53, 0x80, 0xea, 0xcc, 0x46, 0x2c, 0x5e, 0x13, 0xf1, 0xad, 0x8b, 0x70, + 0x81, 0x23, 0xe4, 0xb8, 0x7f, 0x49, 0x60, 0x1f, 0x46, 0x8f, 0x64, 0xf8, 0xcd, 0xc2, 0x9e, 0x41, + 0x2a, 0xe7, 0x40, 0xa2, 0xd2, 0x39, 0x24, 0x9f, 0xb8, 0x0e, 0x1a, 0x36, 0x48, 0x66, 0x49, 0x23, + 0xfc, 0xc2, 0x69, 0xe2, 0x06, 0x44, 0x41, 0x8b, 0xe5, 0x0c, 0x2c, 0x4f, 0xf4, 0xd0, 0x94, 0x70, + 0x93, 0x12, 0x19, 0xfa, 0xa8, 0x93, 0x02, 0x39, 0x9e, 0x3f, 0x68, 0xf0, 0x8e, 0xbc, 0x7e, 0xc4, + 0xd2, 0xf0, 0x85, 0x21, 0x6d, 0x41, 0xdd, 0xb4, 0xed, 0x7e, 0x9c, 0xd5, 0x97, 0x49, 0x56, 0x0f, + 0xa6, 0x6d, 0xc7, 0x1c, 0xc9, 0x9d, 0x1f, 0xf9, 0x27, 0x88, 0xd3, 0x54, 0x08, 0xcd, 0x59, 0x3a, + 0xcb, 0xc8, 0x24, 0xf4, 0x5b, 0xb0, 0x99, 0x8a, 0x8e, 0xe3, 0x3f, 0x25, 0x6e, 0x5c, 0x20, 0xe8, + 0xc6, 0x51, 0x6d, 0x61, 0xfc, 0xd7, 0x60, 0x35, 0x32, 0x69, 0x22, 0xfb, 0xae, 0x7b, 0x68, 0x1a, + 0xf3, 0x94, 0xa0, 0x6d, 0x43, 0x33, 0x5d, 0x32, 0xc7, 0x36, 0x11, 0x4c, 0xfb, 0x99, 0x98, 0xcf, + 0xa5, 0x43, 0xcb, 0x49, 0x00, 0x0a, 0x9f, 0xb8, 0x68, 0x33, 0x51, 0x2c, 0xc7, 0xf5, 0x2b, 0x92, + 0xc6, 0x4b, 0x04, 0x39, 0x56, 0xcb, 0x81, 0xb6, 0xa0, 0xe5, 0x5a, 0xb0, 0xad, 0x92, 0xcf, 0x31, + 0xfe, 0x9e, 0xba, 0x9c, 0x83, 0xc0, 0xb5, 0x1d, 0x95, 0xcb, 0x59, 0x87, 0x65, 0x6c, 0x06, 0x0e, + 0x8a, 0x7d, 0x2c, 0x1b, 0xc9, 0x61, 0xa1, 0x9c, 0x0c, 0x0b, 0xc2, 0x8b, 0xaf, 0x14, 0x7f, 0xf1, + 0xd2, 0xcb, 0x7e, 0xa1, 0x09, 0xb7, 0x8e, 0x84, 0x2d, 0x6e, 0xbf, 0xaf, 0x9d, 0x03, 0x14, 0xb0, + 0xa1, 0x14, 0x37, 0xc5, 0xeb, 0x27, 0x41, 0xe0, 0x26, 0xa4, 0xfe, 0x87, 0x5a, 0x90, 0x4f, 0xbe, + 0xac, 0x90, 0x22, 0x35, 0x9e, 0xb5, 0x90, 0x7b, 0x82, 0x94, 0xa0, 0x33, 0x1e, 0xcb, 0x23, 0x58, + 0x61, 0xe7, 0x4f, 0x90, 0xd6, 0xf7, 0xee, 0x2a, 0x82, 0xab, 0x24, 0x29, 0xce, 0xc0, 0x7b, 0xf1, + 0x66, 0xfd, 0x87, 0xb0, 0x44, 0x8c, 0xc0, 0xf2, 0x96, 0x3b, 0x85, 0xb8, 0xd0, 0x4c, 0x81, 0x6e, + 0x94, 0xb3, 0x9f, 0xa5, 0x45, 0xb2, 0x1f, 0xe3, 0x1f, 0x1a, 0x2c, 0xd1, 0x5c, 0x46, 0xba, 0x32, + 0x5a, 0xf2, 0xca, 0xac, 0xc3, 0xb2, 0x14, 0xcc, 0xd9, 0x28, 0x91, 0x38, 0x97, 0xdf, 0x2c, 0x71, + 0xae, 0x2c, 0x9a, 0x38, 0x67, 0x94, 0x2a, 0xc6, 0x10, 0x56, 0xe2, 0xc2, 0x3a, 0xd9, 0x10, 0xd0, + 0xe6, 0x1b, 0x02, 0xc9, 0x20, 0x5c, 0x4a, 0x09, 0xc2, 0x19, 0x7d, 0x09, 0xf9, 0x62, 0x7e, 0x41, + 0xbc, 0x8b, 0x74, 0x60, 0x85, 0x53, 0xeb, 0x1c, 0x47, 0xd3, 0xfa, 0x29, 0xe8, 0xac, 0xf3, 0x14, + 0x5d, 0x43, 0x92, 0xbc, 0xfb, 0x41, 0x4e, 0xfb, 0xab, 0x41, 0xde, 0x7b, 0x44, 0xc8, 0xef, 0x30, + 0x1d, 0xce, 0xf5, 0xb5, 0xae, 0x92, 0xba, 0x35, 0xc1, 0x9d, 0xbf, 0x1c, 0x44, 0x02, 0xe9, 0x63, + 0x84, 0xc5, 0xd5, 0xfd, 0xe1, 0xd0, 0x9f, 0x0e, 0xdd, 0x10, 0xe7, 0x83, 0x40, 0x5e, 0x94, 0xfe, + 0x51, 0xa5, 0xaa, 0xbd, 0x78, 0x38, 0x07, 0xe2, 0x26, 0x5c, 0xcf, 0x10, 0xc3, 0xd1, 0xf4, 0x49, + 0x6c, 0xe9, 0x91, 0xc0, 0xf9, 0x56, 0x8c, 0x41, 0xa3, 0xc8, 0xbc, 0x00, 0x8e, 0xc0, 0x23, 0xee, + 0x45, 0x88, 0x7f, 0x8f, 0x50, 0x5e, 0x27, 0x92, 0x75, 0x63, 0x4a, 0x85, 0xba, 0x31, 0x49, 0x40, + 0x1b, 0x70, 0x65, 0x4e, 0x1e, 0x07, 0x33, 0x16, 0xd2, 0x2a, 0x76, 0xf1, 0xdf, 0x32, 0x1c, 0x31, + 0xaf, 0x9a, 0x49, 0xe4, 0x80, 0x9c, 0xb8, 0x47, 0x4a, 0x8e, 0x0e, 0xd9, 0xf4, 0x3d, 0x1c, 0x1e, + 0x9b, 0xae, 0x97, 0x83, 0x6a, 0x13, 0xc0, 0x8a, 0xc8, 0xfa, 0x9e, 0x39, 0x42, 0xf1, 0x13, 0x20, + 0x33, 0x9f, 0x98, 0xa3, 0x79, 0x1c, 0x34, 0x98, 0xa6, 0x0a, 0xe2, 0x60, 0x9e, 0x11, 0xac, 0xf4, + 0x2c, 0xdf, 0x36, 0x1e, 0x7a, 0x7f, 0x55, 0xb2, 0x38, 0x24, 0x8b, 0x14, 0x93, 0x07, 0x93, 0xc0, + 0xeb, 0x45, 0xae, 0x3a, 0x72, 0xb1, 0x83, 0x49, 0x30, 0x0b, 0xf1, 0x6c, 0xa4, 0x74, 0xbd, 0xaa, + 0x04, 0x9c, 0xba, 0x22, 0xba, 0x99, 0xd5, 0x96, 0x5c, 0x48, 0x2c, 0x7c, 0xef, 0x3f, 0x97, 0xa1, + 0xdc, 0x0d, 0x1d, 0xfd, 0x67, 0x50, 0x17, 0x1b, 0xd5, 0x2d, 0x45, 0xf0, 0x11, 0x68, 0x8c, 0x3b, + 0xf9, 0x34, 0xdc, 0xdb, 0x59, 0x70, 0x56, 0x6e, 0x06, 0xdf, 0xc8, 0xdc, 0xcc, 0xa8, 0x8c, 0xbb, + 0x45, 0xa8, 0xb8, 0x90, 0xdf, 0x6a, 0x70, 0x45, 0xdd, 0x55, 0xfd, 0x56, 0x26, 0xaf, 0x94, 0x1d, + 0xc6, 0xf7, 0x16, 0xdd, 0x91, 0x82, 0x24, 0xad, 0xd1, 0x99, 0x8d, 0x24, 0x65, 0x47, 0x0e, 0x92, + 0x8c, 0x0e, 0xa4, 0xfe, 0x42, 0x83, 0xcb, 0xaa, 0xf6, 0x63, 0x5b, 0xc1, 0x55, 0x41, 0x6f, 0x7c, + 0x77, 0x31, 0x7a, 0x8e, 0x81, 0xdf, 0x2d, 0x9a, 0x60, 0x64, 0xdf, 0x2d, 0x42, 0x93, 0x73, 0xb7, + 0xe4, 0x26, 0xd5, 0x10, 0xce, 0xcf, 0xf5, 0x9f, 0x54, 0xfd, 0x8d, 0x24, 0xa1, 0xd1, 0x29, 0x48, + 0xc8, 0xa5, 0xfd, 0x18, 0x6a, 0xb3, 0xbe, 0xcf, 0xb6, 0xb2, 0x8d, 0xc2, 0x28, 0x8c, 0x9d, 0x3c, + 0x0a, 0xce, 0xf8, 0x47, 0x50, 0x21, 0x1d, 0x9e, 0x8d, 0x8c, 0xd6, 0x8c, 0x71, 0x3d, 0x63, 0x91, + 0x73, 0xfa, 0x04, 0x96, 0x59, 0x7f, 0x62, 0x53, 0x41, 0x4e, 0x97, 0x8d, 0x9b, 0x99, 0xcb, 0x22, + 0x3f, 0xd6, 0x38, 0x50, 0xf1, 0xa3, 0xcb, 0x4a, 0x7e, 0x72, 0xe1, 0x1f, 0x1d, 0xd8, 0x5c, 0xd5, + 0x7f, 0x2b, 0xf3, 0x6e, 0xcd, 0x08, 0x95, 0x07, 0xa6, 0x2a, 0xeb, 0xf5, 0x00, 0xf4, 0x94, 0x92, + 0xfe, 0x76, 0x3e, 0x1b, 0x46, 0x6a, 0xec, 0x16, 0x26, 0xe5, 0x32, 0x27, 0x70, 0x31, 0xad, 0x0e, + 0xbf, 0x93, 0xcf, 0x29, 0xa6, 0x35, 0xf6, 0x8a, 0xd3, 0xce, 0xab, 0x2a, 0x95, 0xd8, 0xb7, 0x8b, + 0x3c, 0x5b, 0x6a, 0xdc, 0xdd, 0xc2, 0xa4, 0x5c, 0xe6, 0x2f, 0xe0, 0x9d, 0xf4, 0xf2, 0xf9, 0x6e, + 0x11, 0x5e, 0x5c, 0xdd, 0x6f, 0x2f, 0x42, 0x3d, 0x6f, 0x67, 0xb9, 0xf2, 0xcc, 0xb6, 0xb3, 0x44, + 0x9b, 0x63, 0xe7, 0xd4, 0x72, 0x32, 0x7a, 0x10, 0xac, 0x1a, 0xdf, 0xcc, 0x2c, 0xd2, 0x94, 0x0f, + 0x42, 0xae, 0x44, 0xa3, 0xe8, 0x28, 0x57, 0xa1, 0x37, 0x8a, 0xd4, 0x7e, 0x46, 0xa1, 0x3a, 0x53, + 0x14, 0x22, 0xff, 0xab, 0x5c, 0x25, 0x44, 0xa2, 0x52, 0x0a, 0x49, 0xfd, 0x9f, 0xb7, 0xfe, 0x1b, + 0x0d, 0x1a, 0xca, 0xba, 0xa0, 0xa3, 0x74, 0x5e, 0xe9, 0x1b, 0x8c, 0x7b, 0x0b, 0x6e, 0xe0, 0x30, + 0x5c, 0x38, 0x97, 0xac, 0x8c, 0xde, 0xcd, 0xd0, 0x43, 0xa0, 0x33, 0xda, 0xc5, 0xe8, 0xc4, 0x37, + 0x97, 0x52, 0x7a, 0xdc, 0x56, 0x7a, 0xd6, 0x24, 0xa9, 0xf2, 0xcd, 0xa9, 0xeb, 0x0d, 0xfd, 0x29, + 0xac, 0x25, 0x8a, 0x8d, 0x9b, 0xf9, 0xde, 0xe2, 0x11, 0x42, 0xc6, 0xfb, 0x85, 0xc8, 0xe6, 0x1d, + 0xb5, 0x50, 0x47, 0xdc, 0x2a, 0xf2, 0x50, 0x23, 0x59, 0x9d, 0x82, 0x84, 0xa2, 0x27, 0x49, 0x2f, + 0x12, 0x32, 0xae, 0xe0, 0x3c, 0xb5, 0xd2, 0x93, 0x64, 0xd6, 0x05, 0xe4, 0xe2, 0x2a, 0xab, 0x82, + 0x4e, 0xe6, 0x11, 0xa5, 0x60, 0xb8, 0xb7, 0xe0, 0x06, 0x31, 0xbb, 0x98, 0x15, 0x02, 0xaa, 0xec, + 0x82, 0x53, 0x28, 0xb3, 0x8b, 0xb9, 0x3c, 0xff, 0xe0, 0x27, 0x7f, 0x7d, 0xd5, 0xd4, 0xbe, 0x7a, + 0xd5, 0xd4, 0xfe, 0xf5, 0xaa, 0xa9, 0x7d, 0xf9, 0xba, 0x79, 0xe6, 0xab, 0xd7, 0xcd, 0x33, 0xff, + 0x7c, 0xdd, 0x3c, 0xf3, 0xc5, 0x43, 0xc7, 0xc5, 0xc7, 0x93, 0x41, 0xdb, 0xf2, 0x47, 0x1d, 0xc2, + 0xed, 0x7d, 0x0f, 0xe1, 0xa9, 0x1f, 0xfc, 0x9c, 0x8d, 0x86, 0xc8, 0x76, 0x50, 0xd0, 0x39, 0x15, + 0x7e, 0x88, 0x43, 0x7e, 0x21, 0x44, 0x7e, 0x8a, 0xd3, 0x39, 0xd9, 0x1d, 0x2c, 0x93, 0xfe, 0xcc, + 0x07, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x31, 0x94, 0x34, 0x74, 0x71, 0x24, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5262,13 +5251,6 @@ func (m *MsgCreateUnregisteredProject) MarshalToSizedBuffer(dAtA []byte) (int, e i = encodeVarintTx(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x2a - } - if len(m.ReferenceId) > 0 { - i -= len(m.ReferenceId) - copy(dAtA[i:], m.ReferenceId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ReferenceId))) - i-- dAtA[i] = 0x22 } if len(m.Jurisdiction) > 0 { @@ -7415,10 +7397,6 @@ func (m *MsgCreateUnregisteredProject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ReferenceId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } if m.Fee != nil { l = m.Fee.Size() n += 1 + l + sovTx(uint64(l)) @@ -9218,38 +9196,6 @@ func (m *MsgCreateUnregisteredProject) Unmarshal(dAtA []byte) error { m.Jurisdiction = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReferenceId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ReferenceId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) } diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 14c373b24c..2b82c53c32 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -184,23 +184,6 @@ func GetClassIDFromBatchDenom(denom string) string { return s.String() } -// GetProjectIDFromBatchDenom returns the credit project ID in a batch denom. -func GetProjectIDFromBatchDenom(denom string) string { - var s strings.Builder - c := 0 - for _, r := range denom { - if r == '-' { - c++ - } - if r != '-' || c != 2 { - s.WriteRune(r) - continue - } - break - } - return s.String() -} - // GetCreditTypeAbbrevFromClassID returns the credit type abbreviation in a credit class id func GetCreditTypeAbbrevFromClassID(classID string) string { var s strings.Builder diff --git a/x/ecocredit/base/utils_test.go b/x/ecocredit/base/utils_test.go index becb50fd3c..03a2e68c71 100644 --- a/x/ecocredit/base/utils_test.go +++ b/x/ecocredit/base/utils_test.go @@ -14,7 +14,6 @@ func TestUtils(t *testing.T) { t.Run("TestFormatProjectID", rapid.MakeCheck(testFormatProjectID)) t.Run("TestFormatBatchDenom", rapid.MakeCheck(testFormatBatchDenom)) t.Run("TestGetClassIDFromBatchDenom", rapid.MakeCheck(testGetClassIDFromBatchDenom)) - t.Run("TestGetProjectIDFromBatchDenom", rapid.MakeCheck(testGetProjectIDFromBatchDenom)) t.Run("GetCreditTypeAbbrevFromClassID", rapid.MakeCheck(testGetCreditTypeAbbrevFromClassID)) } @@ -92,23 +91,6 @@ func testGetClassIDFromBatchDenom(t *rapid.T) { require.Equal(t, classID, result) } -func testGetProjectIDFromBatchDenom(t *rapid.T) { - creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") - classSeq := rapid.Uint64().Draw(t, "classSeq") - projectSeq := rapid.Uint64().Draw(t, "projectSeq") - batchSeq := rapid.Uint64().Draw(t, "batchSeq") - startDate := genTime.Draw(t, "startDate") - endDate := genTime.Draw(t, "endDate") - - classID := FormatClassID(creditTypeAbbrev, classSeq) - projectID := FormatProjectID(projectSeq) - denom, err := FormatBatchDenom(classID, projectID, batchSeq, startDate, endDate) - require.NoError(t, err) - - result := GetProjectIDFromBatchDenom(denom) - require.Equal(t, projectID, result) -} - func testGetCreditTypeAbbrevFromClassID(t *rapid.T) { creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") classSeq := rapid.Uint64().Draw(t, "classSeq") diff --git a/x/ecocredit/server/utils/utils_test.go b/x/ecocredit/server/utils/utils_test.go index 4a955b480c..3867631245 100644 --- a/x/ecocredit/server/utils/utils_test.go +++ b/x/ecocredit/server/utils/utils_test.go @@ -102,18 +102,20 @@ func TestUtils_GetCreditTypeFromBatchDenom(t *testing.T) { Precision: 6, } assert.NilError(t, s.stateStore.CreditTypeTable().Insert(s.ctx, creditType)) - assert.NilError(t, s.stateStore.ClassTable().Insert(s.ctx, &api.Class{ + clsKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: "C01", Admin: s.addr, Metadata: "foo", CreditTypeAbbrev: "C", - })) + }) + assert.NilError(t, err) batchDenom := "C01-000000-0000000-001" - ct, err := GetCreditTypeFromBatchDenom(s.ctx, s.stateStore, batchDenom) + batch := &api.Batch{ + Denom: batchDenom, + ClassKey: clsKey, + } + assert.NilError(t, s.stateStore.BatchTable().Insert(s.ctx, batch)) + ct, err := GetCreditTypeFromBatchDenom(s.ctx, s.stateStore, batch) assert.NilError(t, err) assert.DeepEqual(t, ct, creditType, cmpopts.IgnoreUnexported(api.CreditType{})) - - invalidDenom := "C02-0000000-0000000-001" - _, err = GetCreditTypeFromBatchDenom(s.ctx, s.stateStore, invalidDenom) - assert.ErrorContains(t, err, "could not get class with ID C02") } From ea8f17ba22adc1c5e153702fb34fe5a8daa16fda Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 18 Mar 2024 13:40:51 -0400 Subject: [PATCH 046/112] proto gen --- api/regen/ecocredit/v1/query.pulsar.go | 2094 +++++++++++++++++------- api/regen/ecocredit/v1/tx.pulsar.go | 7 +- 2 files changed, 1471 insertions(+), 630 deletions(-) diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index 30d5d73ff3..ed0c780004 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -28506,14 +28506,14 @@ func (x *fastReflection_QueryProjectEnrollmentRequest) ProtoMethods() *protoifac } var ( - md_QueryProjectEnrollmentResponse protoreflect.MessageDescriptor - fd_QueryProjectEnrollmentResponse_project_class protoreflect.FieldDescriptor + md_QueryProjectEnrollmentResponse protoreflect.MessageDescriptor + fd_QueryProjectEnrollmentResponse_enrollment protoreflect.FieldDescriptor ) func init() { file_regen_ecocredit_v1_query_proto_init() md_QueryProjectEnrollmentResponse = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentResponse") - fd_QueryProjectEnrollmentResponse_project_class = md_QueryProjectEnrollmentResponse.Fields().ByName("project_class") + fd_QueryProjectEnrollmentResponse_enrollment = md_QueryProjectEnrollmentResponse.Fields().ByName("enrollment") } var _ protoreflect.Message = (*fastReflection_QueryProjectEnrollmentResponse)(nil) @@ -28581,9 +28581,9 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Interface() protoreflect // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_QueryProjectEnrollmentResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.ProjectClass != nil { - value := protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) - if !f(fd_QueryProjectEnrollmentResponse_project_class, value) { + if x.Enrollment != nil { + value := protoreflect.ValueOfMessage(x.Enrollment.ProtoReflect()) + if !f(fd_QueryProjectEnrollmentResponse_enrollment, value) { return } } @@ -28602,8 +28602,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Range(f func(protoreflec // a repeated field is populated if it is non-empty. func (x *fastReflection_QueryProjectEnrollmentResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - return x.ProjectClass != nil + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + return x.Enrollment != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28620,8 +28620,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Has(fd protoreflect.Fiel // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - x.ProjectClass = nil + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + x.Enrollment = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28638,8 +28638,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Clear(fd protoreflect.Fi // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_QueryProjectEnrollmentResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - value := x.ProjectClass + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + value := x.Enrollment return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { @@ -28661,8 +28661,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Get(descriptor protorefl // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - x.ProjectClass = value.Message().Interface().(*ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + x.Enrollment = value.Message().Interface().(*EnrollmentInfo) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28683,11 +28683,11 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Set(fd protoreflect.Fiel // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_QueryProjectEnrollmentResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - if x.ProjectClass == nil { - x.ProjectClass = new(ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + if x.Enrollment == nil { + x.Enrollment = new(EnrollmentInfo) } - return protoreflect.ValueOfMessage(x.ProjectClass.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Enrollment.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentResponse")) @@ -28701,8 +28701,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) Mutable(fd protoreflect. // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_QueryProjectEnrollmentResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class": - m := new(ProjectEnrollment) + case "regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment": + m := new(EnrollmentInfo) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { @@ -28773,8 +28773,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa var n int var l int _ = l - if x.ProjectClass != nil { - l = options.Size(x.ProjectClass) + if x.Enrollment != nil { + l = options.Size(x.Enrollment) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -28806,8 +28806,8 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ProjectClass != nil { - encoded, err := options.Marshal(x.ProjectClass) + if x.Enrollment != nil { + encoded, err := options.Marshal(x.Enrollment) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -28871,7 +28871,7 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectClass", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Enrollment", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -28898,10 +28898,10 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.ProjectClass == nil { - x.ProjectClass = &ProjectEnrollment{} + if x.Enrollment == nil { + x.Enrollment = &EnrollmentInfo{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ProjectClass); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollment); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -28943,6 +28943,7 @@ func (x *fastReflection_QueryProjectEnrollmentResponse) ProtoMethods() *protoifa var ( md_QueryProjectEnrollmentsRequest protoreflect.MessageDescriptor fd_QueryProjectEnrollmentsRequest_project_id protoreflect.FieldDescriptor + fd_QueryProjectEnrollmentsRequest_class_id protoreflect.FieldDescriptor fd_QueryProjectEnrollmentsRequest_pagination protoreflect.FieldDescriptor ) @@ -28950,6 +28951,7 @@ func init() { file_regen_ecocredit_v1_query_proto_init() md_QueryProjectEnrollmentsRequest = File_regen_ecocredit_v1_query_proto.Messages().ByName("QueryProjectEnrollmentsRequest") fd_QueryProjectEnrollmentsRequest_project_id = md_QueryProjectEnrollmentsRequest.Fields().ByName("project_id") + fd_QueryProjectEnrollmentsRequest_class_id = md_QueryProjectEnrollmentsRequest.Fields().ByName("class_id") fd_QueryProjectEnrollmentsRequest_pagination = md_QueryProjectEnrollmentsRequest.Fields().ByName("pagination") } @@ -29024,6 +29026,12 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Range(f func(protoreflec return } } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_QueryProjectEnrollmentsRequest_class_id, value) { + return + } + } if x.Pagination != nil { value := protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) if !f(fd_QueryProjectEnrollmentsRequest_pagination, value) { @@ -29047,6 +29055,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Has(fd protoreflect.Fiel switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return x.ProjectId != "" + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + return x.ClassId != "" case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": return x.Pagination != nil default: @@ -29067,6 +29077,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Clear(fd protoreflect.Fi switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = "" + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + x.ClassId = "" case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = nil default: @@ -29088,6 +29100,9 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Get(descriptor protorefl case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": value := x.ProjectId return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": value := x.Pagination return protoreflect.ValueOfMessage(value.ProtoReflect()) @@ -29113,6 +29128,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Set(fd protoreflect.Fiel switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + x.ClassId = value.Interface().(string) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": x.Pagination = value.Message().Interface().(*v1beta1.PageRequest) default: @@ -29142,6 +29159,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) Mutable(fd protoreflect. return protoreflect.ValueOfMessage(x.Pagination.ProtoReflect()) case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.QueryProjectEnrollmentsRequest is not mutable")) + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.QueryProjectEnrollmentsRequest is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.QueryProjectEnrollmentsRequest")) @@ -29157,6 +29176,8 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) NewField(fd protoreflect switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.project_id": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.class_id": + return protoreflect.ValueOfString("") case "regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination": m := new(v1beta1.PageRequest) return protoreflect.ValueOfMessage(m.ProtoReflect()) @@ -29233,6 +29254,10 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.Pagination != nil { l = options.Size(x.Pagination) n += 1 + l + runtime.Sov(uint64(l)) @@ -29266,6 +29291,13 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + 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] = 0x1a + } if x.Pagination != nil { encoded, err := options.Marshal(x.Pagination) if err != nil { @@ -29368,6 +29400,38 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa } x.ProjectId = 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 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 Pagination", wireType) @@ -29442,7 +29506,7 @@ func (x *fastReflection_QueryProjectEnrollmentsRequest) ProtoMethods() *protoifa var _ protoreflect.List = (*_QueryProjectEnrollmentsResponse_1_list)(nil) type _QueryProjectEnrollmentsResponse_1_list struct { - list *[]*ProjectEnrollment + list *[]*EnrollmentInfo } func (x *_QueryProjectEnrollmentsResponse_1_list) Len() int { @@ -29458,18 +29522,18 @@ func (x *_QueryProjectEnrollmentsResponse_1_list) Get(i int) protoreflect.Value func (x *_QueryProjectEnrollmentsResponse_1_list) Set(i int, value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) + concreteValue := valueUnwrapped.Interface().(*EnrollmentInfo) (*x.list)[i] = concreteValue } func (x *_QueryProjectEnrollmentsResponse_1_list) Append(value protoreflect.Value) { valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*ProjectEnrollment) + concreteValue := valueUnwrapped.Interface().(*EnrollmentInfo) *x.list = append(*x.list, concreteValue) } func (x *_QueryProjectEnrollmentsResponse_1_list) AppendMutable() protoreflect.Value { - v := new(ProjectEnrollment) + v := new(EnrollmentInfo) *x.list = append(*x.list, v) return protoreflect.ValueOfMessage(v.ProtoReflect()) } @@ -29482,7 +29546,7 @@ func (x *_QueryProjectEnrollmentsResponse_1_list) Truncate(n int) { } func (x *_QueryProjectEnrollmentsResponse_1_list) NewElement() protoreflect.Value { - v := new(ProjectEnrollment) + v := new(EnrollmentInfo) return protoreflect.ValueOfMessage(v.ProtoReflect()) } @@ -29692,7 +29756,7 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) Mutable(fd protoreflect switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": if x.Enrollments == nil { - x.Enrollments = []*ProjectEnrollment{} + x.Enrollments = []*EnrollmentInfo{} } value := &_QueryProjectEnrollmentsResponse_1_list{list: &x.Enrollments} return protoreflect.ValueOfList(value) @@ -29715,7 +29779,7 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) Mutable(fd protoreflect func (x *fastReflection_QueryProjectEnrollmentsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments": - list := []*ProjectEnrollment{} + list := []*EnrollmentInfo{} return protoreflect.ValueOfList(&_QueryProjectEnrollmentsResponse_1_list{list: &list}) case "regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination": m := new(v1beta1.PageResponse) @@ -29897,21 +29961,687 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif 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: QueryProjectEnrollmentsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryProjectEnrollmentsResponse: 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 Enrollments", 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.Enrollments = append(x.Enrollments, &EnrollmentInfo{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollments[len(x.Enrollments)-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 Pagination", 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.Pagination == nil { + x.Pagination = &v1beta1.PageResponse{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); 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_EnrollmentInfo protoreflect.MessageDescriptor + fd_EnrollmentInfo_project_id protoreflect.FieldDescriptor + fd_EnrollmentInfo_class_id protoreflect.FieldDescriptor + fd_EnrollmentInfo_status protoreflect.FieldDescriptor + fd_EnrollmentInfo_application_metadata protoreflect.FieldDescriptor + fd_EnrollmentInfo_enrollment_metadata protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1_query_proto_init() + md_EnrollmentInfo = File_regen_ecocredit_v1_query_proto.Messages().ByName("EnrollmentInfo") + fd_EnrollmentInfo_project_id = md_EnrollmentInfo.Fields().ByName("project_id") + fd_EnrollmentInfo_class_id = md_EnrollmentInfo.Fields().ByName("class_id") + fd_EnrollmentInfo_status = md_EnrollmentInfo.Fields().ByName("status") + fd_EnrollmentInfo_application_metadata = md_EnrollmentInfo.Fields().ByName("application_metadata") + fd_EnrollmentInfo_enrollment_metadata = md_EnrollmentInfo.Fields().ByName("enrollment_metadata") +} + +var _ protoreflect.Message = (*fastReflection_EnrollmentInfo)(nil) + +type fastReflection_EnrollmentInfo EnrollmentInfo + +func (x *EnrollmentInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_EnrollmentInfo)(x) +} + +func (x *EnrollmentInfo) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[60] + 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_EnrollmentInfo_messageType fastReflection_EnrollmentInfo_messageType +var _ protoreflect.MessageType = fastReflection_EnrollmentInfo_messageType{} + +type fastReflection_EnrollmentInfo_messageType struct{} + +func (x fastReflection_EnrollmentInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_EnrollmentInfo)(nil) +} +func (x fastReflection_EnrollmentInfo_messageType) New() protoreflect.Message { + return new(fastReflection_EnrollmentInfo) +} +func (x fastReflection_EnrollmentInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_EnrollmentInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_EnrollmentInfo) Descriptor() protoreflect.MessageDescriptor { + return md_EnrollmentInfo +} + +// 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_EnrollmentInfo) Type() protoreflect.MessageType { + return _fastReflection_EnrollmentInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_EnrollmentInfo) New() protoreflect.Message { + return new(fastReflection_EnrollmentInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_EnrollmentInfo) Interface() protoreflect.ProtoMessage { + return (*EnrollmentInfo)(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_EnrollmentInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_EnrollmentInfo_project_id, value) { + return + } + } + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_EnrollmentInfo_class_id, value) { + return + } + } + if x.Status != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.Status)) + if !f(fd_EnrollmentInfo_status, value) { + return + } + } + if x.ApplicationMetadata != "" { + value := protoreflect.ValueOfString(x.ApplicationMetadata) + if !f(fd_EnrollmentInfo_application_metadata, value) { + return + } + } + if x.EnrollmentMetadata != "" { + value := protoreflect.ValueOfString(x.EnrollmentMetadata) + if !f(fd_EnrollmentInfo_enrollment_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_EnrollmentInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1.EnrollmentInfo.status": + return x.Status != 0 + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + return x.ApplicationMetadata != "" + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + return x.EnrollmentMetadata != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + x.ClassId = "" + case "regen.ecocredit.v1.EnrollmentInfo.status": + x.Status = 0 + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + x.ApplicationMetadata = "" + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + x.EnrollmentMetadata = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.status": + value := x.Status + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + value := x.ApplicationMetadata + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + value := x.EnrollmentMetadata + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.status": + x.Status = (ProjectEnrollmentStatus)(value.Enum()) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + x.ApplicationMetadata = value.Interface().(string) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + x.EnrollmentMetadata = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.status": + panic(fmt.Errorf("field status of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + panic(fmt.Errorf("field application_metadata of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + panic(fmt.Errorf("field enrollment_metadata of message regen.ecocredit.v1.EnrollmentInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1.EnrollmentInfo.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.status": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.v1.EnrollmentInfo.application_metadata": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1.EnrollmentInfo.enrollment_metadata": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1.EnrollmentInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1.EnrollmentInfo 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_EnrollmentInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1.EnrollmentInfo", 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_EnrollmentInfo) 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_EnrollmentInfo) 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_EnrollmentInfo) 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_EnrollmentInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*EnrollmentInfo) + 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)) + } + l = len(x.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Status != 0 { + n += 1 + runtime.Sov(uint64(x.Status)) + } + l = len(x.ApplicationMetadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.EnrollmentMetadata) + 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().(*EnrollmentInfo) + 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.EnrollmentMetadata) > 0 { + i -= len(x.EnrollmentMetadata) + copy(dAtA[i:], x.EnrollmentMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EnrollmentMetadata))) + i-- + dAtA[i] = 0x32 + } + if len(x.ApplicationMetadata) > 0 { + i -= len(x.ApplicationMetadata) + copy(dAtA[i:], x.ApplicationMetadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ApplicationMetadata))) + i-- + dAtA[i] = 0x2a + } + if x.Status != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Status)) + i-- + dAtA[i] = 0x20 + } + 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] = 0x12 + } + 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().(*EnrollmentInfo) + 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: EnrollmentInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: EnrollmentInfo: 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 != 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 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + x.Status = 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.Status |= ProjectEnrollmentStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Enrollments", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ApplicationMetadata", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -29921,31 +30651,29 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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.Enrollments = append(x.Enrollments, &ProjectEnrollment{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Enrollments[len(x.Enrollments)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.ApplicationMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EnrollmentMetadata", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -29955,27 +30683,23 @@ func (x *fastReflection_QueryProjectEnrollmentsResponse) ProtoMethods() *protoif } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength } - postIndex := iNdEx + msglen + 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 } - if x.Pagination == nil { - x.Pagination = &v1beta1.PageResponse{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Pagination); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } + x.EnrollmentMetadata = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -31967,8 +32691,9 @@ type ProjectInfo struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // admin is the admin of the project. Admin string `protobuf:"bytes,2,opt,name=admin,proto3" json:"admin,omitempty"` - // class_id is the unique identifier of the credit class within which the - // project was created. + // Deprecated: use ProjectEnrollment instead. + // + // Deprecated: Do not use. ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // jurisdiction is the jurisdiction of the project. Full documentation can be // found in MsgCreateProject.jurisdiction. @@ -32013,6 +32738,7 @@ func (x *ProjectInfo) GetAdmin() string { return "" } +// Deprecated: Do not use. func (x *ProjectInfo) GetClassId() string { if x != nil { return x.ClassId @@ -32580,7 +33306,7 @@ type QueryProjectEnrollmentResponse struct { unknownFields protoimpl.UnknownFields // project_class is the fetched project class relationship. - ProjectClass *ProjectEnrollment `protobuf:"bytes,1,opt,name=project_class,json=projectClass,proto3" json:"project_class,omitempty"` + Enrollment *EnrollmentInfo `protobuf:"bytes,1,opt,name=enrollment,proto3" json:"enrollment,omitempty"` } func (x *QueryProjectEnrollmentResponse) Reset() { @@ -32603,9 +33329,9 @@ func (*QueryProjectEnrollmentResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{57} } -func (x *QueryProjectEnrollmentResponse) GetProjectClass() *ProjectEnrollment { +func (x *QueryProjectEnrollmentResponse) GetEnrollment() *EnrollmentInfo { if x != nil { - return x.ProjectClass + return x.Enrollment } return nil } @@ -32618,8 +33344,12 @@ type QueryProjectEnrollmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // project_id is the unique identifier of the project to query. + // project_id is the unique identifier of the project to filter enrollments + // by. If not set, enrollments for all projects will be returned. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to filter enrollments + // by. If not set, enrollments for all credit classes will be returned. + ClassId string `protobuf:"bytes,3,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` // pagination defines an optional pagination for the request. Pagination *v1beta1.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -32651,6 +33381,13 @@ func (x *QueryProjectEnrollmentsRequest) GetProjectId() string { return "" } +func (x *QueryProjectEnrollmentsRequest) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + func (x *QueryProjectEnrollmentsRequest) GetPagination() *v1beta1.PageRequest { if x != nil { return x.Pagination @@ -32667,7 +33404,7 @@ type QueryProjectEnrollmentsResponse struct { unknownFields protoimpl.UnknownFields // enrollments are the fetched project credit class enrollments. - Enrollments []*ProjectEnrollment `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` + Enrollments []*EnrollmentInfo `protobuf:"bytes,1,rep,name=enrollments,proto3" json:"enrollments,omitempty"` // pagination defines the pagination in the response. Pagination *v1beta1.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -32692,7 +33429,7 @@ func (*QueryProjectEnrollmentsResponse) Descriptor() ([]byte, []int) { return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{59} } -func (x *QueryProjectEnrollmentsResponse) GetEnrollments() []*ProjectEnrollment { +func (x *QueryProjectEnrollmentsResponse) GetEnrollments() []*EnrollmentInfo { if x != nil { return x.Enrollments } @@ -32706,6 +33443,81 @@ func (x *QueryProjectEnrollmentsResponse) GetPagination() *v1beta1.PageResponse return nil } +// EnrollmentInfo is the human-readable project enrollment information. +type EnrollmentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the unique identifier of the project to query. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // class_id is the unique identifier of the credit class to query. + ClassId string `protobuf:"bytes,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // status is the status of the enrollment. + Status ProjectEnrollmentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=regen.ecocredit.v1.ProjectEnrollmentStatus" json:"status,omitempty"` + // application_metadata is any arbitrary metadata set by the project + // admin related to its application to the credit class. + ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` + // enrollment_metadata is any arbitrary metadata set by the credit class + // admin evaluating the project's application to the credit class. + EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` +} + +func (x *EnrollmentInfo) Reset() { + *x = EnrollmentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1_query_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnrollmentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnrollmentInfo) ProtoMessage() {} + +// Deprecated: Use EnrollmentInfo.ProtoReflect.Descriptor instead. +func (*EnrollmentInfo) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1_query_proto_rawDescGZIP(), []int{60} +} + +func (x *EnrollmentInfo) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *EnrollmentInfo) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *EnrollmentInfo) GetStatus() ProjectEnrollmentStatus { + if x != nil { + return x.Status + } + return ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED +} + +func (x *EnrollmentInfo) GetApplicationMetadata() string { + if x != nil { + return x.ApplicationMetadata + } + return "" +} + +func (x *EnrollmentInfo) GetEnrollmentMetadata() string { + if x != nil { + return x.EnrollmentMetadata + } + return "" +} + var File_regen_ecocredit_v1_query_proto protoreflect.FileDescriptor var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ @@ -33050,474 +33862,490 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x41, 0x62, 0x62, 0x72, 0x65, 0x76, 0x22, 0xb5, 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, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x19, 0x0a, - 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x75, 0x72, 0x69, - 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 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, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1d, 0x0a, + 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x75, 0x72, 0x69, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, + 0xbb, 0x02, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 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, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, + 0x61, 0x6e, 0x63, 0x65, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, 0x65, - 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, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x61, 0x6e, 0x63, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 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, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x73, 0x63, - 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x44, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x66, 0x65, - 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, 0x0a, 0x20, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 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, 0x22, 0x6c, 0x0a, - 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x46, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x69, 0x73, 0x73, + 0x75, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0xc6, 0x01, + 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 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, 0x27, 0x0a, + 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, + 0x0f, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x73, 0x63, 0x72, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x22, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x20, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, + 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x01, 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, 0x03, 0x66, 0x65, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x56, + 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xc1, 0x2a, 0x0a, 0x05, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x22, 0x64, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x0a, + 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x44, 0x0a, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x65, 0x6e, 0x72, 0x6f, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xf3, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 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, 0x43, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xc1, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, + 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x5a, + 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2c, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x28, 0x12, 0x26, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x24, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x42, 0x79, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, - 0x6e, 0x7d, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2d, - 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, - 0x12, 0xae, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x50, 0x5a, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x24, 0x2f, 0x72, 0x65, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, + 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x66, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x5a, 0x30, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, - 0x94, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, - 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, - 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x5a, - 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2d, 0x2f, + 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x5a, 0x2f, 0x12, 0x2d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x30, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0x87, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x57, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, - 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, - 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x5a, 0x2d, 0x12, - 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0x2e, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, - 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, 0x32, 0x12, 0x30, 0x2f, + 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x79, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2d, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0xb2, 0x01, 0x5a, 0x3d, 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, - 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x42, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, + 0x7b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0x2d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x7b, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x5a, 0x2b, 0x12, + 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, + 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, - 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x32, 0x12, 0x30, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, - 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x2f, 0x7b, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x61, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, + 0x62, 0x79, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x42, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, + 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, + 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, - 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x5a, 0x3d, + 0x12, 0x3b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x5a, 0x3c, 0x12, + 0x3a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0x33, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, + 0x12, 0x8f, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x28, 0x2e, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x7d, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, + 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x79, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x6b, 0x5a, 0x34, 0x12, 0x32, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x2f, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x62, 0x79, 0x2d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x7b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x7d, 0x12, 0xb2, 0x01, 0x0a, + 0x0b, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x02, - 0x01, 0x12, 0xd0, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, + 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, + 0x1e, 0x12, 0x1c, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x63, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x2e, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x5a, 0x32, 0x12, 0x30, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x75, 0x70, 0x70, 0x6c, 0x79, 0x2f, 0x7b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, + 0x6f, 0x6d, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x06, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x02, 0x01, 0x12, 0xd0, 0x01, 0x0a, 0x0a, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x5a, 0x31, 0x12, 0x2f, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x2e, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x2f, + 0x7b, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xbb, + 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, + 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, + 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0xb7, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x72, 0x65, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, - 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, - 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x46, 0x65, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, + 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, - 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, - 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, - 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, - 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, + 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x46, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, + 0x12, 0x1d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2d, 0x66, 0x65, 0x65, 0x12, + 0xb3, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, + 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, - 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, + 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, + 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, + 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, + 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -33532,7 +34360,7 @@ func file_regen_ecocredit_v1_query_proto_rawDescGZIP() []byte { return file_regen_ecocredit_v1_query_proto_rawDescData } -var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_regen_ecocredit_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryClassesRequest)(nil), // 0: regen.ecocredit.v1.QueryClassesRequest (*QueryClassesResponse)(nil), // 1: regen.ecocredit.v1.QueryClassesResponse @@ -33594,134 +34422,136 @@ var file_regen_ecocredit_v1_query_proto_goTypes = []interface{}{ (*QueryProjectEnrollmentResponse)(nil), // 57: regen.ecocredit.v1.QueryProjectEnrollmentResponse (*QueryProjectEnrollmentsRequest)(nil), // 58: regen.ecocredit.v1.QueryProjectEnrollmentsRequest (*QueryProjectEnrollmentsResponse)(nil), // 59: regen.ecocredit.v1.QueryProjectEnrollmentsResponse - (*v1beta1.PageRequest)(nil), // 60: cosmos.base.query.v1beta1.PageRequest - (*v1beta1.PageResponse)(nil), // 61: cosmos.base.query.v1beta1.PageResponse - (*CreditType)(nil), // 62: regen.ecocredit.v1.CreditType - (*Params)(nil), // 63: regen.ecocredit.v1.Params - (*timestamppb.Timestamp)(nil), // 64: google.protobuf.Timestamp - (*v1beta11.Coin)(nil), // 65: cosmos.base.v1beta1.Coin - (*ProjectEnrollment)(nil), // 66: regen.ecocredit.v1.ProjectEnrollment + (*EnrollmentInfo)(nil), // 60: regen.ecocredit.v1.EnrollmentInfo + (*v1beta1.PageRequest)(nil), // 61: cosmos.base.query.v1beta1.PageRequest + (*v1beta1.PageResponse)(nil), // 62: cosmos.base.query.v1beta1.PageResponse + (*CreditType)(nil), // 63: regen.ecocredit.v1.CreditType + (*Params)(nil), // 64: regen.ecocredit.v1.Params + (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp + (*v1beta11.Coin)(nil), // 66: cosmos.base.v1beta1.Coin + (ProjectEnrollmentStatus)(0), // 67: regen.ecocredit.v1.ProjectEnrollmentStatus } var file_regen_ecocredit_v1_query_proto_depIdxs = []int32{ - 60, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 0: regen.ecocredit.v1.QueryClassesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 1: regen.ecocredit.v1.QueryClassesResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 61, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 2: regen.ecocredit.v1.QueryClassesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 3: regen.ecocredit.v1.QueryClassesByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 44, // 4: regen.ecocredit.v1.QueryClassesByAdminResponse.classes:type_name -> regen.ecocredit.v1.ClassInfo - 61, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 5: regen.ecocredit.v1.QueryClassesByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 44, // 6: regen.ecocredit.v1.QueryClassResponse.class:type_name -> regen.ecocredit.v1.ClassInfo - 60, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 61, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 7: regen.ecocredit.v1.QueryClassIssuersRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 8: regen.ecocredit.v1.QueryClassIssuersResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 9: regen.ecocredit.v1.QueryProjectsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 10: regen.ecocredit.v1.QueryProjectsResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 11: regen.ecocredit.v1.QueryProjectsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 12: regen.ecocredit.v1.QueryProjectsByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 13: regen.ecocredit.v1.QueryProjectsByClassResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 14: regen.ecocredit.v1.QueryProjectsByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 15: regen.ecocredit.v1.QueryProjectsByReferenceIdRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 16: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 17: regen.ecocredit.v1.QueryProjectsByReferenceIdResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 18: regen.ecocredit.v1.QueryProjectsByAdminRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 45, // 19: regen.ecocredit.v1.QueryProjectsByAdminResponse.projects:type_name -> regen.ecocredit.v1.ProjectInfo - 61, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 20: regen.ecocredit.v1.QueryProjectsByAdminResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 45, // 21: regen.ecocredit.v1.QueryProjectResponse.project:type_name -> regen.ecocredit.v1.ProjectInfo - 60, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 22: regen.ecocredit.v1.QueryBatchesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 23: regen.ecocredit.v1.QueryBatchesResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 24: regen.ecocredit.v1.QueryBatchesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 25: regen.ecocredit.v1.QueryBatchesByIssuerRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 26: regen.ecocredit.v1.QueryBatchesByIssuerResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 60, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 27: regen.ecocredit.v1.QueryBatchesByIssuerResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 28: regen.ecocredit.v1.QueryBatchesByClassRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 29: regen.ecocredit.v1.QueryBatchesByProjectRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 46, // 30: regen.ecocredit.v1.QueryBatchesByProjectResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 31: regen.ecocredit.v1.QueryBatchesByProjectResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 32: regen.ecocredit.v1.QueryBatchesByClassResponse.batches:type_name -> regen.ecocredit.v1.BatchInfo - 61, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 62, // 33: regen.ecocredit.v1.QueryBatchesByClassResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse 46, // 34: regen.ecocredit.v1.QueryBatchResponse.batch:type_name -> regen.ecocredit.v1.BatchInfo 47, // 35: regen.ecocredit.v1.QueryBalanceResponse.balance:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 60, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 61, // 36: regen.ecocredit.v1.QueryBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 37: regen.ecocredit.v1.QueryBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 38: regen.ecocredit.v1.QueryBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 39: regen.ecocredit.v1.QueryBalancesByBatchRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 40: regen.ecocredit.v1.QueryBalancesByBatchResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 60, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 41: regen.ecocredit.v1.QueryBalancesByBatchResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 61, // 42: regen.ecocredit.v1.QueryAllBalancesRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest 47, // 43: regen.ecocredit.v1.QueryAllBalancesResponse.balances:type_name -> regen.ecocredit.v1.BatchBalanceInfo - 61, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 62, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType - 63, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params - 62, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType - 64, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp - 64, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp - 64, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp - 60, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 61, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 65, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin - 66, // 54: regen.ecocredit.v1.QueryProjectEnrollmentResponse.project_class:type_name -> regen.ecocredit.v1.ProjectEnrollment - 60, // 55: regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 66, // 56: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments:type_name -> regen.ecocredit.v1.ProjectEnrollment - 61, // 57: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 0, // 58: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest - 2, // 59: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest - 4, // 60: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest - 6, // 61: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest - 8, // 62: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest - 10, // 63: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest - 12, // 64: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest - 14, // 65: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest - 16, // 66: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest - 18, // 67: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest - 20, // 68: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest - 22, // 69: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest - 23, // 70: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest - 26, // 71: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest - 28, // 72: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest - 30, // 73: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest - 32, // 74: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest - 34, // 75: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest - 36, // 76: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest - 38, // 77: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest - 40, // 78: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest - 42, // 79: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest - 48, // 80: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest - 50, // 81: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest - 52, // 82: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest - 54, // 83: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest - 56, // 84: regen.ecocredit.v1.Query.ProjectEnrollment:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentRequest - 58, // 85: regen.ecocredit.v1.Query.ProjectEnrollments:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentsRequest - 1, // 86: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse - 3, // 87: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse - 5, // 88: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse - 7, // 89: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse - 9, // 90: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse - 11, // 91: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse - 13, // 92: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse - 15, // 93: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse - 17, // 94: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse - 19, // 95: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse - 21, // 96: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse - 25, // 97: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse - 24, // 98: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse - 27, // 99: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse - 29, // 100: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse - 31, // 101: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse - 33, // 102: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse - 35, // 103: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse - 37, // 104: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse - 39, // 105: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse - 41, // 106: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse - 43, // 107: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse - 49, // 108: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse - 51, // 109: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse - 53, // 110: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse - 55, // 111: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse - 57, // 112: regen.ecocredit.v1.Query.ProjectEnrollment:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentResponse - 59, // 113: regen.ecocredit.v1.Query.ProjectEnrollments:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentsResponse - 86, // [86:114] is the sub-list for method output_type - 58, // [58:86] is the sub-list for method input_type - 58, // [58:58] is the sub-list for extension type_name - 58, // [58:58] is the sub-list for extension extendee - 0, // [0:58] is the sub-list for field type_name + 62, // 44: regen.ecocredit.v1.QueryAllBalancesResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 63, // 45: regen.ecocredit.v1.QueryCreditTypesResponse.credit_types:type_name -> regen.ecocredit.v1.CreditType + 64, // 46: regen.ecocredit.v1.QueryParamsResponse.params:type_name -> regen.ecocredit.v1.Params + 63, // 47: regen.ecocredit.v1.QueryCreditTypeResponse.credit_type:type_name -> regen.ecocredit.v1.CreditType + 65, // 48: regen.ecocredit.v1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp + 65, // 49: regen.ecocredit.v1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp + 65, // 50: regen.ecocredit.v1.BatchInfo.issuance_date:type_name -> google.protobuf.Timestamp + 61, // 51: regen.ecocredit.v1.QueryAllowedClassCreatorsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 62, // 52: regen.ecocredit.v1.QueryAllowedClassCreatorsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 66, // 53: regen.ecocredit.v1.QueryClassFeeResponse.fee:type_name -> cosmos.base.v1beta1.Coin + 60, // 54: regen.ecocredit.v1.QueryProjectEnrollmentResponse.enrollment:type_name -> regen.ecocredit.v1.EnrollmentInfo + 61, // 55: regen.ecocredit.v1.QueryProjectEnrollmentsRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 60, // 56: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.enrollments:type_name -> regen.ecocredit.v1.EnrollmentInfo + 62, // 57: regen.ecocredit.v1.QueryProjectEnrollmentsResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 67, // 58: regen.ecocredit.v1.EnrollmentInfo.status:type_name -> regen.ecocredit.v1.ProjectEnrollmentStatus + 0, // 59: regen.ecocredit.v1.Query.Classes:input_type -> regen.ecocredit.v1.QueryClassesRequest + 2, // 60: regen.ecocredit.v1.Query.ClassesByAdmin:input_type -> regen.ecocredit.v1.QueryClassesByAdminRequest + 4, // 61: regen.ecocredit.v1.Query.Class:input_type -> regen.ecocredit.v1.QueryClassRequest + 6, // 62: regen.ecocredit.v1.Query.ClassIssuers:input_type -> regen.ecocredit.v1.QueryClassIssuersRequest + 8, // 63: regen.ecocredit.v1.Query.Projects:input_type -> regen.ecocredit.v1.QueryProjectsRequest + 10, // 64: regen.ecocredit.v1.Query.ProjectsByClass:input_type -> regen.ecocredit.v1.QueryProjectsByClassRequest + 12, // 65: regen.ecocredit.v1.Query.ProjectsByReferenceId:input_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdRequest + 14, // 66: regen.ecocredit.v1.Query.ProjectsByAdmin:input_type -> regen.ecocredit.v1.QueryProjectsByAdminRequest + 16, // 67: regen.ecocredit.v1.Query.Project:input_type -> regen.ecocredit.v1.QueryProjectRequest + 18, // 68: regen.ecocredit.v1.Query.Batches:input_type -> regen.ecocredit.v1.QueryBatchesRequest + 20, // 69: regen.ecocredit.v1.Query.BatchesByIssuer:input_type -> regen.ecocredit.v1.QueryBatchesByIssuerRequest + 22, // 70: regen.ecocredit.v1.Query.BatchesByClass:input_type -> regen.ecocredit.v1.QueryBatchesByClassRequest + 23, // 71: regen.ecocredit.v1.Query.BatchesByProject:input_type -> regen.ecocredit.v1.QueryBatchesByProjectRequest + 26, // 72: regen.ecocredit.v1.Query.Batch:input_type -> regen.ecocredit.v1.QueryBatchRequest + 28, // 73: regen.ecocredit.v1.Query.Balance:input_type -> regen.ecocredit.v1.QueryBalanceRequest + 30, // 74: regen.ecocredit.v1.Query.Balances:input_type -> regen.ecocredit.v1.QueryBalancesRequest + 32, // 75: regen.ecocredit.v1.Query.BalancesByBatch:input_type -> regen.ecocredit.v1.QueryBalancesByBatchRequest + 34, // 76: regen.ecocredit.v1.Query.AllBalances:input_type -> regen.ecocredit.v1.QueryAllBalancesRequest + 36, // 77: regen.ecocredit.v1.Query.Supply:input_type -> regen.ecocredit.v1.QuerySupplyRequest + 38, // 78: regen.ecocredit.v1.Query.CreditTypes:input_type -> regen.ecocredit.v1.QueryCreditTypesRequest + 40, // 79: regen.ecocredit.v1.Query.Params:input_type -> regen.ecocredit.v1.QueryParamsRequest + 42, // 80: regen.ecocredit.v1.Query.CreditType:input_type -> regen.ecocredit.v1.QueryCreditTypeRequest + 48, // 81: regen.ecocredit.v1.Query.ClassCreatorAllowlist:input_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistRequest + 50, // 82: regen.ecocredit.v1.Query.AllowedClassCreators:input_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsRequest + 52, // 83: regen.ecocredit.v1.Query.ClassFee:input_type -> regen.ecocredit.v1.QueryClassFeeRequest + 54, // 84: regen.ecocredit.v1.Query.AllowedBridgeChains:input_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsRequest + 56, // 85: regen.ecocredit.v1.Query.ProjectEnrollment:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentRequest + 58, // 86: regen.ecocredit.v1.Query.ProjectEnrollments:input_type -> regen.ecocredit.v1.QueryProjectEnrollmentsRequest + 1, // 87: regen.ecocredit.v1.Query.Classes:output_type -> regen.ecocredit.v1.QueryClassesResponse + 3, // 88: regen.ecocredit.v1.Query.ClassesByAdmin:output_type -> regen.ecocredit.v1.QueryClassesByAdminResponse + 5, // 89: regen.ecocredit.v1.Query.Class:output_type -> regen.ecocredit.v1.QueryClassResponse + 7, // 90: regen.ecocredit.v1.Query.ClassIssuers:output_type -> regen.ecocredit.v1.QueryClassIssuersResponse + 9, // 91: regen.ecocredit.v1.Query.Projects:output_type -> regen.ecocredit.v1.QueryProjectsResponse + 11, // 92: regen.ecocredit.v1.Query.ProjectsByClass:output_type -> regen.ecocredit.v1.QueryProjectsByClassResponse + 13, // 93: regen.ecocredit.v1.Query.ProjectsByReferenceId:output_type -> regen.ecocredit.v1.QueryProjectsByReferenceIdResponse + 15, // 94: regen.ecocredit.v1.Query.ProjectsByAdmin:output_type -> regen.ecocredit.v1.QueryProjectsByAdminResponse + 17, // 95: regen.ecocredit.v1.Query.Project:output_type -> regen.ecocredit.v1.QueryProjectResponse + 19, // 96: regen.ecocredit.v1.Query.Batches:output_type -> regen.ecocredit.v1.QueryBatchesResponse + 21, // 97: regen.ecocredit.v1.Query.BatchesByIssuer:output_type -> regen.ecocredit.v1.QueryBatchesByIssuerResponse + 25, // 98: regen.ecocredit.v1.Query.BatchesByClass:output_type -> regen.ecocredit.v1.QueryBatchesByClassResponse + 24, // 99: regen.ecocredit.v1.Query.BatchesByProject:output_type -> regen.ecocredit.v1.QueryBatchesByProjectResponse + 27, // 100: regen.ecocredit.v1.Query.Batch:output_type -> regen.ecocredit.v1.QueryBatchResponse + 29, // 101: regen.ecocredit.v1.Query.Balance:output_type -> regen.ecocredit.v1.QueryBalanceResponse + 31, // 102: regen.ecocredit.v1.Query.Balances:output_type -> regen.ecocredit.v1.QueryBalancesResponse + 33, // 103: regen.ecocredit.v1.Query.BalancesByBatch:output_type -> regen.ecocredit.v1.QueryBalancesByBatchResponse + 35, // 104: regen.ecocredit.v1.Query.AllBalances:output_type -> regen.ecocredit.v1.QueryAllBalancesResponse + 37, // 105: regen.ecocredit.v1.Query.Supply:output_type -> regen.ecocredit.v1.QuerySupplyResponse + 39, // 106: regen.ecocredit.v1.Query.CreditTypes:output_type -> regen.ecocredit.v1.QueryCreditTypesResponse + 41, // 107: regen.ecocredit.v1.Query.Params:output_type -> regen.ecocredit.v1.QueryParamsResponse + 43, // 108: regen.ecocredit.v1.Query.CreditType:output_type -> regen.ecocredit.v1.QueryCreditTypeResponse + 49, // 109: regen.ecocredit.v1.Query.ClassCreatorAllowlist:output_type -> regen.ecocredit.v1.QueryClassCreatorAllowlistResponse + 51, // 110: regen.ecocredit.v1.Query.AllowedClassCreators:output_type -> regen.ecocredit.v1.QueryAllowedClassCreatorsResponse + 53, // 111: regen.ecocredit.v1.Query.ClassFee:output_type -> regen.ecocredit.v1.QueryClassFeeResponse + 55, // 112: regen.ecocredit.v1.Query.AllowedBridgeChains:output_type -> regen.ecocredit.v1.QueryAllowedBridgeChainsResponse + 57, // 113: regen.ecocredit.v1.Query.ProjectEnrollment:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentResponse + 59, // 114: regen.ecocredit.v1.Query.ProjectEnrollments:output_type -> regen.ecocredit.v1.QueryProjectEnrollmentsResponse + 87, // [87:115] is the sub-list for method output_type + 59, // [59:87] is the sub-list for method input_type + 59, // [59:59] is the sub-list for extension type_name + 59, // [59:59] is the sub-list for extension extendee + 0, // [0:59] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1_query_proto_init() } @@ -34452,6 +35282,18 @@ func file_regen_ecocredit_v1_query_proto_init() { return nil } } + file_regen_ecocredit_v1_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnrollmentInfo); 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{ @@ -34459,7 +35301,7 @@ func file_regen_ecocredit_v1_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1_query_proto_rawDesc, NumEnums: 0, - NumMessages: 60, + NumMessages: 61, NumExtensions: 0, NumServices: 1, }, diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 874edba163..2959d49df5 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -15,6 +11,9 @@ import ( 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 ( From fa5a4658fd5360f985185450cb98c6c2c8a444ad Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Mon, 18 Mar 2024 14:20:05 -0400 Subject: [PATCH 047/112] proto gen --- api/regen/ecocredit/v1/tx.pulsar.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 2959d49df5..874edba163 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -11,9 +15,6 @@ import ( 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 ( From 6e605924fe306593e3b0a213ff488ea716095802 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 15:02:08 -0400 Subject: [PATCH 048/112] Fix missing Batch.ClassKey --- x/ecocredit/base/keeper/msg_bridge_receive_test.go | 1 + x/ecocredit/base/keeper/msg_bridge_test.go | 1 + x/ecocredit/base/keeper/msg_cancel_test.go | 3 +++ x/ecocredit/base/keeper/msg_create_batch.go | 1 + x/ecocredit/base/keeper/msg_mint_batch_credits_test.go | 2 ++ x/ecocredit/base/keeper/msg_retire_test.go | 3 +++ x/ecocredit/base/keeper/msg_seal_batch_test.go | 1 + x/ecocredit/base/keeper/msg_send_test.go | 3 +++ x/ecocredit/base/keeper/msg_update_batch_metadata_test.go | 2 ++ 9 files changed, 17 insertions(+) diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index c526423536..3f75e02086 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -127,6 +127,7 @@ func (s *bridgeReceiveSuite) AProjectWithIdAndReferenceId(a, b string) { func (s *bridgeReceiveSuite) ACreditBatchWithDenomAndIssuerAlice(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Issuer: s.alice, Denom: a, Open: true, // always true unless specified diff --git a/x/ecocredit/base/keeper/msg_bridge_test.go b/x/ecocredit/base/keeper/msg_bridge_test.go index 4f132de15d..0c0669e0cb 100644 --- a/x/ecocredit/base/keeper/msg_bridge_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_test.go @@ -215,6 +215,7 @@ func (s *bridgeSuite) creditBatchSetup() { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: pKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_cancel_test.go b/x/ecocredit/base/keeper/msg_cancel_test.go index 875da420d1..76490a9cf6 100644 --- a/x/ecocredit/base/keeper/msg_cancel_test.go +++ b/x/ecocredit/base/keeper/msg_cancel_test.go @@ -68,6 +68,7 @@ func (s *cancel) ACreditBatchWithDenom(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: a, }) require.NoError(s.t, err) @@ -101,6 +102,7 @@ func (s *cancel) ACreditBatchFromCreditClassWithCreditType(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -246,6 +248,7 @@ func (s *cancel) creditBatchSetup() { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_create_batch.go b/x/ecocredit/base/keeper/msg_create_batch.go index 96e5123306..02fbe823c4 100644 --- a/x/ecocredit/base/keeper/msg_create_batch.go +++ b/x/ecocredit/base/keeper/msg_create_batch.go @@ -74,6 +74,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty EndDate: endDate, IssuanceDate: issuanceDate, Open: req.Open, + ClassKey: class.Key, }) if err != nil { return nil, err diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go index b9436da8ee..38cfc00b86 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits_test.go @@ -84,6 +84,7 @@ func (s *mintBatchCredits) AProjectWithId(a string) { func (s *mintBatchCredits) ACreditBatchWithDenomAndIssuerAlice(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Issuer: s.alice, Denom: a, Open: true, // always true unless specified @@ -109,6 +110,7 @@ func (s *mintBatchCredits) ACreditBatchWithDenomOpenAndIssuerAlice(a, b string) Issuer: s.alice, Denom: a, ProjectKey: s.projectKey, + ClassKey: s.classKey, Open: open, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_retire_test.go b/x/ecocredit/base/keeper/msg_retire_test.go index d7582d6b41..bce31fb06a 100644 --- a/x/ecocredit/base/keeper/msg_retire_test.go +++ b/x/ecocredit/base/keeper/msg_retire_test.go @@ -67,6 +67,7 @@ func (s *retire) ACreditBatchWithDenom(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: a, }) require.NoError(s.t, err) @@ -106,6 +107,7 @@ func (s *retire) ACreditBatchFromCreditClassWithCreditType(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -279,6 +281,7 @@ func (s *retire) creditBatchSetup() { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_seal_batch_test.go b/x/ecocredit/base/keeper/msg_seal_batch_test.go index 77608c20c2..71bcf2e12b 100644 --- a/x/ecocredit/base/keeper/msg_seal_batch_test.go +++ b/x/ecocredit/base/keeper/msg_seal_batch_test.go @@ -73,6 +73,7 @@ func (s *sealBatch) AProjectWithId(a string) { func (s *sealBatch) ACreditBatchWithDenomAndIssuerAlice(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Issuer: s.alice, Denom: a, Open: true, diff --git a/x/ecocredit/base/keeper/msg_send_test.go b/x/ecocredit/base/keeper/msg_send_test.go index a69a26f613..89f8296c0a 100644 --- a/x/ecocredit/base/keeper/msg_send_test.go +++ b/x/ecocredit/base/keeper/msg_send_test.go @@ -69,6 +69,7 @@ func (s *send) ACreditBatchWithDenom(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: a, }) require.NoError(s.t, err) @@ -102,6 +103,7 @@ func (s *send) ACreditBatchFromCreditClassWithCreditType(a string) { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -355,6 +357,7 @@ func (s *send) creditBatchSetup() { bKey, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go index 8f8369b6a9..cee14c1e22 100644 --- a/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go +++ b/x/ecocredit/base/keeper/msg_update_batch_metadata_test.go @@ -77,6 +77,7 @@ func (s *updateBatchMetadata) AProjectWithId(a string) { func (s *updateBatchMetadata) ACreditBatchWithBatchDenomAndIssuerAlice(a string) { _, err := s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Issuer: s.alice, Denom: a, Open: true, // true unless specified @@ -92,6 +93,7 @@ func (s *updateBatchMetadata) ACreditBatchWithBatchDenomIssuerAliceAndOpen(a, b _, err = s.k.stateStore.BatchTable().InsertReturningID(s.ctx, &api.Batch{ ProjectKey: s.projectKey, + ClassKey: s.classKey, Issuer: s.alice, Denom: a, Open: open, From a5aa435dff929fb6bd48c68e45478131b7655867 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:08:33 -0400 Subject: [PATCH 049/112] test fixes --- .../base/keeper/features/msg_create_batch.feature | 3 ++- x/ecocredit/base/utils.go | 13 ------------- x/ecocredit/basket/keeper/msg_put_test.go | 15 ++++++++++----- x/ecocredit/basket/keeper/msg_take_test.go | 3 ++- x/ecocredit/genesis/genesis_test.go | 6 ++++++ x/ecocredit/marketplace/keeper/keeper_test.go | 8 ++++++-- .../marketplace/keeper/msg_buy_direct_test.go | 5 +++-- .../keeper/msg_cancel_sell_order_test.go | 5 +++-- x/ecocredit/marketplace/keeper/msg_sell_test.go | 6 ++++-- .../keeper/msg_update_sell_orders_test.go | 8 +++++--- .../keeper/query_sell_orders_by_batch_test.go | 1 + x/ecocredit/simulation/genesis.go | 2 ++ 12 files changed, 44 insertions(+), 31 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_batch.feature b/x/ecocredit/base/keeper/features/msg_create_batch.feature index d9822960c8..c4084a26bf 100644 --- a/x/ecocredit/base/keeper/features/msg_create_batch.feature +++ b/x/ecocredit/base/keeper/features/msg_create_batch.feature @@ -359,7 +359,8 @@ Feature: Msg/CreateBatch "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "start_date": "2020-01-01T00:00:00Z", "end_date": "2021-01-01T00:00:00Z", - "open": true + "open": true, + "class_key": 1 } """ diff --git a/x/ecocredit/base/utils.go b/x/ecocredit/base/utils.go index 2b82c53c32..1fa25242d5 100644 --- a/x/ecocredit/base/utils.go +++ b/x/ecocredit/base/utils.go @@ -158,19 +158,6 @@ func ValidateJurisdiction(jurisdiction string) error { return nil } -// GetClassIDFromLegacyProjectID extracts the credit class ID from a legacy project ID. -func GetClassIDFromLegacyProjectID(projectID string) string { - var s strings.Builder - for _, r := range projectID { - if r != '-' { - s.WriteRune(r) - continue - } - break - } - return s.String() -} - // GetClassIDFromBatchDenom returns the credit class ID in a batch denom. func GetClassIDFromBatchDenom(denom string) string { var s strings.Builder diff --git a/x/ecocredit/basket/keeper/msg_put_test.go b/x/ecocredit/basket/keeper/msg_put_test.go index 1cfea345ba..89f3c560c3 100644 --- a/x/ecocredit/basket/keeper/msg_put_test.go +++ b/x/ecocredit/basket/keeper/msg_put_test.go @@ -222,7 +222,7 @@ func (s *putSuite) ACreditBatchWithDenom(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -233,6 +233,7 @@ func (s *putSuite) ACreditBatchWithDenom(a string) { err = s.baseStore.BatchTable().Insert(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -254,7 +255,7 @@ func (s *putSuite) AliceOwnsCredits() { classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -265,6 +266,7 @@ func (s *putSuite) AliceOwnsCredits() { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -281,7 +283,7 @@ func (s *putSuite) AliceOwnsCreditAmount(a string) { classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -292,6 +294,7 @@ func (s *putSuite) AliceOwnsCreditAmount(a string) { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) @@ -308,7 +311,7 @@ func (s *putSuite) AliceOwnsCreditsFromCreditBatch(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -319,6 +322,7 @@ func (s *putSuite) AliceOwnsCreditsFromCreditBatch(a string) { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: a, }) require.NoError(s.t, err) @@ -335,7 +339,7 @@ func (s *putSuite) AliceOwnsCreditsWithStartDate(a string) { startDate, err := regentypes.ParseDate("start-date", a) require.NoError(s.t, err) - _, err = s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) @@ -346,6 +350,7 @@ func (s *putSuite) AliceOwnsCreditsWithStartDate(a string) { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: pKey, + ClassKey: clsKey, Denom: s.batchDenom, StartDate: timestamppb.New(startDate), }) diff --git a/x/ecocredit/basket/keeper/msg_take_test.go b/x/ecocredit/basket/keeper/msg_take_test.go index 048913be9a..e605990bca 100644 --- a/x/ecocredit/basket/keeper/msg_take_test.go +++ b/x/ecocredit/basket/keeper/msg_take_test.go @@ -418,7 +418,7 @@ func (s *takeSuite) addBasketClassAndBalance(basketID uint64, creditAmount strin classID := base.GetClassIDFromBatchDenom(s.batchDenom) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err = s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -429,6 +429,7 @@ func (s *takeSuite) addBasketClassAndBalance(basketID uint64, creditAmount strin batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index fce808c85b..f0cbcf346c 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -250,6 +250,7 @@ func TestGenesisValidate(t *testing.T) { bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, + ClassKey: cKey, Denom: denom, StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -298,6 +299,7 @@ func TestGenesisValidate(t *testing.T) { bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, + ClassKey: cKey, Denom: denom, StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -350,6 +352,7 @@ func TestGenesisValidate(t *testing.T) { bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, + ClassKey: cKey, Denom: "C01-001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -433,6 +436,7 @@ func TestGenesisValidate(t *testing.T) { bKey, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, + ClassKey: cKey, Denom: "C01-001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -442,6 +446,7 @@ func TestGenesisValidate(t *testing.T) { bKeyBIO, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKeyBIO, + ClassKey: cKeyBIO, Denom: "BIO01-001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -451,6 +456,7 @@ func TestGenesisValidate(t *testing.T) { bKey2, err := ss.BatchTable().InsertReturningID(ctx, &baseapi.Batch{ Issuer: addr1, ProjectKey: pKey, + ClassKey: cKey, Denom: "C01-001-00000000-00000000-002", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, diff --git a/x/ecocredit/marketplace/keeper/keeper_test.go b/x/ecocredit/marketplace/keeper/keeper_test.go index 30658821f9..1090c21c8d 100644 --- a/x/ecocredit/marketplace/keeper/keeper_test.go +++ b/x/ecocredit/marketplace/keeper/keeper_test.go @@ -47,6 +47,7 @@ type baseSuite struct { bankKeeper *mocks.MockBankKeeper storeKey *storetypes.KVStoreKey sdkCtx sdk.Context + classId uint64 } func setupBase(t gocuke.TestingT, numAddresses int) *baseSuite { @@ -116,14 +117,17 @@ func (s *baseSuite) testSellSetup(batchDenom, bankDenom, displayDenom, classID s Precision: 6, })) - assert.NilError(s.t, s.baseStore.ClassTable().Insert(s.ctx, &baseapi.Class{ + var err error + s.classId, err = s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, Admin: s.addrs[0], Metadata: "", CreditTypeAbbrev: creditType.Abbreviation, - })) + }) + assert.NilError(s.t, err) assert.NilError(s.t, s.baseStore.BatchTable().Insert(s.ctx, &baseapi.Batch{ ProjectKey: 1, + ClassKey: s.classId, Denom: batchDenom, Metadata: "", StartDate: start, diff --git a/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go b/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go index 53014eea70..fda8697d7f 100644 --- a/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go +++ b/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go @@ -629,14 +629,15 @@ func (s *buyDirectSuite) createSellOrders(count int) { totalQuantity = t.String() } - err := s.baseStore.ClassTable().Insert(s.ctx, &baseapi.Class{ + clsId, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ - Denom: s.batchDenom, + Denom: s.batchDenom, + ClassKey: clsId, }) require.NoError(s.t, err) diff --git a/x/ecocredit/marketplace/keeper/msg_cancel_sell_order_test.go b/x/ecocredit/marketplace/keeper/msg_cancel_sell_order_test.go index a139c339bd..054c1001b4 100644 --- a/x/ecocredit/marketplace/keeper/msg_cancel_sell_order_test.go +++ b/x/ecocredit/marketplace/keeper/msg_cancel_sell_order_test.go @@ -151,14 +151,15 @@ func (s *cancelSellOrder) ExpectEventWithProperties(a gocuke.DocString) { } func (s *cancelSellOrder) sellOrderSetup() { - err := s.baseStore.ClassTable().Insert(s.ctx, &baseapi.Class{ + clsId, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ - Denom: s.batchDenom, + Denom: s.batchDenom, + ClassKey: clsId, }) require.NoError(s.t, err) diff --git a/x/ecocredit/marketplace/keeper/msg_sell_test.go b/x/ecocredit/marketplace/keeper/msg_sell_test.go index f45198fa68..23a466afd9 100644 --- a/x/ecocredit/marketplace/keeper/msg_sell_test.go +++ b/x/ecocredit/marketplace/keeper/msg_sell_test.go @@ -110,7 +110,7 @@ func (s *sellSuite) ACreditBatchWithBatchDenom(a string) { classID := base.GetClassIDFromBatchDenom(a) creditTypeAbbrev := base.GetCreditTypeAbbrevFromClassID(classID) - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: classID, CreditTypeAbbrev: creditTypeAbbrev, }) @@ -121,6 +121,7 @@ func (s *sellSuite) ACreditBatchWithBatchDenom(a string) { err = s.baseStore.BatchTable().Insert(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: a, }) require.NoError(s.t, err) @@ -419,7 +420,7 @@ func (s *sellSuite) ExpectEventWithProperties(a gocuke.DocString) { } func (s *sellSuite) aliceTradableBatchBalance() { - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) @@ -430,6 +431,7 @@ func (s *sellSuite) aliceTradableBatchBalance() { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go b/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go index 516109a279..09c736ed18 100644 --- a/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go +++ b/x/ecocredit/marketplace/keeper/msg_update_sell_orders_test.go @@ -432,14 +432,15 @@ func (s *updateSellOrdersSuite) sellOrderSetup(count int) { totalQuantity = t.String() } - err := s.baseStore.ClassTable().Insert(s.ctx, &baseapi.Class{ + clsId, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) require.NoError(s.t, err) batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ - Denom: s.batchDenom, + Denom: s.batchDenom, + ClassKey: clsId, }) require.NoError(s.t, err) @@ -489,7 +490,7 @@ func (s *updateSellOrdersSuite) sellOrderSetup(count int) { func (s *updateSellOrdersSuite) aliceBatchBalance() { batch, err := s.baseStore.BatchTable().GetByDenom(s.ctx, s.batchDenom) if err == ormerrors.NotFound { - _, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ + clsKey, err := s.baseStore.ClassTable().InsertReturningID(s.ctx, &baseapi.Class{ Id: s.classID, CreditTypeAbbrev: s.creditTypeAbbrev, }) @@ -500,6 +501,7 @@ func (s *updateSellOrdersSuite) aliceBatchBalance() { batchKey, err := s.baseStore.BatchTable().InsertReturningID(s.ctx, &baseapi.Batch{ ProjectKey: projectKey, + ClassKey: clsKey, Denom: s.batchDenom, }) require.NoError(s.t, err) diff --git a/x/ecocredit/marketplace/keeper/query_sell_orders_by_batch_test.go b/x/ecocredit/marketplace/keeper/query_sell_orders_by_batch_test.go index f1cbdd4551..fbfb3293b0 100644 --- a/x/ecocredit/marketplace/keeper/query_sell_orders_by_batch_test.go +++ b/x/ecocredit/marketplace/keeper/query_sell_orders_by_batch_test.go @@ -21,6 +21,7 @@ func TestSellOrdersByBatch(t *testing.T) { otherDenom := "C01-19990101-20290101-001" assert.NilError(t, s.baseStore.BatchTable().Insert(s.ctx, &ecocreditApi.Batch{ ProjectKey: 1, + ClassKey: s.classId, Denom: otherDenom, Metadata: "", StartDate: nil, diff --git a/x/ecocredit/simulation/genesis.go b/x/ecocredit/simulation/genesis.go index 267bd6b103..faecc6093a 100644 --- a/x/ecocredit/simulation/genesis.go +++ b/x/ecocredit/simulation/genesis.go @@ -330,6 +330,7 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a &api.Batch{ Issuer: accs[0].Address, ProjectKey: pKey1, + ClassKey: cKey1, Denom: denom, StartDate: timestamppb.New(startDate), EndDate: timestamppb.New(endDate), @@ -354,6 +355,7 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a &api.Batch{ Issuer: accs[2].Address, ProjectKey: pKey2, + ClassKey: cKey2, Denom: denom, StartDate: timestamppb.New(startDate.UTC()), EndDate: timestamppb.New(endDate.UTC()), From 0aabd0b90f480ecdc049792634e54b434bc6c7be Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:11:12 -0400 Subject: [PATCH 050/112] test fixes --- x/ecocredit/server/tests/features/market.feature | 1 + 1 file changed, 1 insertion(+) diff --git a/x/ecocredit/server/tests/features/market.feature b/x/ecocredit/server/tests/features/market.feature index 452a656383..f041f3b9d4 100644 --- a/x/ecocredit/server/tests/features/market.feature +++ b/x/ecocredit/server/tests/features/market.feature @@ -49,6 +49,7 @@ Feature: Market Integration "key": "1", "issuer": "BTZfSbi0JKqguZ/tIAPUIhdAa7Y=", "project_key": "1", + "class_key": "1", "denom": "C01-001-20200101-20210101-001", "metadata": "metadata", "start_date": "2020-01-01T00:00:00Z", From 84ba6f91fe1f9332f81c91198dcfc66a5cc1948b Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:17:35 -0400 Subject: [PATCH 051/112] test fixes --- .../keeper/features/msg_bridge_receive.feature | 8 ++++---- .../base/keeper/msg_bridge_receive_test.go | 15 --------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature index 4f7bc4f7d5..46c04d103c 100644 --- a/x/ecocredit/base/keeper/features/msg_bridge_receive.feature +++ b/x/ecocredit/base/keeper/features/msg_bridge_receive.feature @@ -49,8 +49,8 @@ Feature: Msg/BridgeReceive Given a credit type with abbreviation "C" And a credit class with id "C01" and issuer alice And allowed bridge chain "polygon" - And a project with id "C01-001" - And a credit batch with denom "C01-001-20200101-20210101-001" and issuer alice + And a project with id "P001" + And a credit batch with denom "C01-P001-20200101-20210101-001" and issuer alice And the batch contract """ { @@ -231,8 +231,8 @@ Feature: Msg/BridgeReceive Given a credit type with abbreviation "C" And a credit class with id "C01" and issuer alice And allowed bridge chain "polygon" - And a project with id "C01-001" - And a credit batch with denom "C01-001-20200101-20210101-001" and issuer alice + And a project with id "P001" + And a credit batch with denom "C01-P001-20200101-20210101-001" and issuer alice And the batch contract """ { diff --git a/x/ecocredit/base/keeper/msg_bridge_receive_test.go b/x/ecocredit/base/keeper/msg_bridge_receive_test.go index 3f75e02086..650c65695a 100644 --- a/x/ecocredit/base/keeper/msg_bridge_receive_test.go +++ b/x/ecocredit/base/keeper/msg_bridge_receive_test.go @@ -102,14 +102,6 @@ func (s *bridgeReceiveSuite) AProjectWithId(a string) { }) require.NoError(s.t, err) - seq := s.getProjectSequence(a) - - err = s.k.stateStore.ProjectSequenceTable().Insert(s.ctx, &api.ProjectSequence{ - ClassKey: s.classKey, - NextSequence: seq + 1, - }) - require.NoError(s.t, err) - s.projectKey = pKey } @@ -488,13 +480,6 @@ func (s *bridgeReceiveSuite) ExpectEventWithProperties(a gocuke.DocString) { require.NoError(s.t, err) } -func (s *bridgeReceiveSuite) getProjectSequence(projectID string) uint64 { - str := strings.Split(projectID, "-") - seq, err := strconv.ParseUint(str[1], 10, 32) - require.NoError(s.t, err) - return seq -} - func (s *bridgeReceiveSuite) getBatchSequence(batchDenom string) uint64 { str := strings.Split(batchDenom, "-") seq, err := strconv.ParseUint(str[4], 10, 32) From 8a18b1a8700ad50bb8457d8910afe14d02369d7a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:29:00 -0400 Subject: [PATCH 052/112] test fixes --- x/ecocredit/genesis/genesis_test.go | 34 +++++++++++++++-------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index f0cbcf346c..4357c18ae0 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -43,6 +43,22 @@ func TestValidateGenesis(t *testing.T) { Precision: 6, })) + cls1 := &baseapi.Class{ + Id: "BIO001", + Admin: sdk.AccAddress("addr4"), + CreditTypeAbbrev: "BIO", + } + cls2 := &baseapi.Class{ + Id: "BIO002", + Admin: sdk.AccAddress("addr5"), + CreditTypeAbbrev: "BIO", + } + + clsKey1, err := ss.ClassTable().InsertReturningID(ormCtx, cls1) + require.NoError(t, err) + clsKey2, err := ss.ClassTable().InsertReturningID(ormCtx, cls2) + require.NoError(t, err) + require.NoError(t, ss.BatchBalanceTable().Insert(ormCtx, &baseapi.BatchBalance{ BatchKey: 1, @@ -55,6 +71,7 @@ func TestValidateGenesis(t *testing.T) { { Issuer: sdk.AccAddress("addr2"), ProjectKey: 1, + ClassKey: clsKey1, Denom: "BIO01-P001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -63,6 +80,7 @@ func TestValidateGenesis(t *testing.T) { { Issuer: sdk.AccAddress("addr3"), ProjectKey: 1, + ClassKey: clsKey2, Denom: "BIO02-P001-00000000-00000000-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -80,22 +98,6 @@ func TestValidateGenesis(t *testing.T) { RetiredAmount: "9.997", })) - classes := []*baseapi.Class{ - { - Id: "BIO001", - Admin: sdk.AccAddress("addr4"), - CreditTypeAbbrev: "BIO", - }, - { - Id: "BIO002", - Admin: sdk.AccAddress("addr5"), - CreditTypeAbbrev: "BIO", - }, - } - for _, c := range classes { - require.NoError(t, ss.ClassTable().Insert(ormCtx, c)) - } - projects := []*baseapi.Project{ { Id: "P001", From 165793217d0219674ca9ca7f33ee5b88101070e0 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:32:37 -0400 Subject: [PATCH 053/112] test fixes --- x/ecocredit/genesis/genesis.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x/ecocredit/genesis/genesis.go b/x/ecocredit/genesis/genesis.go index 2a80d3905e..0f8ccd6136 100644 --- a/x/ecocredit/genesis/genesis.go +++ b/x/ecocredit/genesis/genesis.go @@ -122,6 +122,13 @@ func ValidateGenesis(data json.RawMessage) error { if _, exists := batchIDToPrecision[batch.Key]; exists { continue } + + class, err := ss.ClassTable().Get(ormCtx, batch.ClassKey) + if err != nil { + return err + } + + batchIDToPrecision[batch.Key] = abbrevToPrecision[class.CreditTypeAbbrev] } batchIDToCalSupply := make(map[uint64]math.Dec) // map of batchID to calculated supply From 8d6299f6a7931cfd5e06dcc0e1a95675f2204069 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:35:32 -0400 Subject: [PATCH 054/112] test fixes --- x/ecocredit/genesis/genesis_test.go | 60 ++++++++++++++++++----------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index 4357c18ae0..1b5529d60d 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -884,6 +884,13 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { bsktStore, err := basketapi.NewStateStore(modDB) require.NoError(t, err) + require.NoError(t, ss.CreditTypeTable().Insert(ormCtx, &baseapi.CreditType{ + Abbreviation: "C", + Name: "carbon", + Unit: "tons", + Precision: 6, + })) + require.NoError(t, ss.CreditTypeTable().Insert(ormCtx, &baseapi.CreditType{ Abbreviation: "BIO", Name: "biodiversity", @@ -891,27 +898,25 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { Precision: 6, })) - require.NoError(t, ss.BatchBalanceTable().Insert(ormCtx, - &baseapi.BatchBalance{ - BatchKey: 1, - Address: sdk.AccAddress("addr1"), - TradableAmount: "90.003", - RetiredAmount: "9.997", - })) + carbonClsKey, err := ss.ClassTable().InsertReturningID(ormCtx, &baseapi.Class{ + Id: "C001", + Admin: sdk.AccAddress("addr4"), + CreditTypeAbbrev: "C", + }) + require.NoError(t, err) - require.NoError(t, ss.BatchBalanceTable().Insert(ormCtx, - &baseapi.BatchBalance{ - BatchKey: 2, - Address: sdk.AccAddress("addr1"), - TradableAmount: "1.234", - EscrowedAmount: "1.234", - RetiredAmount: "0", - })) + bioClsKey, err := ss.ClassTable().InsertReturningID(ormCtx, &baseapi.Class{ + Id: "BIO001", + Admin: sdk.AccAddress("addr4"), + CreditTypeAbbrev: "BIO", + }) + require.NoError(t, err) batches := []*baseapi.Batch{ { Issuer: sdk.AccAddress("addr2"), ProjectKey: 1, + ClassKey: carbonClsKey, Denom: "C01-001-20200101-20210101-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -920,6 +925,7 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { { Issuer: sdk.AccAddress("addr3"), ProjectKey: 1, + ClassKey: bioClsKey, Denom: "BIO02-001-20200101-20210101-001", StartDate: ×tamppb.Timestamp{Seconds: 100}, EndDate: ×tamppb.Timestamp{Seconds: 101}, @@ -930,6 +936,23 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { require.NoError(t, ss.BatchTable().Insert(ormCtx, b)) } + require.NoError(t, ss.BatchBalanceTable().Insert(ormCtx, + &baseapi.BatchBalance{ + BatchKey: 1, + Address: sdk.AccAddress("addr1"), + TradableAmount: "90.003", + RetiredAmount: "9.997", + })) + + require.NoError(t, ss.BatchBalanceTable().Insert(ormCtx, + &baseapi.BatchBalance{ + BatchKey: 2, + Address: sdk.AccAddress("addr1"), + TradableAmount: "1.234", + EscrowedAmount: "1.234", + RetiredAmount: "0", + })) + require.NoError(t, ss.BatchSupplyTable().Insert(ormCtx, &baseapi.BatchSupply{ BatchKey: 1, @@ -946,13 +969,6 @@ func TestValidateGenesisWithBasketBalance(t *testing.T) { }), ) - class := baseapi.Class{ - Id: "BIO001", - Admin: sdk.AccAddress("addr4"), - CreditTypeAbbrev: "BIO", - } - require.NoError(t, ss.ClassTable().Insert(ormCtx, &class)) - project := baseapi.Project{ Id: "P01-001", Admin: sdk.AccAddress("addr6"), From c00ce619ef3e4630be24d819f133e123488e2f96 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:37:15 -0400 Subject: [PATCH 055/112] test fixes --- x/ecocredit/server/testsuite/suite.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/ecocredit/server/testsuite/suite.go b/x/ecocredit/server/testsuite/suite.go index fbfc1560ea..4610f5aaae 100644 --- a/x/ecocredit/server/testsuite/suite.go +++ b/x/ecocredit/server/testsuite/suite.go @@ -363,6 +363,7 @@ func (s *IntegrationTestSuite) createClassAndIssueBatch(admin, recipient sdk.Acc bRes, err := s.msgClient.CreateBatch(s.ctx, &basetypes.MsgCreateBatch{ Issuer: admin.String(), ProjectId: pRes.ProjectId, + ClassId: classID, Issuance: []*basetypes.BatchIssuance{{Recipient: recipient.String(), TradableAmount: tradableAmount}}, Metadata: "metadata", StartDate: &start, From c952a450edba4f97bf9f4313f402449d5c0c6a7f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:38:15 -0400 Subject: [PATCH 056/112] test fixes --- x/ecocredit/server/testsuite/suite.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/server/testsuite/suite.go b/x/ecocredit/server/testsuite/suite.go index 4610f5aaae..21c30804b3 100644 --- a/x/ecocredit/server/testsuite/suite.go +++ b/x/ecocredit/server/testsuite/suite.go @@ -424,7 +424,7 @@ func (s *IntegrationTestSuite) TestScenario() { }) s.Require().NoError(err) s.Require().NotNil(createProjectRes) - s.Require().Equal("C02-001", createProjectRes.ProjectId) + s.Require().Equal("P002", createProjectRes.ProjectId) projectID := createProjectRes.ProjectId // create batch @@ -440,6 +440,7 @@ func (s *IntegrationTestSuite) TestScenario() { createBatchRes, err := s.msgClient.CreateBatch(s.ctx, &basetypes.MsgCreateBatch{ Issuer: issuer1, ProjectId: projectID, + ClassId: classID, StartDate: &time1, EndDate: &time2, Issuance: []*basetypes.BatchIssuance{ From 19c4aff7936999a14c67339d7174069ffd2c0768 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:42:30 -0400 Subject: [PATCH 057/112] test fixes --- x/ecocredit/simulation/genesis.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/simulation/genesis.go b/x/ecocredit/simulation/genesis.go index faecc6093a..b1ef713f24 100644 --- a/x/ecocredit/simulation/genesis.go +++ b/x/ecocredit/simulation/genesis.go @@ -292,7 +292,7 @@ func genGenesisState(ctx context.Context, simState *module.SimulationState, ss a } // create few projects - pId1 := "P002" + pId1 := "P001" pKey1, err := createProject(ctx, ss, &api.Project{ Id: pId1, Admin: accs[0].Address, From e97f26f3d96ff25464e5a5bdaaaf22a333cfbae6 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:47:23 -0400 Subject: [PATCH 058/112] all existing tests passing --- x/ecocredit/server/tests/features/bridge.feature | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x/ecocredit/server/tests/features/bridge.feature b/x/ecocredit/server/tests/features/bridge.feature index fb8b5844c8..e8524179e4 100644 --- a/x/ecocredit/server/tests/features/bridge.feature +++ b/x/ecocredit/server/tests/features/bridge.feature @@ -367,14 +367,14 @@ Feature: Bridge Integration And expect project with properties """ { - "id": "C01-002", + "id": "P002", "metadata": "regen:13toVfvC2YxrrfSXWB5h2BGHiXZURsKxWUz72uDRDSPMCrYPguGUXSC.rdf", "jurisdiction": "US-WA", "reference_id": "VCS-002" } """ And expect total credit batches "3" - And expect batch supply with batch denom "C01-002-20200101-20210101-001" + And expect batch supply with batch denom "C01-P002-20200101-20210101-001" """ { "tradable_amount": "100", @@ -382,7 +382,7 @@ Feature: Bridge Integration "cancelled_amount": "0" } """ - And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-002-20200101-20210101-001" + And expect batch balance with address "regen1s3x2yhc4qf59gf53hwsnhkh7gqa3eryxwj8p42" and batch denom "C01-P002-20200101-20210101-001" """ { "tradable_amount": "100", From 7fdcf70cd883cf2963d85cf3271874c14d24c8f2 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 17:52:19 -0400 Subject: [PATCH 059/112] add gherkin stubs --- .../keeper/features/msg_create_or_update_application.feature | 2 ++ .../keeper/features/msg_create_unregistered_project.feature | 3 +-- .../base/keeper/features/msg_update_project_enrollment.feature | 2 ++ .../base/keeper/features/msg_update_project_fee.feature | 2 ++ .../base/types/v1/features/msg_update_project_fee.feature | 2 ++ 5 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 x/ecocredit/base/keeper/features/msg_create_or_update_application.feature create mode 100644 x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature create mode 100644 x/ecocredit/base/keeper/features/msg_update_project_fee.feature create mode 100644 x/ecocredit/base/types/v1/features/msg_update_project_fee.feature diff --git a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature new file mode 100644 index 0000000000..aff16bbffe --- /dev/null +++ b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature @@ -0,0 +1,2 @@ +Feature: Msg/CreateOrUpdateApplication + TODO \ No newline at end of file diff --git a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature index ba05131477..7e0b495f1b 100644 --- a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature @@ -1,3 +1,2 @@ Feature: CreateUnregisteredProject - - Rule: \ No newline at end of file + TODO diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature new file mode 100644 index 0000000000..c7632bfc2c --- /dev/null +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -0,0 +1,2 @@ +Feature: Msg/UpdateProjectEnrollment + TODO \ No newline at end of file diff --git a/x/ecocredit/base/keeper/features/msg_update_project_fee.feature b/x/ecocredit/base/keeper/features/msg_update_project_fee.feature new file mode 100644 index 0000000000..0c78ee3762 --- /dev/null +++ b/x/ecocredit/base/keeper/features/msg_update_project_fee.feature @@ -0,0 +1,2 @@ +Feature: Msg/UpdateProjectFee + TODO \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature b/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature new file mode 100644 index 0000000000..3a9f0c5a74 --- /dev/null +++ b/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature @@ -0,0 +1,2 @@ +Feature: MsgUpdateProjectFee + TODO From 8f0840d1b3e7d5d1ed02ee83960c0cb2fb907f52 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 18:03:29 -0400 Subject: [PATCH 060/112] add migration --- x/ecocredit/migrations/v5/state.go | 86 +++++++++++++++++++++++++ x/ecocredit/migrations/v5/state_test.go | 3 + 2 files changed, 89 insertions(+) create mode 100644 x/ecocredit/migrations/v5/state.go create mode 100644 x/ecocredit/migrations/v5/state_test.go diff --git a/x/ecocredit/migrations/v5/state.go b/x/ecocredit/migrations/v5/state.go new file mode 100644 index 0000000000..c3426c14ec --- /dev/null +++ b/x/ecocredit/migrations/v5/state.go @@ -0,0 +1,86 @@ +package v5 + +import ( + "fmt" + + sdk "github.com/cosmos/cosmos-sdk/types" + + ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" +) + +// MigrateState performs in-place store migrations from ConsensusVersion 4 to 5. +func MigrateState(sdkCtx sdk.Context, baseStore ecocreditv1.StateStore) error { + // collect all the classes associated with batches by looking up the class key from the project + batchIt, err := baseStore.BatchTable().List(sdkCtx, ecocreditv1.BatchPrimaryKey{}) + if err != nil { + return err + } + + batchClasses := map[uint64]uint64{} + for batchIt.Next() { + batch, err := batchIt.Value() + if err != nil { + return err + } + + if batch.ClassKey != 0 { + return fmt.Errorf("unexpected state, expected batch class key to be 0 before migration, got %d", batch.ClassKey) + } + + proj, err := baseStore.ProjectTable().Get(sdkCtx, batch.ProjectKey) + if err != nil { + return err + } + + batchClasses[batch.Key] = proj.ClassKey + } + batchIt.Close() + + // set class keys on batches + for batchKey, classKey := range batchClasses { + batch, err := baseStore.BatchTable().Get(sdkCtx, batchKey) + if err != nil { + return err + } + + batch.ClassKey = classKey + if err := baseStore.BatchTable().Save(sdkCtx, batch); err != nil { + return err + } + } + + // collect all the classes associated with projects + projectIt, err := baseStore.ProjectTable().List(sdkCtx, ecocreditv1.ProjectPrimaryKey{}) + if err != nil { + return err + } + + projectClasses := map[uint64]uint64{} + for projectIt.Next() { + proj, err := projectIt.Value() + if err != nil { + return err + } + + if proj.ClassKey == 0 { + return fmt.Errorf("unexpected state, expected project class key to be non-zero before migration, got %d", proj.ClassKey) + } + + projectClasses[proj.Key] = proj.ClassKey + } + projectIt.Close() + + // create enrollment entries for all project class relationships + for projectKey, classKey := range projectClasses { + err = baseStore.ProjectEnrollmentTable().Insert(sdkCtx, &ecocreditv1.ProjectEnrollment{ + ProjectKey: projectKey, + ClassKey: classKey, + Status: ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, + }) + if err != nil { + return err + } + } + + return nil +} diff --git a/x/ecocredit/migrations/v5/state_test.go b/x/ecocredit/migrations/v5/state_test.go new file mode 100644 index 0000000000..6ee00d41fe --- /dev/null +++ b/x/ecocredit/migrations/v5/state_test.go @@ -0,0 +1,3 @@ +package v5 + +// TODO From b3650452346fb4ddafd84813bfb3cc82068a1494 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 19 Mar 2024 18:04:41 -0400 Subject: [PATCH 061/112] register migration --- x/ecocredit/module/module.go | 4 ++++ x/ecocredit/server/migrations.go | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/x/ecocredit/module/module.go b/x/ecocredit/module/module.go index 0d3bc0b7b5..91f57dfec5 100644 --- a/x/ecocredit/module/module.go +++ b/x/ecocredit/module/module.go @@ -139,6 +139,10 @@ func (m *Module) RegisterServices(cfg module.Configurator) { panic(err) } + if err := cfg.RegisterMigration(ecocredit.ModuleName, 4, migrator.Migrate4to5); err != nil { + panic(err) + } + m.Keeper = svr } diff --git a/x/ecocredit/server/migrations.go b/x/ecocredit/server/migrations.go index 6c11719764..59e953ffb8 100644 --- a/x/ecocredit/server/migrations.go +++ b/x/ecocredit/server/migrations.go @@ -7,6 +7,7 @@ import ( ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" v3 "github.com/regen-network/regen-ledger/x/ecocredit/v3/migrations/v3" v4 "github.com/regen-network/regen-ledger/x/ecocredit/v3/migrations/v4" + v5 "github.com/regen-network/regen-ledger/x/ecocredit/v3/migrations/v5" ) // Migrator is a struct for handling in-place store migrations. @@ -45,3 +46,9 @@ func (m Migrator) Migrate3to4(ctx sdk.Context) error { baseStore, basketStore, _ := m.keeper.GetStateStores() return v4.MigrateState(ctx, baseStore, basketStore) } + +// Migrate4to5 migrates from version 4 to 5. +func (m Migrator) Migrate4to5(ctx sdk.Context) error { + baseStore, _, _ := m.keeper.GetStateStores() + return v5.MigrateState(ctx, baseStore) +} From 6c837f60640dd4efe868c387eccbff661d34a218 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 12:21:31 -0400 Subject: [PATCH 062/112] create or update application tests --- api/regen/ecocredit/v1/query.pulsar.go | 7 +- api/regen/ecocredit/v1/tx_grpc.pb.go | 6 +- proto/regen/ecocredit/v1/tx.proto | 3 +- .../msg_create_or_update_application.feature | 64 ++++++++- .../msg_create_unregistered_project.feature | 7 +- .../msg_update_project_enrollment.feature | 13 +- .../msg_create_or_update_application.go | 2 +- .../msg_create_or_update_application_test.go | 124 ++++++++++++++++++ .../keeper/query_project_enrollment_test.go | 3 + .../keeper/query_project_enrollments_test.go | 3 + x/ecocredit/base/types/v1/tx.pb.go | 6 +- 11 files changed, 225 insertions(+), 13 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_create_or_update_application_test.go create mode 100644 x/ecocredit/base/keeper/query_project_enrollment_test.go create mode 100644 x/ecocredit/base/keeper/query_project_enrollments_test.go diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index ed0c780004..bbd5b53388 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -15,6 +11,9 @@ import ( 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 ( diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index ddf700aa55..43a9de6f2e 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -73,7 +73,8 @@ type MsgClient interface { // CreateOrUpdateApplicaton creates a new project credit class application, updates // the metadata for an existing one when changes have been requested, or withdraws // the application. When an application is withdrawn, its data will be deleted from - // state and the project may apply again to the same credit class in the future. + // state and the project may apply again to the same credit class in the future. Any + // new metadata will be passed to EventUpdateApplication including for withdrawals. // // Since Revision 3 CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) @@ -507,7 +508,8 @@ type MsgServer interface { // CreateOrUpdateApplicaton creates a new project credit class application, updates // the metadata for an existing one when changes have been requested, or withdraws // the application. When an application is withdrawn, its data will be deleted from - // state and the project may apply again to the same credit class in the future. + // state and the project may apply again to the same credit class in the future. Any + // new metadata will be passed to EventUpdateApplication including for withdrawals. // // Since Revision 3 CreateOrUpdateApplication(context.Context, *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) diff --git a/proto/regen/ecocredit/v1/tx.proto b/proto/regen/ecocredit/v1/tx.proto index e58efb745a..3fbc298b50 100644 --- a/proto/regen/ecocredit/v1/tx.proto +++ b/proto/regen/ecocredit/v1/tx.proto @@ -38,7 +38,8 @@ service Msg { // CreateOrUpdateApplicaton creates a new project credit class application, updates // the metadata for an existing one when changes have been requested, or withdraws // the application. When an application is withdrawn, its data will be deleted from - // state and the project may apply again to the same credit class in the future. + // state and the project may apply again to the same credit class in the future. Any + // new metadata will be passed to EventUpdateApplication including for withdrawals. // // Since Revision 3 rpc CreateOrUpdateApplication(MsgCreateOrUpdateApplication) diff --git a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature index aff16bbffe..bc2877059d 100644 --- a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature @@ -1,2 +1,64 @@ Feature: Msg/CreateOrUpdateApplication - TODO \ No newline at end of file + + Background: + Given project "P001" with admin "Alice" + And credit class "C01" + + Rule: when there is no application for the project, the project admin can create an application + Background: + Given an application for "P001" to "C01" does not exist + + Scenario: admin creates an application + When "Alice" creates or updates an application for "P001" to "C01" with metadata "xyz123" + Then expect no error + * expect the application for "P001" to "C01" exists with metadata "xyz123" + * expect EventUpdateApplication with properties + """ + { "project_id": "P001", "class_id": "C01", "action": "ACTION_CREATE", + "new_application_metadata": "xyz123" } + """ + + Scenario: non-admin attempts to create an application + When "Bob" creates or updates an application for "P001" to "C01" with metadata "xyz123" + Then expect error contains "unauthorized" + And an application for "P001" to "C01" does not exist + + Rule: when there is an existing application, the project admin can update the metadata + Background: + Given an application for "P001" to "C01" with metadata "abc123" + + Scenario: admin updates the application metadata + When "Alice" creates or updates an application for "P001" to "C01" with metadata "foobar379" + Then expect no error + * expect the application for "P001" to "C01" exists with metadata "foobar379" + * expect EventUpdateApplication with properties + """ + { "project_id": "P001", "class_id": "C01", "action": "ACTION_UPDATE", + "new_application_metadata": "foobar379" } + """ + + Scenario: non-admin attempts to update the application metadata + When "Bob" creates or updates an application for "P001" to "C01" with metadata "foobar379" + Then expect error contains "unauthorized" + And expect the application for "P001" to "C01" exists with metadata "abc123" + + Rule: when there is an existing application, the project admin can withdraw the application and it is removed from state + Background: + Given an application for "P001" to "C01" with metadata "abc123" + + Scenario: admin withdraws the application + When "Alice" attempts to withdraw the application for "P001" to "C01" with metadata "foobar379" + Then expect no error + * an application for "P001" to "C01" does not exist + * expect EventUpdateApplication with properties + """ + { "project_id": "P001", "class_id": "C01", "action": "ACTION_WITHDRAW", + "new_application_metadata": "foobar379" } + """ + + Scenario: non-admin attempts to withdraw the application + When "Bob" attempts to withdraw the application for "P001" to "C01" with metadata "bob123" + Then expect error contains "unauthorized" + And expect the application for "P001" to "C01" exists with metadata "abc123" + + Rule: events get emitted diff --git a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature index 7e0b495f1b..bc1ef920a8 100644 --- a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature @@ -1,2 +1,7 @@ Feature: CreateUnregisteredProject - TODO + + Rule: a project can be created if the user pays the fee + + Scenario: fee amount is sufficient + + Scenario: fee amount is insufficient \ No newline at end of file diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index c7632bfc2c..e94c08022a 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -1,2 +1,13 @@ Feature: Msg/UpdateProjectEnrollment - TODO \ No newline at end of file + + Rule: an issuer can accept a project application + + Rule: an issuer can request changes to a project application + + Rule: an issuer can reject a project application and it is removed from state + + Rule: an issuer can terminate a project enrollment and it is removed from state + + Rule: any issuer can change the status even if a different issuer changed it before + + Rule: events get emitted \ No newline at end of file diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application.go b/x/ecocredit/base/keeper/msg_create_or_update_application.go index b269ae49e4..3e0905ba11 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application.go @@ -23,7 +23,7 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre return nil, err } - if bytes.Equal(proj.Admin, admin) { + if !bytes.Equal(proj.Admin, admin) { return nil, sdkerrors.ErrUnauthorized } diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application_test.go b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go new file mode 100644 index 0000000000..b30515f8b7 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go @@ -0,0 +1,124 @@ +package keeper + +import ( + "testing" + + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/gogo/protobuf/jsonpb" + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + "github.com/regen-network/regen-ledger/types/v2/testutil" + v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +type createOrUpdateApplicationSuite struct { + *baseSuite + addrs map[string]sdk.AccAddress + err error +} + +func TestCreateOrUpdateApplication(t *testing.T) { + gocuke.NewRunner(t, &createOrUpdateApplicationSuite{}). + Path("./features/msg_create_or_update_application.feature"). + Run() +} + +func (s *createOrUpdateApplicationSuite) Before(t gocuke.TestingT) { + s.baseSuite = setupBase(t) + s.addrs = make(map[string]sdk.AccAddress) + s.addrs["Alice"] = s.addr + s.addrs["Bob"] = s.addr2 +} + +func (s *createOrUpdateApplicationSuite) ProjectWithAdmin(projId, admin string) { + require.NoError(s.t, s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + Id: projId, + Admin: s.addrs[admin], + })) +} + +func (s *createOrUpdateApplicationSuite) CreditClass(clsId string) { + require.NoError(s.t, s.stateStore.ClassTable().Insert(s.ctx, &api.Class{ + Id: clsId, + })) +} + +func (s *createOrUpdateApplicationSuite) AnApplicationForToWithMetadata(projId, clsId, metadata string) { + proj, err := s.stateStore.ProjectTable().GetById(s.ctx, projId) + require.NoError(s.t, err) + cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + require.NoError(s.t, s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: proj.Key, + ClassKey: cls.Key, + ApplicationMetadata: metadata, + })) +} + +func (s *createOrUpdateApplicationSuite) AnApplicationForToDoesNotExist(projId, clsId string) { + enrollment, err := s.getEnrollment(projId, clsId) + if !ormerrors.IsNotFound(err) { + s.t.Fatalf("expected project enrollment not found, got %v", enrollment) + } +} + +func (s *createOrUpdateApplicationSuite) CreatesOrUpdatesAnApplicationForToWithMetadata(admin, projId, clsId, metadata string) { + _, s.err = s.k.CreateOrUpdateApplication(s.ctx, &v1.MsgCreateOrUpdateApplication{ + ProjectAdmin: s.addrs[admin].String(), + ProjectId: projId, + ClassId: clsId, + Metadata: metadata, + Withdraw: false, + }) +} + +func (s *createOrUpdateApplicationSuite) AttemptsToWithdrawTheApplicationForToWithMetadata(admin, projId, clsId, metadata string) { + _, s.err = s.k.CreateOrUpdateApplication(s.ctx, &v1.MsgCreateOrUpdateApplication{ + ProjectAdmin: s.addrs[admin].String(), + ProjectId: projId, + ClassId: clsId, + Metadata: metadata, + Withdraw: true, + }) +} + +func (s *createOrUpdateApplicationSuite) ExpectNoError() { + require.NoError(s.t, s.err) +} + +func (s *createOrUpdateApplicationSuite) ExpectErrorContains(x string) { + if x == "" { + require.NoError(s.t, s.err) + } else { + require.ErrorContains(s.t, s.err, x) + } +} + +func (s *createOrUpdateApplicationSuite) ExpectTheApplicationForToExistsWithMetadata(projId, clsId, metadata string) { + enrollment, err := s.getEnrollment(projId, clsId) + require.NoError(s.t, err) + require.Equal(s.t, metadata, enrollment.ApplicationMetadata) +} + +func (s *createOrUpdateApplicationSuite) ExpectEventupdateapplicationWithProperties(a gocuke.DocString) { + var evtExpected v1.EventUpdateApplication + err := jsonpb.UnmarshalString(a.Content, &evtExpected) + require.NoError(s.t, err) + + evtActual, found := testutil.GetEvent(&evtExpected, s.sdkCtx.EventManager().Events()) + require.True(s.t, found) + + err = testutil.MatchEvent(&evtExpected, evtActual) + require.NoError(s.t, err) +} + +func (s *createOrUpdateApplicationSuite) getEnrollment(projId, clsId string) (*api.ProjectEnrollment, error) { + proj, err := s.stateStore.ProjectTable().GetById(s.ctx, projId) + require.NoError(s.t, err) + cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + return s.stateStore.ProjectEnrollmentTable().Get(s.ctx, proj.Key, cls.Key) +} diff --git a/x/ecocredit/base/keeper/query_project_enrollment_test.go b/x/ecocredit/base/keeper/query_project_enrollment_test.go new file mode 100644 index 0000000000..e0681aee31 --- /dev/null +++ b/x/ecocredit/base/keeper/query_project_enrollment_test.go @@ -0,0 +1,3 @@ +package keeper + +// TODO diff --git a/x/ecocredit/base/keeper/query_project_enrollments_test.go b/x/ecocredit/base/keeper/query_project_enrollments_test.go new file mode 100644 index 0000000000..e0681aee31 --- /dev/null +++ b/x/ecocredit/base/keeper/query_project_enrollments_test.go @@ -0,0 +1,3 @@ +package keeper + +// TODO diff --git a/x/ecocredit/base/types/v1/tx.pb.go b/x/ecocredit/base/types/v1/tx.pb.go index db56703112..55138c2bd0 100644 --- a/x/ecocredit/base/types/v1/tx.pb.go +++ b/x/ecocredit/base/types/v1/tx.pb.go @@ -3661,7 +3661,8 @@ type MsgClient interface { // CreateOrUpdateApplicaton creates a new project credit class application, updates // the metadata for an existing one when changes have been requested, or withdraws // the application. When an application is withdrawn, its data will be deleted from - // state and the project may apply again to the same credit class in the future. + // state and the project may apply again to the same credit class in the future. Any + // new metadata will be passed to EventUpdateApplication including for withdrawals. // // Since Revision 3 CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) @@ -4093,7 +4094,8 @@ type MsgServer interface { // CreateOrUpdateApplicaton creates a new project credit class application, updates // the metadata for an existing one when changes have been requested, or withdraws // the application. When an application is withdrawn, its data will be deleted from - // state and the project may apply again to the same credit class in the future. + // state and the project may apply again to the same credit class in the future. Any + // new metadata will be passed to EventUpdateApplication including for withdrawals. // // Since Revision 3 CreateOrUpdateApplication(context.Context, *MsgCreateOrUpdateApplication) (*MsgCreateOrUpdateApplicationResponse, error) From 7b37ed0b328b9c71a449b6c622176f6a133e8e16 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 12:57:48 -0400 Subject: [PATCH 063/112] create unregistered project tests --- api/regen/ecocredit/v1/query.pulsar.go | 7 +- .../msg_create_unregistered_project.feature | 36 +++++- .../msg_create_unregistered_project_test.go | 103 ++++++++++++++++++ x/ecocredit/go.mod | 11 +- x/ecocredit/go.sum | 20 ++-- 5 files changed, 153 insertions(+), 24 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_create_unregistered_project_test.go diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index bbd5b53388..ed0c780004 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -11,9 +15,6 @@ import ( 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 ( diff --git a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature index bc1ef920a8..6113da5110 100644 --- a/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature +++ b/x/ecocredit/base/keeper/features/msg_create_unregistered_project.feature @@ -1,7 +1,37 @@ Feature: CreateUnregisteredProject + Background: + Given project creation fee "100regen" + Given I have balance "150regen" - Rule: a project can be created if the user pays the fee - + Rule: a project can be created if the user pays the fee and has enough balance Scenario: fee amount is sufficient + When I create a project with jurisdiction "US" and fee "100regen" + Then expect the project is created successfully + And expect balance "50regen" + + Scenario: fee amount is insufficient + When I create a project with jurisdiction "US" and fee "50regen" + Then expect error contains "insufficient fee" + And expect balance "150regen" + + Scenario: fee amount is more than required + When I create a project with jurisdiction "US" and fee "150regen" + Then expect the project is created successfully + And expect balance "50regen" + + Rule: a project cannot be created if has insufficient balance + Given I have balance "50regen" + When I create a project with jurisdiction "US" and fee "100regen" + Then expect error contains "insufficient balance" + And expect balance "50regen" + + Rule: creator is admin + When I create a project with jurisdiction "US" and fee "100regen" + Then expect the project is created successfully + And expect I am the admin - Scenario: fee amount is insufficient \ No newline at end of file + Rule: jurisdiction and metadata are saved + When I create a project with jurisdiction "US", metadata "foobar" and fee "100regen" + Then expect the project is created successfully + And expect jurisdiction "US" + And expect metadata "foobar" diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go new file mode 100644 index 0000000000..76f26352a7 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go @@ -0,0 +1,103 @@ +package keeper + +import ( + "fmt" + "testing" + + basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/golang/mock/gomock" + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +type createUnregisteredProjectSuite struct { + *baseSuite + err error + res *v1.MsgCreateUnregisteredProjectResponse + balance sdk.Coins +} + +func TestCreateUnregisteredProject(t *testing.T) { + gocuke.NewRunner(t, &createUnregisteredProjectSuite{}). + Path("./features/msg_create_unregistered_project.feature"). + Run() +} + +func (s *createUnregisteredProjectSuite) Before(t gocuke.TestingT) { + s.baseSuite = setupBase(t) + s.bankKeeper.EXPECT(). + GetBalance(gomock.Any(), s.addr, "regen"). + DoAndReturn(func(_ sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin { + if addr.Equals(s.addr) { + ok, denom := s.balance.Find(denom) + if ok { + return denom + } + } + return sdk.Coin{} + }). + AnyTimes() + + s.bankKeeper.EXPECT(). + SendCoinsFromAccountToModule(gomock.Any(), s.addr, gomock.Any(), gomock.Any()). + DoAndReturn(func(_ sdk.Context, fromAddr sdk.AccAddress, toAddr string, coins sdk.Coins) error { + if fromAddr.Equals(s.addr) { + s.balance = s.balance.Sub(coins...) + return nil + } else { + return fmt.Errorf("unexpected from address: %s", fromAddr) + } + }). + AnyTimes() +} + +func (s *createUnregisteredProjectSuite) ProjectCreationFee(fee string) { + coin, err := sdk.ParseCoinNormalized(fee) + require.NoError(s.t, err) + require.NoError(s.t, s.stateStore.ProjectFeeTable().Save(s.ctx, &api.ProjectFee{ + Fee: &basev1beta1.Coin{ + Denom: coin.Denom, + Amount: coin.Amount.String(), + }, + })) +} + +func (s *createUnregisteredProjectSuite) IHaveBalance(balance string) { + coins, err := sdk.ParseCoinsNormalized(balance) + require.NoError(s.t, err) + s.balance = coins +} + +func (s *createUnregisteredProjectSuite) ICreateAProjectWithJurisdictionAndFee(jurisdiction, fee string) { + coin, err := sdk.ParseCoinNormalized(fee) + require.NoError(s.t, err) + s.res, s.err = s.k.CreateUnregisteredProject(s.ctx, &v1.MsgCreateUnregisteredProject{ + Admin: s.addr.String(), + Jurisdiction: jurisdiction, + Fee: &coin, + }) +} + +func (s *createUnregisteredProjectSuite) ExpectTheProjectIsCreatedSuccessfully() { + require.NoError(s.t, s.err) + require.NotNil(s.t, s.res) + require.NotEmpty(s.t, s.res.ProjectId) +} + +func (s *createUnregisteredProjectSuite) ExpectBalance(a string) { + coins, err := sdk.ParseCoinsNormalized(a) + require.NoError(s.t, err) + require.True(s.t, s.balance.IsEqual(coins), "expected balance %s, got %s", coins, s.balance) +} + +func (s *createUnregisteredProjectSuite) ExpectErrorContains(x string) { + if x == "" { + require.NoError(s.t, s.err) + } else { + require.ErrorContains(s.t, s.err, x) + } +} diff --git a/x/ecocredit/go.mod b/x/ecocredit/go.mod index f1d9ed7257..9916b3188e 100644 --- a/x/ecocredit/go.mod +++ b/x/ecocredit/go.mod @@ -5,6 +5,7 @@ go 1.21 require ( cosmossdk.io/errors v1.0.0 cosmossdk.io/math v1.2.0 + github.com/cockroachdb/apd/v3 v3.2.1 github.com/cosmos/cosmos-sdk v0.46.12 github.com/cosmos/cosmos-sdk/api v0.1.0 github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.12 @@ -14,7 +15,7 @@ require ( github.com/golang/protobuf v1.5.3 github.com/google/go-cmp v0.6.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/regen-network/gocuke v1.1.0 + github.com/regen-network/gocuke v1.1.1 github.com/regen-network/regen-ledger/api/v2 v2.0.0 github.com/regen-network/regen-ledger/types/v2 v2.0.0 github.com/spf13/cobra v1.8.0 @@ -52,7 +53,6 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/cockroachdb/apd/v3 v3.2.1 // indirect github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect github.com/cometbft/cometbft-db v0.7.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect @@ -64,10 +64,9 @@ require ( github.com/cosmos/iavl v0.19.6 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect - github.com/cucumber/common/messages/go/v19 v19.1.2 // indirect - github.com/cucumber/gherkin/go/v26 v26.2.0 // indirect - github.com/cucumber/messages/go/v21 v21.0.1 // indirect - github.com/cucumber/tag-expressions/go/v5 v5.0.6 // indirect + github.com/cucumber/gherkin/go/v27 v27.0.0 // indirect + github.com/cucumber/messages/go/v22 v22.0.0 // indirect + github.com/cucumber/tag-expressions/go/v6 v6.1.0 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect diff --git a/x/ecocredit/go.sum b/x/ecocredit/go.sum index a2070b763d..686fcc3fe3 100644 --- a/x/ecocredit/go.sum +++ b/x/ecocredit/go.sum @@ -399,14 +399,12 @@ github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6V github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cucumber/common/messages/go/v19 v19.1.2 h1:8/ZkW9rj3KQo/regmI8kcy48tk57m427Olb7Y0lXcN4= -github.com/cucumber/common/messages/go/v19 v19.1.2/go.mod h1:0KLDvMVmmkEZcWUSKxFHSUSLS1gjujBbPN0p41IwwJ4= -github.com/cucumber/gherkin/go/v26 v26.2.0 h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI= -github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0= -github.com/cucumber/messages/go/v21 v21.0.1 h1:wzA0LxwjlWQYZd32VTlAVDTkW6inOFmSM+RuOwHZiMI= -github.com/cucumber/messages/go/v21 v21.0.1/go.mod h1:zheH/2HS9JLVFukdrsPWoPdmUtmYQAQPLk7w5vWsk5s= -github.com/cucumber/tag-expressions/go/v5 v5.0.6 h1:F0mqsu69cG/3MTTZqy+PlaPcU/MMl936OJjxKgdFgWs= -github.com/cucumber/tag-expressions/go/v5 v5.0.6/go.mod h1:/sHRc0Vt+pPjgQdNZjH8W2cnmb+tiVYp19VESzpGQsw= +github.com/cucumber/gherkin/go/v27 v27.0.0 h1:waJh5eeq7rrKn5Gf3/FI4G34ypduPRaV8e370dnupDI= +github.com/cucumber/gherkin/go/v27 v27.0.0/go.mod h1:2JxwYskO0sO4kumc/Nv1g6bMncT5w0lShuKZnmUIhhk= +github.com/cucumber/messages/go/v22 v22.0.0 h1:hk3ITpEWQ+KWDe619zYcqtaLOfcu9jgClSeps3DlNWI= +github.com/cucumber/messages/go/v22 v22.0.0/go.mod h1:aZipXTKc0JnjCsXrJnuZpWhtay93k7Rn3Dee7iyPJjs= +github.com/cucumber/tag-expressions/go/v6 v6.1.0 h1:YOhnlISh/lyPZrLojFbJVzocv7TGhzOhB9aULN8A7Sg= +github.com/cucumber/tag-expressions/go/v6 v6.1.0/go.mod h1:6scGHUy3RLnbNq8un7XNoopF2qR/0RMgqolQH/TkycY= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= @@ -547,7 +545,6 @@ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= @@ -1038,8 +1035,8 @@ github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzy github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/cosmos-sdk v0.46.13-regen-1 h1:sCwCgBtvrg7P2SbjK29a+sxUQW6Bh+/AMqlT0ezxHpc= github.com/regen-network/cosmos-sdk v0.46.13-regen-1/go.mod h1:EfY521ATNEla8eJ6oJuZBdgP5+p360s7InnRqX+TWdM= -github.com/regen-network/gocuke v1.1.0 h1:gxlkRTfpR9gJ0mwqQZIpoXHZGx+KPshKQpKE0jtUH5s= -github.com/regen-network/gocuke v1.1.0/go.mod h1:nVBO9DEnZNUB/GjmJgAIojKxcEu9a0EZwry0qKW24Mk= +github.com/regen-network/gocuke v1.1.1 h1:13D3n5xLbpzA/J2ELHC9jXYq0+XyEr64A3ehjvfmBbE= +github.com/regen-network/gocuke v1.1.1/go.mod h1:Nl9EbhLmTzdLqb52fr/Fvf8LcoVuTjjf8FlLmXz1zHo= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= @@ -1119,7 +1116,6 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= From d089a8047c52b148e31ca6100488010c6f4a783c Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 13:38:03 -0400 Subject: [PATCH 064/112] WIP on update project enrollment tests --- .../msg_update_project_enrollment.feature | 65 +++++++++- .../msg_update_project_enrollment_test.go | 117 ++++++++++++++++++ 2 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_update_project_enrollment_test.go diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index e94c08022a..3b091792cb 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -1,13 +1,74 @@ Feature: Msg/UpdateProjectEnrollment - Rule: an issuer can accept a project application + Background: + Given class "C01" with issuer "I01" + And an application for project "P001" to class "C01" with status "UNSPECIFIED" and metadata "abc" + + Rule: an issuer can accept a project application from status unspecified or changes requested + Scenario Outline: + Given enrollment for "P001" to "C01" is "" with metadata "" + When updates enrollment for "P001" to "C01" with status "" and metadata "" + Then expect error contains + And expect enrollment for "P001" to "C01" to be "" with metadata "" + Examples: + | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | + | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | UNSPECIFIED | abc | Bob | ACCEPTED | foo123 | unauthorized | UNSPECIFIED | abc | + | CHANGES_REQUESTED | bar456 | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | CHANGES_REQUESTED | bar456 | Bob | ACCEPTED | foo123 | unauthorized | CHANGES_REQUESTED | bar456 | + | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | + | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | + + Scenario Outline: + Given enrollment for "P001" to "C01" is "" with metadata "" + When updates enrollment for "P001" to "C01" with status "" and metadata "" + Then expect error contains + And expect enrollment for "P001" to "C01" to be + + Examples: + | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | + | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false + | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | + | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | + | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | + | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | + | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | + | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | + | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | + + Scenario: an issuer accepts a project application + When "I01" updates enrollment for "P001" to "C01" with status "ACCEPTED" and metadata "foo123" + Then expect no error + And expect enrollment for "P001" to "C01" to be "ACCEPTED" with metadata "foo123" + + Scenario: non issuer attempts to accept a project application + When "Bob" updates enrollment for "P001" to "C01" with status "ACCEPTED" and metadata "foo123" + Then expect error contains "unauthorized" + And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" Rule: an issuer can request changes to a project application + Scenario: an issuer requests changes to a project application + When "I01" updates enrollment for "P001" to "C01" with status "CHANGES_REQUESTED" and metadata "bar456" + Then expect no error + And expect enrollment for "P001" to "C01" to be "CHANGES_REQUESTED" with metadata "bar456" + + Scenario: non issuer attempts to request changes to a project application + When "Bob" updates enrollment for "P001" to "C01" with status "CHANGES_REQUESTED" and metadata "bar456" + Then expect error contains "unauthorized" + And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" Rule: an issuer can reject a project application and it is removed from state + Scenario: an issuer rejects a project application + When "I01" updates enrollment for "P001" to "C01" with status "REJECTED" and metadata "baz789" + Then expect no error + + Scenario: non issuer attempts to reject a project application + When "Bob" updates enrollment for "P001" to "C01" with status "REJECTED" and metadata "baz789" + Then expect error contains "unauthorized" + And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" Rule: an issuer can terminate a project enrollment and it is removed from state - Rule: any issuer can change the status even if a different issuer changed it before + Rule: any issuer can change the status even if a different issuer changed it before Rule: events get emitted \ No newline at end of file diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go new file mode 100644 index 0000000000..16194474b3 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go @@ -0,0 +1,117 @@ +package keeper + +import ( + "fmt" + "testing" + + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +type updateProjectEnrollmentSuite struct { + *baseSuite + err error + addrs map[string]sdk.AccAddress +} + +func TestUpdateProjectEnrollment(t *testing.T) { + gocuke.NewRunner(t, &updateProjectEnrollmentSuite{}). + Path("./features/msg_update_project_enrollment.feature"). + Run() +} + +func (s *updateProjectEnrollmentSuite) Before(t gocuke.TestingT) { + s.baseSuite = setupBase(t) + s.addrs = map[string]sdk.AccAddress{ + "I01": s.addr, + "Bob": s.addr2, + } +} + +func (s *updateProjectEnrollmentSuite) ClassWithIssuer(clsId, issuer string) { + clsKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + Id: clsId, + Admin: s.addrs[issuer], + }) + require.NoError(s.t, err) + + err = s.stateStore.ClassIssuerTable().Insert(s.ctx, &api.ClassIssuer{ + ClassKey: clsKey, + Issuer: s.addrs[issuer], + }) + require.NoError(s.t, err) +} + +func (s *updateProjectEnrollmentSuite) AnApplicationForProjectToClassWithStatusAndMetadata(projId, clsId, status, metadata string) { + projKey, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ + Id: projId, + }) + require.NoError(s.t, err) + cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + err = s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: projKey, + ClassKey: cls.Key, + Status: statusFromString(status), + EnrollmentMetadata: metadata, + }) + require.NoError(s.t, err) +} + +func (s *updateProjectEnrollmentSuite) UpdatesEnrollmentForToWithStatusAndMetadata(issuer, projId, clsId, status, metadata string) { + _, s.err = s.k.UpdateProjectEnrollment(s.ctx, &v1.MsgUpdateProjectEnrollment{ + Issuer: s.addrs[issuer].String(), + ProjectId: projId, + ClassId: clsId, + NewStatus: v1.ProjectEnrollmentStatus(statusFromString(status)), + Metadata: metadata, + }) +} + +func (s *updateProjectEnrollmentSuite) ExpectNoError() { + require.NoError(s.t, s.err) +} + +func (s *updateProjectEnrollmentSuite) ExpectEnrollmentForToToBeWithMetadata(projId, clsId, status, metadata string) { + enrollment, err := s.getEnrollment(projId, clsId) + require.NoError(s.t, err) + require.Equal(s.t, statusFromString(status), enrollment.Status) + require.Equal(s.t, metadata, enrollment.EnrollmentMetadata) +} + +func (s *updateProjectEnrollmentSuite) ExpectNoEnrollmentForTo(projId, clsId string) { + enrollment, err := s.getEnrollment(projId, clsId) + if !ormerrors.IsNotFound(err) { + s.t.Fatalf("expected project enrollment not found, got %v", enrollment) + } +} + +func (s *updateProjectEnrollmentSuite) ExpectErrorContains(a string) { + if a == "" { + require.Error(s.t, s.err) + } else { + require.ErrorContains(s.t, s.err, a) + } +} + +func (s *updateProjectEnrollmentSuite) getEnrollment(projId, clsId string) (*api.ProjectEnrollment, error) { + proj, err := s.stateStore.ProjectTable().GetById(s.ctx, projId) + require.NoError(s.t, err) + cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + return s.stateStore.ProjectEnrollmentTable().Get(s.ctx, proj.Key, cls.Key) +} + +func statusFromString(statusName string) api.ProjectEnrollmentStatus { + var status api.ProjectEnrollmentStatus + return api.ProjectEnrollmentStatus( + status.Descriptor().Values(). + ByName(protoreflect.Name(fmt.Sprintf("PROJECT_ENROLLMENT_STATUS_%s", statusName))). + Number()) +} From a135011faa24015122554814ce093fd35ae58ceb Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 14:34:12 -0400 Subject: [PATCH 065/112] update project enrollment tests --- .../msg_update_project_enrollment.feature | 93 +++++++------------ x/ecocredit/base/keeper/keeper_test.go | 2 + .../keeper/msg_update_project_enrollment.go | 3 + .../msg_update_project_enrollment_test.go | 45 ++++++--- 4 files changed, 71 insertions(+), 72 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index 3b091792cb..af94be2635 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -1,15 +1,20 @@ Feature: Msg/UpdateProjectEnrollment Background: - Given class "C01" with issuer "I01" - And an application for project "P001" to class "C01" with status "UNSPECIFIED" and metadata "abc" - - Rule: an issuer can accept a project application from status unspecified or changes requested + Given project "P001" + * class "C01" + * class issuer "I01" for "C01" + * class issuer "I02" for "C01" + + Rule: valid state transitions performed by issuers which don't remove enrollment entries are: + UNSPECIFIED -> CHANGES_REQUESTED or ACCEPTED + CHANGES_REQUESTED -> ACCEPTED + ACCEPTED -> ACCEPTED with new metadata Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" - When updates enrollment for "P001" to "C01" with status "" and metadata "" - Then expect error contains - And expect enrollment for "P001" to "C01" to be "" with metadata "" + When "" updates enrollment for "P001" to "C01" with status "" and metadata "" + Then expect error contains "" + And expect enrollment for "P001" to "C01" to be "" with metadata "" Examples: | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | @@ -19,56 +24,30 @@ Feature: Msg/UpdateProjectEnrollment | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | + Rule: valid state transitions performed by issuers which remove enrollment entries are: + UNSPECIFIED -> REJECTED + CHANGES_REQUESTED -> REJECTED + ACCEPTED -> TERMINATED Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" - When updates enrollment for "P001" to "C01" with status "" and metadata "" - Then expect error contains - And expect enrollment for "P001" to "C01" to be - + When "" updates enrollment for "P001" to "C01" with status "" and metadata "" + Then expect error contains "" + And expect enrollment exists for "P001" to "C01" to be "" Examples: - | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | - | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false - | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | - | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | - | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | - | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | - | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | - | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | - | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | - - Scenario: an issuer accepts a project application - When "I01" updates enrollment for "P001" to "C01" with status "ACCEPTED" and metadata "foo123" - Then expect no error - And expect enrollment for "P001" to "C01" to be "ACCEPTED" with metadata "foo123" - - Scenario: non issuer attempts to accept a project application - When "Bob" updates enrollment for "P001" to "C01" with status "ACCEPTED" and metadata "foo123" - Then expect error contains "unauthorized" - And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" - - Rule: an issuer can request changes to a project application - Scenario: an issuer requests changes to a project application - When "I01" updates enrollment for "P001" to "C01" with status "CHANGES_REQUESTED" and metadata "bar456" - Then expect no error - And expect enrollment for "P001" to "C01" to be "CHANGES_REQUESTED" with metadata "bar456" - - Scenario: non issuer attempts to request changes to a project application - When "Bob" updates enrollment for "P001" to "C01" with status "CHANGES_REQUESTED" and metadata "bar456" - Then expect error contains "unauthorized" - And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" - - Rule: an issuer can reject a project application and it is removed from state - Scenario: an issuer rejects a project application - When "I01" updates enrollment for "P001" to "C01" with status "REJECTED" and metadata "baz789" - Then expect no error - - Scenario: non issuer attempts to reject a project application - When "Bob" updates enrollment for "P001" to "C01" with status "REJECTED" and metadata "baz789" - Then expect error contains "unauthorized" - And expect enrollment for "P001" to "C01" to be "UNSPECIFIED" with metadata "abc" - - Rule: an issuer can terminate a project enrollment and it is removed from state - - Rule: any issuer can change the status even if a different issuer changed it before - - Rule: events get emitted \ No newline at end of file + | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | + | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | + | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | + | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | + | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | + | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | + | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | + | UNSPECIFIED | abc | I01 | TERMINATED | baz789 | invalid | true | + | UNSPECIFIED | abc | Bob | TERMINATED | baz789 | unauthorized | true | + | CHANGES_REQUESTED | bar456 | I01 | TERMINATED | baz789 | invalid | true | + | CHANGES_REQUESTED | bar456 | Bob | TERMINATED | baz789 | unauthorized | true | + | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | + | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | + + Rule: events get emitted + + Rule: any issuer can transition states \ No newline at end of file diff --git a/x/ecocredit/base/keeper/keeper_test.go b/x/ecocredit/base/keeper/keeper_test.go index 127640f8bb..a05b7c3da1 100644 --- a/x/ecocredit/base/keeper/keeper_test.go +++ b/x/ecocredit/base/keeper/keeper_test.go @@ -44,6 +44,7 @@ type baseSuite struct { ctrl *gomock.Controller addr sdk.AccAddress addr2 sdk.AccAddress + addr3 sdk.AccAddress bankKeeper *mocks.MockBankKeeper storeKey *storetypes.KVStoreKey sdkCtx sdk.Context @@ -86,6 +87,7 @@ func setupBase(t gocuke.TestingT) *baseSuite { s.k = NewKeeper(s.stateStore, s.bankKeeper, moduleAddress, basketStore, marketStore, s.authority) _, _, s.addr = testdata.KeyTestPubAddr() _, _, s.addr2 = testdata.KeyTestPubAddr() + _, _, s.addr3 = testdata.KeyTestPubAddr() return s } diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go index e1842cca85..4f8aecb28d 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -55,6 +55,9 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat } case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: switch newStatus { + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: + // Valid case for just updating metadata of an accepted project + break case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: delete = true break diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go index 16194474b3..b8a2e6c308 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go @@ -30,33 +30,42 @@ func (s *updateProjectEnrollmentSuite) Before(t gocuke.TestingT) { s.baseSuite = setupBase(t) s.addrs = map[string]sdk.AccAddress{ "I01": s.addr, - "Bob": s.addr2, + "I02": s.addr2, + "Bob": s.addr3, } } -func (s *updateProjectEnrollmentSuite) ClassWithIssuer(clsId, issuer string) { - clsKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ - Id: clsId, - Admin: s.addrs[issuer], +func (s *updateProjectEnrollmentSuite) Project(projId string) { + err := s.stateStore.ProjectTable().Insert(s.ctx, &api.Project{ + Id: projId, + }) + require.NoError(s.t, err) +} + +func (s *updateProjectEnrollmentSuite) Class(clsId string) { + err := s.stateStore.ClassTable().Insert(s.ctx, &api.Class{ + Id: clsId, }) require.NoError(s.t, err) +} +func (s *updateProjectEnrollmentSuite) ClassIssuerFor(issuer, clsId string) { + cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) err = s.stateStore.ClassIssuerTable().Insert(s.ctx, &api.ClassIssuer{ - ClassKey: clsKey, + ClassKey: cls.Key, Issuer: s.addrs[issuer], }) require.NoError(s.t, err) } -func (s *updateProjectEnrollmentSuite) AnApplicationForProjectToClassWithStatusAndMetadata(projId, clsId, status, metadata string) { - projKey, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ - Id: projId, - }) +func (s *updateProjectEnrollmentSuite) EnrollmentForToIsWithMetadata(projId, clsId, status, metadata string) { + proj, err := s.stateStore.ProjectTable().GetById(s.ctx, projId) require.NoError(s.t, err) cls, err := s.stateStore.ClassTable().GetById(s.ctx, clsId) require.NoError(s.t, err) err = s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ - ProjectKey: projKey, + ProjectKey: proj.Key, ClassKey: cls.Key, Status: statusFromString(status), EnrollmentMetadata: metadata, @@ -85,16 +94,22 @@ func (s *updateProjectEnrollmentSuite) ExpectEnrollmentForToToBeWithMetadata(pro require.Equal(s.t, metadata, enrollment.EnrollmentMetadata) } -func (s *updateProjectEnrollmentSuite) ExpectNoEnrollmentForTo(projId, clsId string) { +func (s *updateProjectEnrollmentSuite) ExpectEnrollmentExistsForToToBe(projId, clsId, exists string) { enrollment, err := s.getEnrollment(projId, clsId) - if !ormerrors.IsNotFound(err) { - s.t.Fatalf("expected project enrollment not found, got %v", enrollment) + if exists == "true" { + require.NoError(s.t, err) + } else if exists == "false" { + if !ormerrors.IsNotFound(err) { + s.t.Fatalf("expected project enrollment not found, got %v", enrollment) + } + } else { + s.t.Fatalf("invalid exists value: %s", exists) } } func (s *updateProjectEnrollmentSuite) ExpectErrorContains(a string) { if a == "" { - require.Error(s.t, s.err) + require.NoError(s.t, s.err) } else { require.ErrorContains(s.t, s.err, a) } From 7279a195568f94dceee5b7a6f32dcc49be313400 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 15:25:22 -0400 Subject: [PATCH 066/112] update project enrollment tests --- .../msg_update_project_enrollment.feature | 60 ++++++++++++++++--- .../keeper/msg_update_project_enrollment.go | 2 + .../msg_update_project_enrollment_test.go | 25 ++++++++ 3 files changed, 78 insertions(+), 9 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index af94be2635..2c2dbf8967 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -7,14 +7,23 @@ Feature: Msg/UpdateProjectEnrollment * class issuer "I02" for "C01" Rule: valid state transitions performed by issuers which don't remove enrollment entries are: - UNSPECIFIED -> CHANGES_REQUESTED or ACCEPTED - CHANGES_REQUESTED -> ACCEPTED - ACCEPTED -> ACCEPTED with new metadata + UNSPECIFIED -> CHANGES_REQUESTED or ACCEPTED + CHANGES_REQUESTED -> ACCEPTED + ACCEPTED -> ACCEPTED with new metadata Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" When "" updates enrollment for "P001" to "C01" with status "" and metadata "" Then expect error contains "" And expect enrollment for "P001" to "C01" to be "" with metadata "" + And if no error expect EventUpdateProjectEnrollment with properties + """ + { + "issuer": "", "project_id": "P001", "class_id": "C01", + "old_status": "PROJECT_ENROLLMENT_STATUS_", + "new_status": "PROJECT_ENROLLMENT_STATUS_", + "new_enrollment_metadata": "" + } + """ Examples: | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | @@ -25,14 +34,23 @@ Feature: Msg/UpdateProjectEnrollment | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | Rule: valid state transitions performed by issuers which remove enrollment entries are: - UNSPECIFIED -> REJECTED - CHANGES_REQUESTED -> REJECTED - ACCEPTED -> TERMINATED + UNSPECIFIED -> REJECTED + CHANGES_REQUESTED -> REJECTED + ACCEPTED -> TERMINATED Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" When "" updates enrollment for "P001" to "C01" with status "" and metadata "" Then expect error contains "" And expect enrollment exists for "P001" to "C01" to be "" + And if no error expect EventUpdateProjectEnrollment with properties + """ + { + "issuer": "", "project_id": "P001", "class_id": "C01", + "old_status": "PROJECT_ENROLLMENT_STATUS_", + "new_status": "PROJECT_ENROLLMENT_STATUS_", + "new_enrollment_metadata": "" + } + """ Examples: | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | @@ -48,6 +66,30 @@ Feature: Msg/UpdateProjectEnrollment | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | - Rule: events get emitted - - Rule: any issuer can transition states \ No newline at end of file + Rule: any issuer can transition states + Scenario: Issuer 1 requests changes, issuer 2 accepts + Given enrollment for "P001" to "C01" is "UNSPECIFIED" with metadata "abc" + When "I01" updates enrollment for "P001" to "C01" with status "CHANGES_REQUESTED" and metadata "def" + Then expect no error + And expect enrollment for "P001" to "C01" to be "CHANGES_REQUESTED" with metadata "def" + And expect EventUpdateProjectEnrollment with properties + """ + { + "issuer": "I01", "project_id": "P001", "class_id": "C01", + "old_status": "PROJECT_ENROLLMENT_STATUS_UNSPECIFIED", + "new_status": "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED", + "new_enrollment_metadata": "def" + } + """ + When "I02" updates enrollment for "P001" to "C01" with status "ACCEPTED" and metadata "ghi" + Then expect no error + And expect enrollment for "P001" to "C01" to be "ACCEPTED" with metadata "ghi" + And expect EventUpdateProjectEnrollment with properties + """ + { + "issuer": "I02", "project_id": "P001", "class_id": "C01", + "old_status": "PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED", + "new_status": "PROJECT_ENROLLMENT_STATUS_ACCEPTED", + "new_enrollment_metadata": "ghi" + } + """ diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go index 4f8aecb28d..e6a73f8507 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -83,8 +83,10 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat } if err := sdk.UnwrapSDKContext(ctx).EventManager().EmitTypedEvent(&types.EventUpdateProjectEnrollment{ + Issuer: msg.Issuer, ProjectId: proj.Id, ClassId: class.Id, + OldStatus: types.ProjectEnrollmentStatus(existingStatus), NewStatus: types.ProjectEnrollmentStatus(newStatus), NewEnrollmentMetadata: msg.Metadata, }); err != nil { diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go index b8a2e6c308..81bfa04cd8 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go @@ -6,11 +6,13 @@ import ( "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/gogo/protobuf/jsonpb" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" protoreflect "google.golang.org/protobuf/reflect/protoreflect" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + "github.com/regen-network/regen-ledger/types/v2/testutil" v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) @@ -115,6 +117,29 @@ func (s *updateProjectEnrollmentSuite) ExpectErrorContains(a string) { } } +func (s *updateProjectEnrollmentSuite) IfNoErrorExpectEventupdateprojectenrollmentWithProperties(a gocuke.DocString) { + if s.err != nil { + return + } + + s.ExpectEventupdateprojectenrollmentWithProperties(a) +} + +func (s *updateProjectEnrollmentSuite) ExpectEventupdateprojectenrollmentWithProperties(a gocuke.DocString) { + var evtExpected v1.EventUpdateProjectEnrollment + err := jsonpb.UnmarshalString(a.Content, &evtExpected) + require.NoError(s.t, err) + + // update issuer to actual address + evtExpected.Issuer = s.addrs[evtExpected.Issuer].String() + + evtActual, found := testutil.GetEvent(&evtExpected, s.sdkCtx.EventManager().Events()) + require.True(s.t, found) + + err = testutil.MatchEvent(&evtExpected, evtActual) + require.NoError(s.t, err) +} + func (s *updateProjectEnrollmentSuite) getEnrollment(projId, clsId string) (*api.ProjectEnrollment, error) { proj, err := s.stateStore.ProjectTable().GetById(s.ctx, projId) require.NoError(s.t, err) From 17362c03953c98de34536447e57975954c72b483 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 15:52:25 -0400 Subject: [PATCH 067/112] update project fee tests --- .../msg_update_project_enrollment.feature | 56 ++++++------- .../features/msg_update_project_fee.feature | 16 +++- .../keeper/msg_update_project_fee_test.go | 81 +++++++++++++++++++ 3 files changed, 124 insertions(+), 29 deletions(-) create mode 100644 x/ecocredit/base/keeper/msg_update_project_fee_test.go diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index 2c2dbf8967..0c0d63405d 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -7,10 +7,10 @@ Feature: Msg/UpdateProjectEnrollment * class issuer "I02" for "C01" Rule: valid state transitions performed by issuers which don't remove enrollment entries are: - UNSPECIFIED -> CHANGES_REQUESTED or ACCEPTED - CHANGES_REQUESTED -> ACCEPTED - ACCEPTED -> ACCEPTED with new metadata - Scenario Outline: + UNSPECIFIED -> CHANGES_REQUESTED or ACCEPTED + CHANGES_REQUESTED -> ACCEPTED + ACCEPTED -> ACCEPTED with new metadata + Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" When "" updates enrollment for "P001" to "C01" with status "" and metadata "" Then expect error contains "" @@ -25,19 +25,19 @@ Feature: Msg/UpdateProjectEnrollment } """ Examples: - | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | - | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | - | UNSPECIFIED | abc | Bob | ACCEPTED | foo123 | unauthorized | UNSPECIFIED | abc | - | CHANGES_REQUESTED | bar456 | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | - | CHANGES_REQUESTED | bar456 | Bob | ACCEPTED | foo123 | unauthorized | CHANGES_REQUESTED | bar456 | - | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | - | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | + | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | + | I01 unspecified to accepted | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | Bob unspecified to accepted | UNSPECIFIED | abc | Bob | ACCEPTED | foo123 | unauthorized | UNSPECIFIED | abc | + | I01 changes requested to accepted | CHANGES_REQUESTED | bar456 | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | Bob changes requested to accepted | CHANGES_REQUESTED | bar456 | Bob | ACCEPTED | foo123 | unauthorized | CHANGES_REQUESTED | bar456 | + | I01 update accepted metadata | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | + | Bob updated accepted metadata | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | Rule: valid state transitions performed by issuers which remove enrollment entries are: - UNSPECIFIED -> REJECTED - CHANGES_REQUESTED -> REJECTED - ACCEPTED -> TERMINATED - Scenario Outline: + UNSPECIFIED -> REJECTED + CHANGES_REQUESTED -> REJECTED + ACCEPTED -> TERMINATED + Scenario Outline: Given enrollment for "P001" to "C01" is "" with metadata "" When "" updates enrollment for "P001" to "C01" with status "" and metadata "" Then expect error contains "" @@ -52,19 +52,19 @@ Feature: Msg/UpdateProjectEnrollment } """ Examples: - | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | - | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | - | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | - | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | - | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | - | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | - | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | - | UNSPECIFIED | abc | I01 | TERMINATED | baz789 | invalid | true | - | UNSPECIFIED | abc | Bob | TERMINATED | baz789 | unauthorized | true | - | CHANGES_REQUESTED | bar456 | I01 | TERMINATED | baz789 | invalid | true | - | CHANGES_REQUESTED | bar456 | Bob | TERMINATED | baz789 | unauthorized | true | - | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | - | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | + | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | + | IO1 unspecified to rejected | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | + | Bob unspecified to rejected | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | + | I01 changes requested to rejected | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | + | Bob changes requested to rejected | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | + | I01 accepted to rejected | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | + | Bob accepted to rejected | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | + | I01 unspecified to terminated | UNSPECIFIED | abc | I01 | TERMINATED | baz789 | invalid | true | + | Bob unspecified to terminated | UNSPECIFIED | abc | Bob | TERMINATED | baz789 | unauthorized | true | + | I01 changes requested to terminated | CHANGES_REQUESTED | bar456 | I01 | TERMINATED | baz789 | invalid | true | + | Bob changes requested to terminated | CHANGES_REQUESTED | bar456 | Bob | TERMINATED | baz789 | unauthorized | true | + | I01 accepted to terminated | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | + | Bob accepted to terminated | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | Rule: any issuer can transition states Scenario: Issuer 1 requests changes, issuer 2 accepts diff --git a/x/ecocredit/base/keeper/features/msg_update_project_fee.feature b/x/ecocredit/base/keeper/features/msg_update_project_fee.feature index 0c78ee3762..88c6d60730 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_fee.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_fee.feature @@ -1,2 +1,16 @@ Feature: Msg/UpdateProjectFee - TODO \ No newline at end of file + Rule: the authority can update the project fee + Scenario Outline: + Given current fee "" + When "" updates the fee to "" + Then expect error contains "" + And expect project fee is "" + Examples: + | scenario | authority | cur_fee | new_fee | expected_fee | err | + | gov creates | gov | | 200 | 200 | | + | gov updates | gov | 100 | 200 | 200 | | + | gov sets zero | gov | 100 | 0 | | | + | gov sets empty | gov | 100 | | | | + | bob creates | bob | | 200 | | invalid authority | + | bob updates | bob | 100 | 200 | 100 | invalid authority | + | bob sets zero | bob | 100 | 0 | 100 | invalid authority | diff --git a/x/ecocredit/base/keeper/msg_update_project_fee_test.go b/x/ecocredit/base/keeper/msg_update_project_fee_test.go new file mode 100644 index 0000000000..c2ab5299d7 --- /dev/null +++ b/x/ecocredit/base/keeper/msg_update_project_fee_test.go @@ -0,0 +1,81 @@ +package keeper + +import ( + "testing" + + basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +type updateProjectFeeSuite struct { + *baseSuite + err error + addrs map[string]sdk.AccAddress +} + +func TestUpdateProjectFee(t *testing.T) { + gocuke.NewRunner(t, &updateProjectFeeSuite{}). + Path("./features/msg_update_project_fee.feature"). + Run() +} + +func (s *updateProjectFeeSuite) Before(t gocuke.TestingT) { + s.baseSuite = setupBase(t) + s.addrs = map[string]sdk.AccAddress{ + "gov": s.k.authority, + "bob": s.addr, + } +} + +func (s *updateProjectFeeSuite) CurrentFee(amount string) { + if amount != "" { + require.NoError(s.t, s.stateStore.ProjectFeeTable().Save(s.ctx, &api.ProjectFee{ + Fee: &basev1beta1.Coin{ + Denom: "regen", + Amount: amount, + }, + })) + } +} + +func (s *updateProjectFeeSuite) UpdatesTheFeeTo(auth, fee string) { + if fee == "" { + _, s.err = s.k.UpdateProjectFee(s.ctx, &v1.MsgUpdateProjectFee{ + Authority: s.addrs[auth].String(), + }) + } else { + amount, ok := sdk.NewIntFromString(fee) + require.True(s.t, ok, "invalid fee amount") + _, s.err = s.k.UpdateProjectFee(s.ctx, &v1.MsgUpdateProjectFee{ + Authority: s.addrs[auth].String(), + Fee: &sdk.Coin{Denom: "regen", Amount: amount}, + }) + } +} + +func (s *updateProjectFeeSuite) ExpectErrorContains(a string) { + if a == "" { + require.NoError(s.t, s.err) + } else { + require.ErrorContains(s.t, s.err, a) + } +} + +func (s *updateProjectFeeSuite) ExpectProjectFeeIs(a string) { + actual, err := s.stateStore.ProjectFeeTable().Get(s.ctx) + require.NoError(s.t, err) + require.NotNil(s.t, actual) + if a == "" { + if actual.Fee == nil || actual.Fee.Amount == "" || actual.Fee.Amount == "0" { + return + } + s.t.Fatalf("expected no fee, got %s", actual.Fee.Amount) + } else { + require.Equal(s.t, a, actual.Fee.Amount) + } +} From 454d7d46e20f82ced1232e14f4c0490a0f557ebf Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 15:54:56 -0400 Subject: [PATCH 068/112] add tests stubs --- .../base/types/v1/msg_update_project_enrollment_test.go | 3 +++ x/ecocredit/base/types/v1/msg_update_project_fee_test.go | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go create mode 100644 x/ecocredit/base/types/v1/msg_update_project_fee_test.go diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go new file mode 100644 index 0000000000..dc99372b1c --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go @@ -0,0 +1,3 @@ +package v1 + +// TODO diff --git a/x/ecocredit/base/types/v1/msg_update_project_fee_test.go b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go new file mode 100644 index 0000000000..dc99372b1c --- /dev/null +++ b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go @@ -0,0 +1,3 @@ +package v1 + +// TODO From 47507e1efe7fa180e537782118e5928666826cf4 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 28 Mar 2024 16:13:34 -0400 Subject: [PATCH 069/112] WIP on validation tests --- .../msg_update_project_enrollment.feature | 10 +++++----- .../v1/msg_update_project_enrollment_test.go | 20 ++++++++++++++++++- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature index e3d707d1c2..fcff7c86ad 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature @@ -10,10 +10,10 @@ Feature: MsgUpdateProjectEnrollment Then expect error contains "" Examples: - | issuer | error | - | | "issuer is required" | - | 0x0 | "issuer is not a valid address" | - | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + | issuer | error | + | | issuer is required | + | 0x0 | issuer is not a valid address | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | Scenario: issuer is signer Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" @@ -23,6 +23,6 @@ Feature: MsgUpdateProjectEnrollment Rule: class_id is non-empty - Rule: new_status is specified + Rule: new_status is specified and valid Rule: metadata is optional and at most 256 characters \ No newline at end of file diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go index dc99372b1c..eafbc4e197 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go @@ -1,3 +1,21 @@ package v1 -// TODO +import ( + "testing" + + "github.com/regen-network/gocuke" +) + +type msgUpdateProjectEnrollment struct { + gocuke.TestingT + msg *MsgUpdateProjectEnrollment + err error +} + +func TestMsgUpdateProjectEnrollment(t *testing.T) { + gocuke.NewRunner(t, &msgUpdateProjectEnrollment{}).Path("./features/msg_update_project_enrollment.feature").Run() +} + +func (s *msgUpdateProjectEnrollment) Before() { + s.msg = &MsgUpdateProjectEnrollment{} +} From 86a418034a2aa826c870008f367f9abda7615cc4 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 17:55:05 -0400 Subject: [PATCH 070/112] MsgUpdateProjectFee validation tests --- .../features/msg_update_project_fee.feature | 32 ++++++++++- .../types/v1/msg_update_project_fee_test.go | 56 ++++++++++++++++++- 2 files changed, 86 insertions(+), 2 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature b/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature index 3a9f0c5a74..ecacb1bbc5 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_fee.feature @@ -1,2 +1,32 @@ Feature: MsgUpdateProjectFee - TODO + + Rule: authority is address and signer + Scenario Outline: validate admin + Given authority "" + And fee "100regen" + When the message is validated + Then expect error contains "" + + Examples: + | auth | error | + | | invalid authority | + | 0x0 | invalid authority | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + + Scenario: authority is signer + Given authority "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + Then expect GetSigners returns "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + + Rule: fee is a valid coin or nil + Scenario: valid coin + Given authority "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + And fee "100regen" + When the message is validated + Then expect no error + + Scenario: fee is nil + Given authority "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + And nil fee + When the message is validated + Then expect no error + diff --git a/x/ecocredit/base/types/v1/msg_update_project_fee_test.go b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go index dc99372b1c..6add29fb5e 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_fee_test.go +++ b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go @@ -1,3 +1,57 @@ package v1 -// TODO +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" +) + +type msgUpdateProjectFee struct { + gocuke.TestingT + msg *MsgUpdateProjectFee + err error +} + +func TestMsgUpdateProjectFee(t *testing.T) { + gocuke.NewRunner(t, &msgUpdateProjectFee{}).Path("./features/msg_update_project_fee.feature").Run() +} + +func (s *msgUpdateProjectFee) Before() { + s.msg = &MsgUpdateProjectFee{} +} + +func (s *msgUpdateProjectFee) Authority(a string) { + s.msg.Authority = a +} + +func (s *msgUpdateProjectFee) Fee(a string) { + coin, err := sdk.ParseCoinNormalized(a) + require.NoError(s, err) + s.msg.Fee = &coin +} + +func (s *msgUpdateProjectFee) TheMessageIsValidated() { + s.err = s.msg.ValidateBasic() +} + +func (s *msgUpdateProjectFee) ExpectErrorContains(a string) { + if a == "" { + require.NoError(s, s.err) + } else { + require.ErrorContains(s, s.err, a) + } +} + +func (s *msgUpdateProjectFee) ExpectNoError() { + require.NoError(s, s.err) +} + +func (s *msgUpdateProjectFee) ExpectGetsignersReturns(a string) { + require.Equal(s, a, s.msg.GetSigners()[0].String()) +} + +func (s *msgUpdateProjectFee) NilFee() { + s.msg.Fee = nil +} From d047dd7fe1f4f991a6ed5652c5faccdff5e2ffd5 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 18:01:38 -0400 Subject: [PATCH 071/112] QueryProjectEnrollment test --- .../keeper/query_project_enrollment_test.go | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/base/keeper/query_project_enrollment_test.go b/x/ecocredit/base/keeper/query_project_enrollment_test.go index e0681aee31..f6130b5b17 100644 --- a/x/ecocredit/base/keeper/query_project_enrollment_test.go +++ b/x/ecocredit/base/keeper/query_project_enrollment_test.go @@ -1,3 +1,51 @@ package keeper -// TODO +import ( + "testing" + + "github.com/stretchr/testify/require" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func TestQuery_ProjectEnrollment(t *testing.T) { + t.Parallel() + s := setupBase(t) + + // insert project + projId := "P001" + projKey, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ + Id: projId, + }) + + // insert class + clsId := "C01" + clsKey, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + Id: clsId, + }) + require.NoError(t, err) + + // insert project enrollment + appMetadata := "foobar" + enrollment := &api.ProjectEnrollment{ + ProjectKey: projKey, + ClassKey: clsKey, + Status: 0, + ApplicationMetadata: appMetadata, + EnrollmentMetadata: "", + } + require.NoError(t, s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, enrollment)) + + // query project enrollment by project and class id + res, err := s.k.ProjectEnrollment(s.ctx, &types.QueryProjectEnrollmentRequest{ + ProjectId: projId, + ClassId: clsId, + }) + require.NoError(t, err) + require.Equal(t, projId, res.Enrollment.ProjectId) + require.Equal(t, clsId, res.Enrollment.ClassId) + require.Equal(t, 0, int(res.Enrollment.Status)) + require.Equal(t, appMetadata, res.Enrollment.ApplicationMetadata) + require.Equal(t, "", res.Enrollment.EnrollmentMetadata) +} From cc428ad3b60cbc253f15ce578a73a3a9ff823f0f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 18:05:38 -0400 Subject: [PATCH 072/112] QueryProjectEnrollments test --- .../keeper/query_project_enrollments_test.go | 80 ++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/base/keeper/query_project_enrollments_test.go b/x/ecocredit/base/keeper/query_project_enrollments_test.go index e0681aee31..e847f82d1a 100644 --- a/x/ecocredit/base/keeper/query_project_enrollments_test.go +++ b/x/ecocredit/base/keeper/query_project_enrollments_test.go @@ -1,3 +1,81 @@ package keeper -// TODO +import ( + "testing" + + "github.com/stretchr/testify/require" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" +) + +func TestQuery_ProjectEnrollments(t *testing.T) { + t.Parallel() + s := setupBase(t) + + // insert projects + projId1 := "P001" + projKey1, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ + Id: projId1, + }) + require.NoError(t, err) + + projId2 := "P002" + projKey2, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ + Id: projId2, + }) + require.NoError(t, err) + + // insert classes + clsId1 := "C01" + clsKey1, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + Id: clsId1, + }) + + clsId2 := "BIO01" + clsKey2, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ + Id: clsId2, + }) + + // insert enrollments + enrollment1 := &api.ProjectEnrollment{ + ProjectKey: projKey1, + ClassKey: clsKey1, + } + + enrollment2 := &api.ProjectEnrollment{ + ProjectKey: projKey1, + ClassKey: clsKey2, + } + + enrollment3 := &api.ProjectEnrollment{ + ProjectKey: projKey2, + ClassKey: clsKey2, + } + + for _, enrollment := range []*api.ProjectEnrollment{enrollment1, enrollment2, enrollment3} { + require.NoError(t, s.stateStore.ProjectEnrollmentTable().Insert(s.ctx, enrollment)) + } + + // query project enrollments by project id + res, err := s.k.ProjectEnrollments(s.ctx, &types.QueryProjectEnrollmentsRequest{ + ProjectId: projId1, + }) + require.NoError(t, err) + require.Len(t, res.Enrollments, 2) + require.Equal(t, projId1, res.Enrollments[0].ProjectId) + require.Equal(t, clsId1, res.Enrollments[0].ClassId) + require.Equal(t, projId1, res.Enrollments[1].ProjectId) + require.Equal(t, clsId2, res.Enrollments[1].ClassId) + + // query project enrollments by class id + res, err = s.k.ProjectEnrollments(s.ctx, &types.QueryProjectEnrollmentsRequest{ + ClassId: clsId2, + }) + require.NoError(t, err) + require.Len(t, res.Enrollments, 2) + require.Equal(t, projId1, res.Enrollments[0].ProjectId) + require.Equal(t, clsId2, res.Enrollments[0].ClassId) + require.Equal(t, projId2, res.Enrollments[1].ProjectId) + require.Equal(t, clsId2, res.Enrollments[1].ClassId) +} From 48a9dc7abbcbb7b104ffec4139bc47ca77a23fe8 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 18:29:23 -0400 Subject: [PATCH 073/112] MsgUpdateProjectEnrollment validation tests --- .../msg_create_or_update_application.feature | 2 +- .../msg_update_project_enrollment.feature | 62 ++++++++++++++++--- .../types/v1/msg_update_project_enrollment.go | 8 ++- .../v1/msg_update_project_enrollment_test.go | 52 ++++++++++++++++ 4 files changed, 111 insertions(+), 13 deletions(-) diff --git a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature index b09d53c2a1..f2f1654150 100644 --- a/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/types/v1/features/msg_create_or_update_application.feature @@ -58,4 +58,4 @@ Feature: MsgCreateOrUpdateApplication | | | | a | | | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | - | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | + | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature index fcff7c86ad..ae1dabfcac 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature @@ -3,26 +3,68 @@ Feature: MsgUpdateProjectEnrollment Rule: issuer is address and signer Scenario Outline: validate issuer Given issuer "" - * project ID "P1" - * class ID "C1" - * new status "PROJECT_ENROLLMENT_STATUS_ACCEPTED" + * project ID "P001" + * class ID "C01" + * new status "ACCEPTED" When the message is validated Then expect error contains "" Examples: - | issuer | error | - | | issuer is required | - | 0x0 | issuer is not a valid address | - | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | + | issuer | error | + | | issuer: empty | + | 0x0 | invalid bech32 | + | regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6 | | Scenario: issuer is signer Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" Then expect GetSigners returns "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" - Rule: project_id is non-empty + Rule: project_id and class_id must be non-empty + Scenario Outline: validate project and class IDs + Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "" + * class ID "" + * new status "ACCEPTED" + When the message is validated + Then expect error contains "" - Rule: class_id is non-empty + Examples: + | project_id | class_id | error | + | | C01 | project id: empty | + | P001 | C01 | | + | P001 | | class id: empty | Rule: new_status is specified and valid + Scenario Outline: validate status + Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "P001" + * class ID "C01" + * new status "" + When the message is validated + Then expect error contains "" - Rule: metadata is optional and at most 256 characters \ No newline at end of file + Examples: + | status | error | + | UNSPECIFIED | new status: invalid | + | ACCEPTED | | + | REJECTED | | + | CHANGES_REQUESTED | | + | TERMINATED | | + | 6 | new status: invalid | + + Rule: metadata is optional and at most 256 characters + Scenario Outline: validate metadata + Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" + * project ID "P001" + * class ID "C01" + * new status "ACCEPTED" + * metadata "" + When the message is validated + Then expect error contains "" + + Examples: + | metadata | error | + | | | + | a | | + | This is a string with 256 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidun | | + | This is a string with 257 characters. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac facilisis arcu. Nullam nec dui ac nunc dapibus cursus. Sed sit amet massa rutrum, auctor sapien ut, euismod dolor. Nullam vehicula tellus laoreet tincidunt | metadata | diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go index 40ca3886fb..1356b2fe5e 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go @@ -37,8 +37,12 @@ func (m *MsgUpdateProjectEnrollment) ValidateBasic() error { return sdkerrors.ErrInvalidRequest.Wrapf("class id: %s", err) } - if m.NewStatus == ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED || m.NewStatus.String() == "" { - return sdkerrors.ErrInvalidRequest.Wrapf("new status: empty or invalid") + if m.NewStatus == ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED { + return sdkerrors.ErrInvalidRequest.Wrapf("new status: invalid") + } + + if _, ok := ProjectEnrollmentStatus_name[int32(m.NewStatus)]; !ok { + return sdkerrors.ErrInvalidRequest.Wrapf("new status: invalid") } if len(m.Metadata) > base.MaxMetadataLength { diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go index eafbc4e197..5efe969176 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment_test.go @@ -1,9 +1,15 @@ package v1 import ( + "fmt" + "strconv" "testing" "github.com/regen-network/gocuke" + "github.com/stretchr/testify/require" + "google.golang.org/protobuf/reflect/protoreflect" + + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" ) type msgUpdateProjectEnrollment struct { @@ -19,3 +25,49 @@ func TestMsgUpdateProjectEnrollment(t *testing.T) { func (s *msgUpdateProjectEnrollment) Before() { s.msg = &MsgUpdateProjectEnrollment{} } + +func (s *msgUpdateProjectEnrollment) Issuer(a string) { + s.msg.Issuer = a +} + +func (s *msgUpdateProjectEnrollment) ProjectId(a string) { + s.msg.ProjectId = a +} + +func (s *msgUpdateProjectEnrollment) ClassId(a string) { + s.msg.ClassId = a +} + +func (s *msgUpdateProjectEnrollment) NewStatus(a string) { + n, err := strconv.Atoi(a) + if err == nil { + s.msg.NewStatus = ProjectEnrollmentStatus(n) + } else { + var status api.ProjectEnrollmentStatus + value := status.Descriptor().Values().ByName(protoreflect.Name(fmt.Sprintf("PROJECT_ENROLLMENT_STATUS_%s", a))) + if value == nil { + s.Fatalf("invalid status: %s", a) + } + s.msg.NewStatus = ProjectEnrollmentStatus(value.Number()) + } +} + +func (s *msgUpdateProjectEnrollment) Metadata(a string) { + s.msg.Metadata = a +} + +func (s *msgUpdateProjectEnrollment) TheMessageIsValidated() { + s.err = s.msg.ValidateBasic() +} + +func (s *msgUpdateProjectEnrollment) ExpectErrorContains(a string) { + if a == "" { + require.NoError(s, s.err) + } else { + require.ErrorContains(s, s.err, a) + } +} + +func (s *msgUpdateProjectEnrollment) ExpectGetsignersReturns(a string) { + require.Equal(s, a, s.msg.GetSigners()[0].String()) +} From cafe07545960d333ee31b8656e6c236606fea52f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 18:40:08 -0400 Subject: [PATCH 074/112] migration test --- x/ecocredit/migrations/v5/state_test.go | 142 +++++++++++++++++++++++- 1 file changed, 141 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/migrations/v5/state_test.go b/x/ecocredit/migrations/v5/state_test.go index 6ee00d41fe..0d168388de 100644 --- a/x/ecocredit/migrations/v5/state_test.go +++ b/x/ecocredit/migrations/v5/state_test.go @@ -1,3 +1,143 @@ package v5 -// TODO +import ( + "testing" + + "github.com/cosmos/cosmos-sdk/orm/model/ormdb" + "github.com/cosmos/cosmos-sdk/orm/model/ormtable" + "github.com/cosmos/cosmos-sdk/orm/testing/ormtest" + "github.com/cosmos/cosmos-sdk/store" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/log" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + dbm "github.com/tendermint/tm-db" + + ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" + "github.com/regen-network/regen-ledger/x/ecocredit/v3" +) + +func TestMigrate(t *testing.T) { + ctx, state := setup(t) + + // create some test classes + clsKey1, err := state.ClassTable().InsertReturningID(ctx, &ecocreditv1.Class{ + Id: "C01", + }) + require.NoError(t, err) + + clsKey2, err := state.ClassTable().InsertReturningID(ctx, &ecocreditv1.Class{ + Id: "BIO01", + }) + require.NoError(t, err) + // create some test projects + projKey1, err := state.ProjectTable().InsertReturningID(ctx, &ecocreditv1.Project{ + Id: "C01-001", + ClassKey: clsKey1, + }) + require.NoError(t, err) + + projKey2, err := state.ProjectTable().InsertReturningID(ctx, &ecocreditv1.Project{ + Id: "C01-002", + ClassKey: clsKey1, + }) + require.NoError(t, err) + + projKey3, err := state.ProjectTable().InsertReturningID(ctx, &ecocreditv1.Project{ + Id: "BIO01-001", + ClassKey: clsKey2, + }) + require.NoError(t, err) + // create some test batches + batchKey1, err := state.BatchTable().InsertReturningID(ctx, &ecocreditv1.Batch{ + Denom: "C01-001-001", + ProjectKey: projKey1, + }) + require.NoError(t, err) + + batchKey2, err := state.BatchTable().InsertReturningID(ctx, &ecocreditv1.Batch{ + Denom: "C01-001-002", + ProjectKey: projKey1, + }) + require.NoError(t, err) + + batchKey3, err := state.BatchTable().InsertReturningID(ctx, &ecocreditv1.Batch{ + Denom: "C01-002-001", + ProjectKey: projKey2, + }) + require.NoError(t, err) + + batchKey4, err := state.BatchTable().InsertReturningID(ctx, &ecocreditv1.Batch{ + Denom: "BIO01-001-001", + ProjectKey: projKey3, + }) + require.NoError(t, err) + + batchKey5, err := state.BatchTable().InsertReturningID(ctx, &ecocreditv1.Batch{ + Denom: "BIO01-001-002", + ProjectKey: projKey3, + }) + require.NoError(t, err) + + // run the migration + require.NoError(t, MigrateState(ctx, state)) + + // check that the class keys on the batches are set correctly + batch1, err := state.BatchTable().Get(ctx, batchKey1) + require.NoError(t, err) + require.Equal(t, clsKey1, batch1.ClassKey) + + batch2, err := state.BatchTable().Get(ctx, batchKey2) + require.NoError(t, err) + require.Equal(t, clsKey1, batch2.ClassKey) + + batch3, err := state.BatchTable().Get(ctx, batchKey3) + require.NoError(t, err) + require.Equal(t, clsKey1, batch3.ClassKey) + + batch4, err := state.BatchTable().Get(ctx, batchKey4) + require.NoError(t, err) + require.Equal(t, clsKey2, batch4.ClassKey) + + batch5, err := state.BatchTable().Get(ctx, batchKey5) + require.NoError(t, err) + require.Equal(t, clsKey2, batch5.ClassKey) + + // check that enrollment entries are created for all project class relationships + enrollment1, err := state.ProjectEnrollmentTable().Get(ctx, projKey1, clsKey1) + require.NoError(t, err) + require.Equal(t, projKey1, enrollment1.ProjectKey) + require.Equal(t, clsKey1, enrollment1.ClassKey) + + enrollment2, err := state.ProjectEnrollmentTable().Get(ctx, projKey2, clsKey1) + require.NoError(t, err) + require.Equal(t, projKey2, enrollment2.ProjectKey) + require.Equal(t, clsKey1, enrollment2.ClassKey) + + enrollment3, err := state.ProjectEnrollmentTable().Get(ctx, projKey3, clsKey2) + require.NoError(t, err) + require.Equal(t, projKey3, enrollment3.ProjectKey) + +} + +func setup(t *testing.T) (sdk.Context, ecocreditv1.StateStore) { + ecocreditKey := sdk.NewKVStoreKey("ecocredit") + + db := dbm.NewMemDB() + cms := store.NewCommitMultiStore(db) + cms.MountStoreWithDB(ecocreditKey, storetypes.StoreTypeIAVL, db) + + require.NoError(t, cms.LoadLatestVersion()) + + ormCtx := ormtable.WrapContextDefault(ormtest.NewMemoryBackend()) + sdkCtx := sdk.NewContext(cms, tmproto.Header{}, false, log.NewNopLogger()).WithContext(ormCtx) + + modDB, err := ormdb.NewModuleDB(&ecocredit.ModuleSchema, ormdb.ModuleDBOptions{}) + require.NoError(t, err) + + baseStore, err := ecocreditv1.NewStateStore(modDB) + require.NoError(t, err) + + return sdkCtx, baseStore +} From b3a7eb3a67cacc39387987cd65d8c1b5d7f03bfb Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:07:50 -0400 Subject: [PATCH 075/112] docs, fix sims/tests --- api/regen/ecocredit/v1/state.pulsar.go | 2 ++ proto/regen/ecocredit/v1/state.proto | 2 ++ x/ecocredit/base/simulation/msg_add_credit_type.go | 3 +++ x/ecocredit/base/simulation/msg_create_batch.go | 1 + x/ecocredit/base/types/v1/state.pb.go | 2 ++ x/ecocredit/client/testsuite/suite.go | 1 + x/ecocredit/client/testsuite/tx.go | 1 + 7 files changed, 12 insertions(+) diff --git a/api/regen/ecocredit/v1/state.pulsar.go b/api/regen/ecocredit/v1/state.pulsar.go index 4efd9a58ac..6eed0c247b 100644 --- a/api/regen/ecocredit/v1/state.pulsar.go +++ b/api/regen/ecocredit/v1/state.pulsar.go @@ -10024,6 +10024,8 @@ type CreditType struct { // abbreviation is a 1-3 character uppercase abbreviation of the CreditType // name, used in batch denominations within the CreditType. It must be unique. + // The letter P is reserved as the project prefix and cannot be used as a + // credit type to avoid confusion. Abbreviation string `protobuf:"bytes,1,opt,name=abbreviation,proto3" json:"abbreviation,omitempty"` // name is the name of the credit type (e.g. carbon, biodiversity). Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` diff --git a/proto/regen/ecocredit/v1/state.proto b/proto/regen/ecocredit/v1/state.proto index d9927807da..5ce1dbd193 100644 --- a/proto/regen/ecocredit/v1/state.proto +++ b/proto/regen/ecocredit/v1/state.proto @@ -19,6 +19,8 @@ message CreditType { // abbreviation is a 1-3 character uppercase abbreviation of the CreditType // name, used in batch denominations within the CreditType. It must be unique. + // The letter P is reserved as the project prefix and cannot be used as a + // credit type to avoid confusion. string abbreviation = 1; // name is the name of the credit type (e.g. carbon, biodiversity). diff --git a/x/ecocredit/base/simulation/msg_add_credit_type.go b/x/ecocredit/base/simulation/msg_add_credit_type.go index f8cea64189..d98f578b87 100644 --- a/x/ecocredit/base/simulation/msg_add_credit_type.go +++ b/x/ecocredit/base/simulation/msg_add_credit_type.go @@ -49,6 +49,9 @@ func SimulateMsgAddCreditType(ak ecocredit.AccountKeeper, bk ecocredit.BankKeepe abbrev := simtypes.RandStringOfLength(r, simtypes.RandIntBetween(r, 1, 3)) abbrev = strings.ToUpper(abbrev) + if abbrev == "P" { // the abbreviation "P" is reserved for projects + abbrev = "PP" + } name := simtypes.RandStringOfLength(r, simtypes.RandIntBetween(r, 1, 10)) _, err = qryClient.CreditType(sdkCtx, &types.QueryCreditTypeRequest{ diff --git a/x/ecocredit/base/simulation/msg_create_batch.go b/x/ecocredit/base/simulation/msg_create_batch.go index 2a3214acce..cc80ed8b45 100644 --- a/x/ecocredit/base/simulation/msg_create_batch.go +++ b/x/ecocredit/base/simulation/msg_create_batch.go @@ -63,6 +63,7 @@ func SimulateMsgCreateBatch(ak ecocredit.AccountKeeper, bk ecocredit.BankKeeper, msg := &types.MsgCreateBatch{ Issuer: issuer.Address.String(), ProjectId: project.Id, + ClassId: class.Id, Issuance: generateBatchIssuance(r, accs), StartDate: &now, EndDate: &tenHours, diff --git a/x/ecocredit/base/types/v1/state.pb.go b/x/ecocredit/base/types/v1/state.pb.go index 80e1515c76..174f04a262 100644 --- a/x/ecocredit/base/types/v1/state.pb.go +++ b/x/ecocredit/base/types/v1/state.pb.go @@ -81,6 +81,8 @@ func (ProjectEnrollmentStatus) EnumDescriptor() ([]byte, []int) { type CreditType struct { // abbreviation is a 1-3 character uppercase abbreviation of the CreditType // name, used in batch denominations within the CreditType. It must be unique. + // The letter P is reserved as the project prefix and cannot be used as a + // credit type to avoid confusion. Abbreviation string `protobuf:"bytes,1,opt,name=abbreviation,proto3" json:"abbreviation,omitempty"` // name is the name of the credit type (e.g. carbon, biodiversity). Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` diff --git a/x/ecocredit/client/testsuite/suite.go b/x/ecocredit/client/testsuite/suite.go index 57ce09ccea..a66b0e0df3 100644 --- a/x/ecocredit/client/testsuite/suite.go +++ b/x/ecocredit/client/testsuite/suite.go @@ -118,6 +118,7 @@ func (s *IntegrationTestSuite) SetupSuite() { s.batchDenom = s.createBatch(s.val.ClientCtx, &basetypes.MsgCreateBatch{ Issuer: s.addr1.String(), ProjectId: s.projectID, + ClassId: s.classID, Issuance: []*basetypes.BatchIssuance{ { Recipient: s.addr1.String(), diff --git a/x/ecocredit/client/testsuite/tx.go b/x/ecocredit/client/testsuite/tx.go index c2e452b7dd..fac7db8e13 100644 --- a/x/ecocredit/client/testsuite/tx.go +++ b/x/ecocredit/client/testsuite/tx.go @@ -212,6 +212,7 @@ func (s *IntegrationTestSuite) TestTxCreateBatchCmd() { bz, err := s.val.ClientCtx.Codec.MarshalJSON(&types.MsgCreateBatch{ Issuer: issuer, ProjectId: s.projectID, + ClassId: s.classID, Issuance: []*types.BatchIssuance{ { Recipient: recipient, From 497de7b370eee7222cb4466cf9fa0a99f9b5c812 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:08:54 -0400 Subject: [PATCH 076/112] lint fix --- x/ecocredit/base/keeper/msg_burn_regen.go | 1 + x/ecocredit/base/keeper/msg_burn_regen_test.go | 3 ++- .../base/keeper/msg_create_or_update_application_test.go | 5 +++-- .../base/keeper/msg_create_unregistered_project_test.go | 5 +++-- .../base/keeper/msg_update_project_enrollment_test.go | 5 +++-- x/ecocredit/base/keeper/msg_update_project_fee_test.go | 5 +++-- x/ecocredit/base/keeper/query_projects_by_class.go | 3 ++- x/ecocredit/base/types/v1/msg_burn_regen.go | 1 + x/ecocredit/base/types/v1/msg_update_project_fee_test.go | 3 ++- x/ecocredit/marketplace/keeper/msg_buy_direct_test.go | 3 ++- .../marketplace/keeper/msg_gov_send_from_fee_pool_test.go | 5 +++-- .../marketplace/types/v1/msg_gov_send_from_fee_pool_test.go | 3 ++- x/ecocredit/migrations/v5/state_test.go | 5 +++-- 13 files changed, 30 insertions(+), 17 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_burn_regen.go b/x/ecocredit/base/keeper/msg_burn_regen.go index 0e33658e67..e51215aaf8 100644 --- a/x/ecocredit/base/keeper/msg_burn_regen.go +++ b/x/ecocredit/base/keeper/msg_burn_regen.go @@ -5,6 +5,7 @@ import ( "fmt" "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/regen-network/regen-ledger/x/ecocredit/v3" diff --git a/x/ecocredit/base/keeper/msg_burn_regen_test.go b/x/ecocredit/base/keeper/msg_burn_regen_test.go index def6f211af..d78aa5d3ea 100644 --- a/x/ecocredit/base/keeper/msg_burn_regen_test.go +++ b/x/ecocredit/base/keeper/msg_burn_regen_test.go @@ -3,11 +3,12 @@ package keeper import ( "testing" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/gogo/protobuf/jsonpb" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/regen-network/regen-ledger/types/v2/testutil" "github.com/regen-network/regen-ledger/x/ecocredit/v3" types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application_test.go b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go index b30515f8b7..91b43749e5 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application_test.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go @@ -3,12 +3,13 @@ package keeper import ( "testing" - "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/gogo/protobuf/jsonpb" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/types/v2/testutil" v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go index 76f26352a7..f26538a85e 100644 --- a/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go @@ -4,12 +4,13 @@ import ( "fmt" "testing" - basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/golang/mock/gomock" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + sdk "github.com/cosmos/cosmos-sdk/types" + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go index 81bfa04cd8..1bbf61d046 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment_test.go @@ -4,13 +4,14 @@ import ( "fmt" "testing" - "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/gogo/protobuf/jsonpb" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" protoreflect "google.golang.org/protobuf/reflect/protoreflect" + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + sdk "github.com/cosmos/cosmos-sdk/types" + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/types/v2/testutil" v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" diff --git a/x/ecocredit/base/keeper/msg_update_project_fee_test.go b/x/ecocredit/base/keeper/msg_update_project_fee_test.go index c2ab5299d7..9d009b6e72 100644 --- a/x/ecocredit/base/keeper/msg_update_project_fee_test.go +++ b/x/ecocredit/base/keeper/msg_update_project_fee_test.go @@ -3,11 +3,12 @@ package keeper import ( "testing" - basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + basev1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + sdk "github.com/cosmos/cosmos-sdk/types" + api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" v1 "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) diff --git a/x/ecocredit/base/keeper/query_projects_by_class.go b/x/ecocredit/base/keeper/query_projects_by_class.go index 847f670134..32a82b896f 100644 --- a/x/ecocredit/base/keeper/query_projects_by_class.go +++ b/x/ecocredit/base/keeper/query_projects_by_class.go @@ -3,9 +3,10 @@ package keeper import ( "context" + "google.golang.org/protobuf/proto" + "github.com/cosmos/cosmos-sdk/orm/model/ormlist" sdk "github.com/cosmos/cosmos-sdk/types" - "google.golang.org/protobuf/proto" api "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" regenerrors "github.com/regen-network/regen-ledger/types/v2/errors" diff --git a/x/ecocredit/base/types/v1/msg_burn_regen.go b/x/ecocredit/base/types/v1/msg_burn_regen.go index bfe455478d..68f0a6b920 100644 --- a/x/ecocredit/base/types/v1/msg_burn_regen.go +++ b/x/ecocredit/base/types/v1/msg_burn_regen.go @@ -2,6 +2,7 @@ package v1 import ( "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" diff --git a/x/ecocredit/base/types/v1/msg_update_project_fee_test.go b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go index 6add29fb5e..0320e3475d 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_fee_test.go +++ b/x/ecocredit/base/types/v1/msg_update_project_fee_test.go @@ -3,9 +3,10 @@ package v1 import ( "testing" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + + sdk "github.com/cosmos/cosmos-sdk/types" ) type msgUpdateProjectFee struct { diff --git a/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go b/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go index fda8697d7f..27779db262 100644 --- a/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go +++ b/x/ecocredit/marketplace/keeper/msg_buy_direct_test.go @@ -13,11 +13,12 @@ import ( "github.com/google/go-cmp/cmp" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" protoreflect "google.golang.org/protobuf/reflect/protoreflect" "google.golang.org/protobuf/reflect/protoregistry" "google.golang.org/protobuf/testing/protocmp" + abci "github.com/tendermint/tendermint/abci/types" + "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/ecocredit/marketplace/keeper/msg_gov_send_from_fee_pool_test.go b/x/ecocredit/marketplace/keeper/msg_gov_send_from_fee_pool_test.go index 6ca51c2733..c3f012b5d8 100644 --- a/x/ecocredit/marketplace/keeper/msg_gov_send_from_fee_pool_test.go +++ b/x/ecocredit/marketplace/keeper/msg_gov_send_from_fee_pool_test.go @@ -3,12 +3,13 @@ package keeper import ( "testing" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/golang/mock/gomock" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + types "github.com/regen-network/regen-ledger/x/ecocredit/v3/marketplace/types/v1" ) diff --git a/x/ecocredit/marketplace/types/v1/msg_gov_send_from_fee_pool_test.go b/x/ecocredit/marketplace/types/v1/msg_gov_send_from_fee_pool_test.go index 8faff2dd3a..14e25165e7 100644 --- a/x/ecocredit/marketplace/types/v1/msg_gov_send_from_fee_pool_test.go +++ b/x/ecocredit/marketplace/types/v1/msg_gov_send_from_fee_pool_test.go @@ -3,9 +3,10 @@ package v1 import ( "testing" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + + sdk "github.com/cosmos/cosmos-sdk/types" ) type govSendFromFeePool struct { diff --git a/x/ecocredit/migrations/v5/state_test.go b/x/ecocredit/migrations/v5/state_test.go index 0d168388de..71fd542d5b 100644 --- a/x/ecocredit/migrations/v5/state_test.go +++ b/x/ecocredit/migrations/v5/state_test.go @@ -3,16 +3,17 @@ package v5 import ( "testing" + "github.com/stretchr/testify/require" + dbm "github.com/tendermint/tm-db" + "github.com/cosmos/cosmos-sdk/orm/model/ormdb" "github.com/cosmos/cosmos-sdk/orm/model/ormtable" "github.com/cosmos/cosmos-sdk/orm/testing/ormtest" "github.com/cosmos/cosmos-sdk/store" storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/libs/log" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - dbm "github.com/tendermint/tm-db" ecocreditv1 "github.com/regen-network/regen-ledger/api/v2/regen/ecocredit/v1" "github.com/regen-network/regen-ledger/x/ecocredit/v3" From 38b631acea72767ea1433cc59ef6dc0ece96582e Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:21:24 -0400 Subject: [PATCH 077/112] lint --- x/ecocredit/base/keeper/msg_create_project.go | 4 ++-- .../base/keeper/msg_update_project_enrollment.go | 12 ++++-------- .../base/keeper/query_project_enrollment_test.go | 1 + x/ecocredit/base/keeper/query_project_enrollments.go | 6 ++++++ .../base/keeper/query_project_enrollments_test.go | 2 ++ x/ecocredit/migrations/v5/state.go | 8 ++++---- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index 7858b916f7..c7f8daec74 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -50,8 +50,8 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) project.Metadata = req.Metadata if req.ReferenceId != "" { project.ReferenceId = req.ReferenceId - // only set class key if reference id is not empty to support the use case of reference IDs - project.ClassKey = classInfo.Key + // only set deprecated class key if reference id is not empty to support the use case of reference IDs + project.ClassKey = classInfo.Key //nolint:staticcheck } if err = k.stateStore.ProjectTable().Save(ctx, project); err != nil { diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go index e6a73f8507..e94e266420 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -38,7 +38,7 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat existingStatus := enrollment.Status newStatus := ecocreditv1.ProjectEnrollmentStatus(msg.NewStatus) - delete := false + remove := false switch existingStatus { case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED: @@ -46,10 +46,8 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED, ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: // Valid case - break case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED: - delete = true - break + remove = true default: return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) } @@ -57,10 +55,8 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat switch newStatus { case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: // Valid case for just updating metadata of an accepted project - break case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED: - delete = true - break + remove = true default: return nil, sdkerrors.ErrInvalidRequest.Wrapf("invalid status transition from %s to %s", existingStatus, newStatus) } @@ -71,7 +67,7 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat enrollment.Status = newStatus enrollment.EnrollmentMetadata = msg.Metadata - if delete { + if remove { if err := k.stateStore.ProjectEnrollmentTable().Delete(ctx, enrollment); err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/query_project_enrollment_test.go b/x/ecocredit/base/keeper/query_project_enrollment_test.go index f6130b5b17..971123a3f4 100644 --- a/x/ecocredit/base/keeper/query_project_enrollment_test.go +++ b/x/ecocredit/base/keeper/query_project_enrollment_test.go @@ -18,6 +18,7 @@ func TestQuery_ProjectEnrollment(t *testing.T) { projKey, err := s.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ Id: projId, }) + require.NoError(t, err) // insert class clsId := "C01" diff --git a/x/ecocredit/base/keeper/query_project_enrollments.go b/x/ecocredit/base/keeper/query_project_enrollments.go index c3c50722d3..a0c227694f 100644 --- a/x/ecocredit/base/keeper/query_project_enrollments.go +++ b/x/ecocredit/base/keeper/query_project_enrollments.go @@ -41,6 +41,9 @@ func (k Keeper) ProjectEnrollments(ctx context.Context, request *types.QueryProj it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, ecocreditv1.ProjectEnrollmentProjectKeyClassKeyIndexKey{}.WithProjectKey(project.Key), ormlist.Paginate(pg)) + if err != nil { + return nil, err + } } else if request.ClassId != "" { cls, err := k.stateStore.ClassTable().GetById(ctx, request.ClassId) if err != nil { @@ -50,6 +53,9 @@ func (k Keeper) ProjectEnrollments(ctx context.Context, request *types.QueryProj it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, ecocreditv1.ProjectEnrollmentClassKeyIndexKey{}.WithClassKey(cls.Key), ormlist.Paginate(pg)) + if err != nil { + return nil, err + } } else { it, err = k.stateStore.ProjectEnrollmentTable().List(ctx, ecocreditv1.ProjectEnrollmentPrimaryKey{}, diff --git a/x/ecocredit/base/keeper/query_project_enrollments_test.go b/x/ecocredit/base/keeper/query_project_enrollments_test.go index e847f82d1a..b562a6a923 100644 --- a/x/ecocredit/base/keeper/query_project_enrollments_test.go +++ b/x/ecocredit/base/keeper/query_project_enrollments_test.go @@ -31,11 +31,13 @@ func TestQuery_ProjectEnrollments(t *testing.T) { clsKey1, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: clsId1, }) + require.NoError(t, err) clsId2 := "BIO01" clsKey2, err := s.stateStore.ClassTable().InsertReturningID(s.ctx, &api.Class{ Id: clsId2, }) + require.NoError(t, err) // insert enrollments enrollment1 := &api.ProjectEnrollment{ diff --git a/x/ecocredit/migrations/v5/state.go b/x/ecocredit/migrations/v5/state.go index c3426c14ec..a78f3a08a4 100644 --- a/x/ecocredit/migrations/v5/state.go +++ b/x/ecocredit/migrations/v5/state.go @@ -32,7 +32,7 @@ func MigrateState(sdkCtx sdk.Context, baseStore ecocreditv1.StateStore) error { return err } - batchClasses[batch.Key] = proj.ClassKey + batchClasses[batch.Key] = proj.ClassKey //nolint:staticcheck } batchIt.Close() @@ -62,11 +62,11 @@ func MigrateState(sdkCtx sdk.Context, baseStore ecocreditv1.StateStore) error { return err } - if proj.ClassKey == 0 { - return fmt.Errorf("unexpected state, expected project class key to be non-zero before migration, got %d", proj.ClassKey) + if proj.ClassKey == 0 { //nolint:staticcheck + return fmt.Errorf("unexpected state, expected project class key to be non-zero before migration, got %d", proj.ClassKey) //nolint:staticcheck } - projectClasses[proj.Key] = proj.ClassKey + projectClasses[proj.Key] = proj.ClassKey //nolint:staticcheck } projectIt.Close() From 4aff00165381f257b1b16d96d719e3765f719f58 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:28:48 -0400 Subject: [PATCH 078/112] lint --- .../base/keeper/msg_create_batch_test.go | 8 ------- .../msg_create_unregistered_project_test.go | 5 ++-- .../base/keeper/query_project_enrollment.go | 2 +- x/ecocredit/base/utils_test.go | 23 ------------------- x/ecocredit/genesis/genesis_test.go | 4 ++-- x/ecocredit/server/testsuite/genesis.go | 5 ---- 6 files changed, 5 insertions(+), 42 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_batch_test.go b/x/ecocredit/base/keeper/msg_create_batch_test.go index 0598da2972..0ec534f316 100644 --- a/x/ecocredit/base/keeper/msg_create_batch_test.go +++ b/x/ecocredit/base/keeper/msg_create_batch_test.go @@ -4,7 +4,6 @@ package keeper import ( "encoding/json" "strconv" - "strings" "testing" "time" @@ -497,10 +496,3 @@ func (s *createBatchSuite) ExpectEventCreateBatchWithProperties(a gocuke.DocStri err = testutil.MatchEvent(&event, sdkEvent) require.NoError(s.t, err) } - -func (s *createBatchSuite) getProjectSequence(projectID string) uint64 { - str := strings.Split(projectID, "-") - seq, err := strconv.ParseUint(str[1], 10, 32) - require.NoError(s.t, err) - return seq -} diff --git a/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go index f26538a85e..bd8d6b312e 100644 --- a/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go +++ b/x/ecocredit/base/keeper/msg_create_unregistered_project_test.go @@ -45,13 +45,12 @@ func (s *createUnregisteredProjectSuite) Before(t gocuke.TestingT) { s.bankKeeper.EXPECT(). SendCoinsFromAccountToModule(gomock.Any(), s.addr, gomock.Any(), gomock.Any()). - DoAndReturn(func(_ sdk.Context, fromAddr sdk.AccAddress, toAddr string, coins sdk.Coins) error { + DoAndReturn(func(_ sdk.Context, fromAddr sdk.AccAddress, _ string, coins sdk.Coins) error { if fromAddr.Equals(s.addr) { s.balance = s.balance.Sub(coins...) return nil - } else { - return fmt.Errorf("unexpected from address: %s", fromAddr) } + return fmt.Errorf("unexpected from address: %s", fromAddr) }). AnyTimes() } diff --git a/x/ecocredit/base/keeper/query_project_enrollment.go b/x/ecocredit/base/keeper/query_project_enrollment.go index 7b883ecbf2..36ecea7f42 100644 --- a/x/ecocredit/base/keeper/query_project_enrollment.go +++ b/x/ecocredit/base/keeper/query_project_enrollment.go @@ -7,7 +7,7 @@ import ( types "github.com/regen-network/regen-ledger/x/ecocredit/v3/base/types/v1" ) -func (k Keeper) ProjectEnrollment(ctx context.Context, request *types.QueryProjectEnrollmentRequest) (*types.QueryProjectEnrollmentResponse, error) { //TODO implement me +func (k Keeper) ProjectEnrollment(ctx context.Context, request *types.QueryProjectEnrollmentRequest) (*types.QueryProjectEnrollmentResponse, error) { project, err := k.stateStore.ProjectTable().GetById(ctx, request.ProjectId) if err != nil { return nil, regenerrors.ErrNotFound.Wrapf("could not get project with id %s: %s", request.ProjectId, err.Error()) diff --git a/x/ecocredit/base/utils_test.go b/x/ecocredit/base/utils_test.go index 03a2e68c71..d5dfd75526 100644 --- a/x/ecocredit/base/utils_test.go +++ b/x/ecocredit/base/utils_test.go @@ -45,11 +45,6 @@ func testFormatProjectID(t *rapid.T) { require.NoError(t, err) } -func testInvalidProjectID(t *rapid.T) { - projectID := genInvalidProjectID.Draw(t, "projectID") - require.Error(t, ValidateProjectID(projectID)) -} - func testFormatBatchDenom(t *rapid.T) { creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") classSeq := rapid.Uint64().Draw(t, "classSeq") @@ -69,11 +64,6 @@ func testFormatBatchDenom(t *rapid.T) { require.NoError(t, err) } -func testInvalidBatchDenom(t *rapid.T) { - batchDenom := genInvalidBatchDenom.Draw(t, "batchDenom") - require.Error(t, ValidateBatchDenom(batchDenom)) -} - func testGetClassIDFromBatchDenom(t *rapid.T) { creditTypeAbbrev := genCreditTypeAbbrev.Draw(t, "creditTypeAbbrev") classSeq := rapid.Uint64().Draw(t, "classSeq") @@ -110,19 +100,6 @@ var genInvalidClassID = rapid.OneOf( rapid.StringMatching(`[A-Z]{4,}[0-9]*`), ) -// genInvalidProjectID generates strings that don't conform to the project id format -var genInvalidProjectID = rapid.OneOf( - rapid.StringMatching(`[a-zA-Z]*`), - rapid.StringMatching(`[0-9]*`), - rapid.StringMatching(`[A-Z]{4,}[0-9]*`), -) - -// genInvalidBatchDenom generates strings that don't conform to the batch denom format -var genInvalidBatchDenom = rapid.OneOf( - genInvalidClassID, - rapid.StringMatching(`[A-Z]{1,3}[0-9]*-[a-zA-Z\-]*`), -) - // genTime generates time values up to the year ~9999 to avoid overflowing the // denomination format. var genTime = rapid.Custom(func(t *rapid.T) *time.Time { diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index 1b5529d60d..8b8bca2b5a 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -417,7 +417,7 @@ func TestGenesisValidate(t *testing.T) { Jurisdiction: "AQ", }) require.NoError(t, err) - ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + err = ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ ProjectKey: pKey, ClassKey: cKey, Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, @@ -429,7 +429,7 @@ func TestGenesisValidate(t *testing.T) { Jurisdiction: "AQ", }) require.NoError(t, err) - ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ + err = ss.ProjectEnrollmentTable().Insert(ctx, &baseapi.ProjectEnrollment{ ProjectKey: pKeyBIO, ClassKey: cKeyBIO, Status: baseapi.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED, diff --git a/x/ecocredit/server/testsuite/genesis.go b/x/ecocredit/server/testsuite/genesis.go index 2b680348af..1a2f42ef1b 100644 --- a/x/ecocredit/server/testsuite/genesis.go +++ b/x/ecocredit/server/testsuite/genesis.go @@ -76,10 +76,6 @@ func (s *GenesisTestSuite) TestInitExportGenesis() { batchSeqJSON, err := json.Marshal(batchSeq) require.NoError(err) - projectSeq := []baseapi.ProjectSequence{{ClassKey: 1, NextSequence: 3}} - projectSeqJSON, err := json.Marshal(projectSeq) - require.NoError(err) - classAllowlistSettingJSON, err := json.Marshal(baseapi.ClassCreatorAllowlist{ Enabled: true, }) @@ -113,7 +109,6 @@ func (s *GenesisTestSuite) TestInitExportGenesis() { wrapper[string(proto.MessageName(&baseapi.BatchSupply{}))] = batchSupplyJSON wrapper[string(proto.MessageName(&baseapi.ClassSequence{}))] = classSeqJSON wrapper[string(proto.MessageName(&baseapi.BatchSequence{}))] = batchSeqJSON - wrapper[string(proto.MessageName(&baseapi.ProjectSequence{}))] = projectSeqJSON wrapper[string(proto.MessageName(&baseapi.ClassCreatorAllowlist{}))] = classAllowlistSettingJSON wrapper[string(proto.MessageName(&baseapi.AllowedClassCreator{}))] = allowedClassCreatorsJSON wrapper[string(proto.MessageName(&baseapi.ClassFee{}))] = classFeeJSON From a53fe680e02d38291f04e76f443c3574ce56f98b Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:30:51 -0400 Subject: [PATCH 079/112] lint --- x/ecocredit/genesis/genesis.go | 6 ------ x/ecocredit/genesis/genesis_test.go | 19 ------------------- 2 files changed, 25 deletions(-) diff --git a/x/ecocredit/genesis/genesis.go b/x/ecocredit/genesis/genesis.go index 0f8ccd6136..fe777378b1 100644 --- a/x/ecocredit/genesis/genesis.go +++ b/x/ecocredit/genesis/genesis.go @@ -255,12 +255,6 @@ func validateMsg(m proto.Message) error { return err } return msg.Validate() - case *baseapi.ProjectSequence: - msg := &basetypes.ProjectSequence{} - if err := ormutil.PulsarToGogoSlow(m, msg); err != nil { - return err - } - return msg.Validate() case *baseapi.BatchSequence: msg := &basetypes.BatchSequence{} if err := ormutil.PulsarToGogoSlow(m, msg); err != nil { diff --git a/x/ecocredit/genesis/genesis_test.go b/x/ecocredit/genesis/genesis_test.go index 8b8bca2b5a..69ddc9a17a 100644 --- a/x/ecocredit/genesis/genesis_test.go +++ b/x/ecocredit/genesis/genesis_test.go @@ -551,25 +551,6 @@ func TestGenesisValidate(t *testing.T) { true, "credit type abbrev: empty string is not allowed: parse error", }, - { - "valid: project sequence", - func(ctx context.Context, ss baseapi.StateStore) { - require.NoError(t, ss.ProjectSequenceTable().Insert(ctx, &baseapi.ProjectSequence{ - ClassKey: 1, - NextSequence: 1, - })) - }, - false, - "", - }, - { - "invalid: project sequence", - func(ctx context.Context, ss baseapi.StateStore) { - require.NoError(t, ss.ProjectSequenceTable().Insert(ctx, &baseapi.ProjectSequence{})) - }, - true, - "class key cannot be zero: parse error", - }, { "valid: batch sequence", func(ctx context.Context, ss baseapi.StateStore) { From 5d5249ee197885838a05223e86464d0072767395 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 31 Mar 2024 19:45:52 -0400 Subject: [PATCH 080/112] add CHANGELOG entries --- CHANGELOG.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cf47be55b..d366028145 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### Added - [#2107](https://github.com/regen-network/regen-ledger/pull/2107) Add `BurnRegen` method. +- [#2167](https://github.com/regen-network/regen-ledger/pull/2167) Add `CreateUnregisteredProject`, `CreateOrUpdateApplication`, `UpdateProjectEnrollment` and `UpdateProjectFee` methods and `ProjectEnrollment` and `ProjectEnrollments` queries. These additions allow: + - projects to be created without being already enrolled in a credit class + - projects to apply for one or more credit class and for project-credit class relationships to be dynamically managed on-chain + +#### Changed +- [#2167](https://github.com/regen-network/regen-ledger/pull/2167): + - `FormatProjectID` just takes a sequence number and doesn't need a class ID. + - `FormatBatchDenom` requires a class ID because the class is no longer implied by the project ID. + - the credit type `P` is now reserved because this is the new project prefix + - project and batch string validation is now more lenient and just checks for a non-empty string + - `GetCreditTypeFromBatchDenom` takes a `*Denom` parameter instead of a string. + +#### Deprecated +- [#2167](https://github.com/regen-network/regen-ledger/pull/2167): + - `regen.ecocredit.v1.Project.class_key` + - `regen.ecocredit.v1.ProjectSequence` + - `regen.ecocredit.v1.ProjectInfo.class_id` + +#### Removed +- [#2167](https://github.com/regen-network/regen-ledger/pull/2167): the `GetClassIDFromProjectID` and `GetProjectIDFromBatchDenom` have been removed and a state lookup must now be used to resolved these references. + - ## [v5.1.2](https://github.com/regen-network/regen-ledger/releases/tag/v5.1.2) - 2023-06-28 From ab7cc0616cf5df4a571aa336ad2b60517c62a36a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Apr 2024 15:15:26 -0400 Subject: [PATCH 081/112] feat(x/ecocredit/v3/client): add/update independent project CLI commands --- x/ecocredit/base/client/tx.go | 216 ++++++++++++++++++++++++++++++---- x/ecocredit/client/tx.go | 2 + 2 files changed, 196 insertions(+), 22 deletions(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index b5f8191810..3e390e26ca 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -22,10 +22,13 @@ const ( FlagAddIssuers string = "add-issuers" FlagReason string = "reason" FlagRemoveIssuers string = "remove-issuers" + FlagClassID string = "class-id" FlagReferenceID string = "reference-id" FlagRetirementJurisdiction string = "retirement-jurisdiction" FlagRetirementReason string = "retirement-reason" FlagClassFee string = "class-fee" + FlagProjectFee string = "project-fee" + FlagMetadata string = "metadata" ) // TxCreateClassCmd returns a transaction command that creates a credit class. @@ -110,42 +113,81 @@ regen tx ecocredit create-class regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw,reg // TxCreateProjectCmd returns a transaction command that creates a new project. func TxCreateProjectCmd() *cobra.Command { cmd := &cobra.Command{ - Use: "create-project [class-id] [jurisdiction] [metadata] [flags]", - Short: "Create a new project within a credit class", - Long: `Create a new project within a credit class. + Use: "create-project [jurisdiction] [metadata] [flags]", + Short: "Create a new project", + Long: `Create a new project. By default, this creates an unregistered project that is not enrolled in any credit +class. If the class-id flag is provided, the signer must be an issuer of the class and the project will be enrolled in +the class automatically. Parameters: -- class-id: the ID of the credit class - jurisdiction: the jurisdiction of the project - metadata: any arbitrary metadata to attach to the project -Optional Flags: +Flags: -- reference-id: a reference ID for the project`, - Example: `regen tx ecocredit create-project C01 "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf -regen tx ecocredit create-project C01 "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --reference-id VCS-001`, - Args: cobra.ExactArgs(3), +- project-fee: the fee that the project creator will pay to create the project. It must be >= the +required project creation fee param. If the project creation fee is zero, no fee is required. +We explicitly include the project creation fee here so that the project creator acknowledges paying +the fee and is not surprised to learn that the they paid a fee without consent. +- class-id: the ID of the credit class. If this is provided, the signer must be an issuer of the class. +- reference-id: a reference ID for the project. Only valid if class-id is also provided.`, + Example: `regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf +regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --class-id C01 --reference-id VCS-001`, + Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := sdkclient.GetClientTxContext(cmd) if err != nil { return err } + jurisdiction := args[0] + metadata := args[1] + + classID, err := cmd.Flags().GetString(FlagClassID) + if err != nil { + return err + } + referenceID, err := cmd.Flags().GetString(FlagReferenceID) if err != nil { return err } - msg := types.MsgCreateProject{ - Admin: clientCtx.GetFromAddress().String(), - ClassId: args[0], - Jurisdiction: args[1], - Metadata: args[2], - ReferenceId: referenceID, + // parse and normalize project fee + feeString, err := cmd.Flags().GetString(FlagProjectFee) + if err != nil { + return err + } + var fee sdk.Coin + if feeString != "" { + var err error + fee, err = sdk.ParseCoinNormalized(feeString) + if err != nil { + return fmt.Errorf("failed to parse class-fee: %w", err) + } } - return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg) + var msg sdk.Msg + if classID != "" { + msg = &types.MsgCreateProject{ + Admin: clientCtx.GetFromAddress().String(), + ClassId: classID, + Jurisdiction: jurisdiction, + Metadata: metadata, + ReferenceId: referenceID, + Fee: &fee, + } + } else { + msg = &types.MsgCreateUnregisteredProject{ + Admin: clientCtx.GetFromAddress().String(), + Jurisdiction: jurisdiction, + Metadata: metadata, + Fee: &fee, + } + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) }, } @@ -159,7 +201,7 @@ regen tx ecocredit create-project C01 "US-WA 98225" regen:13toVgf5UjYBz6J29x28pL // represent a new credit batch. func TxGenBatchJSONCmd() *cobra.Command { cmd := &cobra.Command{ - Use: `gen-batch-json [issuer] [project-id] [issuance-count] [metadata] [start-date] [end-date]`, + Use: `gen-batch-json [issuer] [project-id] [class-id] [issuance-count] [metadata] [start-date] [end-date]`, Short: "Generates JSON to represent a new credit batch for use with create-batch command", Long: `Generates JSON to represent a new credit batch for use with create-batch command. @@ -167,6 +209,7 @@ Parameters: - issuer: the account address of the credit batch issuer - project-id: the ID of the project +- class-id: the ID of the credit class to which the batch belongs and in which the project is enrolled - issuance-count: the number of issuance items to generate - metadata: any arbitrary metadata to attach to the credit batch - start-date: the beginning of the period during which this credit batch was @@ -174,9 +217,9 @@ Parameters: - end-date: the end of the period during which this credit batch was quantified and verified (format: yyyy-mm-dd)`, Example: "regen tx ecocredit gen-batch-json regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw C01-001 2 regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf 2020-01-01 2021-01-01", - Args: cobra.ExactArgs(6), + Args: cobra.ExactArgs(7), RunE: func(cmd *cobra.Command, args []string) error { - issuanceCount, err := strconv.ParseUint(args[2], 10, 8) + issuanceCount, err := strconv.ParseUint(args[3], 10, 8) if err != nil { return err } @@ -186,12 +229,12 @@ Parameters: issuance[i] = &types.BatchIssuance{} } - startDate, err := regentypes.ParseDate("start date", args[4]) + startDate, err := regentypes.ParseDate("start date", args[5]) if err != nil { return err } - endDate, err := regentypes.ParseDate("end date", args[5]) + endDate, err := regentypes.ParseDate("end date", args[6]) if err != nil { return err } @@ -199,8 +242,9 @@ Parameters: msg := &types.MsgCreateBatch{ Issuer: args[0], ProjectId: args[1], + ClassId: args[2], Issuance: issuance, - Metadata: args[3], + Metadata: args[4], StartDate: &startDate, EndDate: &endDate, } @@ -795,3 +839,131 @@ Example JSON: return txFlags(cmd) } + +func TxCreateOrUpdateApplicationCmd() *cobra.Command { + cmd := &cobra.Command{ + Use: "create-or-update-application [project-id] [class-id] [flags]", + Short: "Create or update an application", + Long: `Create or update an application. + +Parameters: +- project-id: the ID of the project creating or updating the application +- class-id: the ID of the credit class to which the application is being made + + +Flags: + +- metadata: optional metadata to attach to the application +`, + Example: `regen tx ecocredit create-or-update-application P001 C01 --metadata regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf`, + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) error { + return runCreateOrUpdateApplication(cmd, args, false) + }, + } + + return txFlags(cmd) +} + +func TxWithdrawApplicationCmd() *cobra.Command { + cmd := &cobra.Command{ + Use: "withdraw-application [project-id] [class-id] [flags]", + Short: "Withdraw an application", + Long: `Withdraw an application. + +Parameters: +- project-id: the ID of the project withdrawing the application +- class-id: the ID of the credit class from which the application is being withdrawn + +Flags: + +- metadata: optional metadata to attach to the withdrawal +`, + Example: `regen tx ecocredit withdraw-application P001 C01`, + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) error { + return runCreateOrUpdateApplication(cmd, args, true) + }, + } + + return txFlags(cmd) +} + +func runCreateOrUpdateApplication(cmd *cobra.Command, args []string, withdraw bool) error { + clientCtx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + metadata, err := cmd.Flags().GetString(FlagMetadata) + if err != nil { + return err + } + + msg := &types.MsgCreateOrUpdateApplication{ + ProjectAdmin: clientCtx.GetFromAddress().String(), + ProjectId: args[0], + ClassId: args[1], + Metadata: metadata, + Withdraw: withdraw, + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) +} + +func TxUpdateProjectEnrollment() *cobra.Command { + cmd := &cobra.Command{ + Use: "update-project-enrollment [project-id] [class-id] [status] [flags]", + Short: "Update project enrollment", + Long: `Update project enrollment. + +Parameters: +- project-id: the ID of the project to update +- class-id: the ID of the credit class to update +- status: the new status of the project enrollment, must be one of ACCEPTED, CHANGES_REQUESTED, REJECTED or TERMINATED + +Flags: +- metadata: optional metadata to attach to the enrollment update +`, + Example: `regen tx ecocredit update-project-enrollment P001 C01 ACCEPTED --metadata regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf`, + Args: cobra.ExactArgs(3), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := sdkclient.GetClientTxContext(cmd) + if err != nil { + return err + } + + metadata, err := cmd.Flags().GetString(FlagMetadata) + if err != nil { + return err + } + + statusArg := args[2] + var status types.ProjectEnrollmentStatus + switch statusArg { + case "ACCEPTED": + status = types.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED + case "CHANGES_REQUESTED": + status = types.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED + case "REJECTED": + status = types.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED + case "TERMINATED": + status = types.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_TERMINATED + default: + return fmt.Errorf("invalid status: %s", statusArg) + } + + msg := &types.MsgUpdateProjectEnrollment{ + Issuer: clientCtx.GetFromAddress().String(), + ProjectId: args[0], + ClassId: args[1], + NewStatus: status, + Metadata: metadata, + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + return txFlags(cmd) +} diff --git a/x/ecocredit/client/tx.go b/x/ecocredit/client/tx.go index e66d416f84..5cae168a50 100644 --- a/x/ecocredit/client/tx.go +++ b/x/ecocredit/client/tx.go @@ -36,6 +36,8 @@ func TxCmd(name string) *cobra.Command { baseclient.TxUpdateProjectMetadataCmd(), baseclient.TxUpdateBatchMetadataCmd(), baseclient.TxBridgeCmd(), + baseclient.TxCreateOrUpdateApplicationCmd(), + baseclient.TxWithdrawApplicationCmd(), basketclient.TxCreateBasketCmd(), basketclient.TxPutInBasketCmd(), basketclient.TxTakeFromBasketCmd(), From 5724801fbfa29cd805c114e830bddc97c58a185b Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Apr 2024 16:20:11 -0400 Subject: [PATCH 082/112] query commands --- x/ecocredit/base/client/query.go | 63 ++++++++++++++++++++++++++++++++ x/ecocredit/base/client/tx.go | 44 ++++++++++------------ 2 files changed, 82 insertions(+), 25 deletions(-) diff --git a/x/ecocredit/base/client/query.go b/x/ecocredit/base/client/query.go index b49fcde510..cca9114e77 100644 --- a/x/ecocredit/base/client/query.go +++ b/x/ecocredit/base/client/query.go @@ -667,3 +667,66 @@ func QueryAllowedBridgeChainsCmd() *cobra.Command { flags.AddPaginationFlagsToCmd(cmd, "allowed-bridge-chains") return qflags(cmd) } + +func QueryProjectEnrollment() *cobra.Command { + cmd := &cobra.Command{ + Use: "project-enrollment [project-id] [class-id]", + Short: "Retrieve project enrollment information", + Long: "Retrieve project enrollment information.", + Example: "regen q ecocredit project-enrollment P001 C01", + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) error { + c, ctx, err := mkQueryClient(cmd) + if err != nil { + return err + } + res, err := c.ProjectEnrollment(cmd.Context(), &types.QueryProjectEnrollmentRequest{ + ProjectId: args[0], + ClassId: args[1], + }) + return printQueryResponse(ctx, res, err) + }, + } + return qflags(cmd) +} + +func QueryProjectEnrollments() *cobra.Command { + var projectID, classID string + + cmd := &cobra.Command{ + Use: "project-enrollments", + Short: "Retrieve project enrollments", + Long: `Retrieve project enrollments with optional pagination and filtering by project or credit class. + +Flags: + --project string Filter by project ID + --class string Filter by credit class ID +`, + Example: `regen q ecocredit project-enrollments --limit 10 --offset 10 +regen q ecocredit project-enrollments --project P001 +regen q ecocredit project-enrollments --class C01`, + RunE: func(cmd *cobra.Command, args []string) error { + c, ctx, err := mkQueryClient(cmd) + if err != nil { + return err + } + + pagination, err := client.ReadPageRequest(cmd.Flags()) + if err != nil { + return err + } + + res, err := c.ProjectEnrollments(cmd.Context(), &types.QueryProjectEnrollmentsRequest{ + ProjectId: projectID, + ClassId: classID, + Pagination: pagination, + }) + return printQueryResponse(ctx, res, err) + }, + } + + cmd.Flags().StringVar(&projectID, FlagProject, "", "Filter by project ID") + cmd.Flags().StringVar(&classID, FlagClass, "", "Filter by credit class ID") + + return qflags(cmd) +} diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index 3e390e26ca..03a6338acb 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -22,7 +22,8 @@ const ( FlagAddIssuers string = "add-issuers" FlagReason string = "reason" FlagRemoveIssuers string = "remove-issuers" - FlagClassID string = "class-id" + FlagClass string = "class" + FlagProject string = "project" FlagReferenceID string = "reference-id" FlagRetirementJurisdiction string = "retirement-jurisdiction" FlagRetirementReason string = "retirement-reason" @@ -112,6 +113,8 @@ regen tx ecocredit create-class regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw,reg // TxCreateProjectCmd returns a transaction command that creates a new project. func TxCreateProjectCmd() *cobra.Command { + var classID, referenceID, projectFee string + cmd := &cobra.Command{ Use: "create-project [jurisdiction] [metadata] [flags]", Short: "Create a new project", @@ -130,7 +133,7 @@ Flags: required project creation fee param. If the project creation fee is zero, no fee is required. We explicitly include the project creation fee here so that the project creator acknowledges paying the fee and is not surprised to learn that the they paid a fee without consent. -- class-id: the ID of the credit class. If this is provided, the signer must be an issuer of the class. +- class: the ID of the credit class. If this is provided, the signer must be an issuer of the class. - reference-id: a reference ID for the project. Only valid if class-id is also provided.`, Example: `regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --class-id C01 --reference-id VCS-001`, @@ -144,25 +147,11 @@ regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjK jurisdiction := args[0] metadata := args[1] - classID, err := cmd.Flags().GetString(FlagClassID) - if err != nil { - return err - } - - referenceID, err := cmd.Flags().GetString(FlagReferenceID) - if err != nil { - return err - } - // parse and normalize project fee - feeString, err := cmd.Flags().GetString(FlagProjectFee) - if err != nil { - return err - } var fee sdk.Coin - if feeString != "" { + if projectFee != "" { var err error - fee, err = sdk.ParseCoinNormalized(feeString) + fee, err = sdk.ParseCoinNormalized(projectFee) if err != nil { return fmt.Errorf("failed to parse class-fee: %w", err) } @@ -192,7 +181,9 @@ regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjK }, } - cmd.Flags().String(FlagReferenceID, "", "a reference ID for the project") + cmd.Flags().StringVar(&classID, FlagClass, "", "the ID of the credit class into which the project will be enrolled") + cmd.Flags().StringVar(&referenceID, FlagReferenceID, "", "a reference ID for the project") + cmd.Flags().StringVar(&projectFee, FlagProjectFee, "", "the fee that the project creator will pay to create the project (e.g. \"20regen\")") return txFlags(cmd) } @@ -862,6 +853,8 @@ Flags: }, } + cmd.Flags().String(FlagMetadata, "", "optional metadata to attach to the application") + return txFlags(cmd) } @@ -886,6 +879,8 @@ Flags: }, } + cmd.Flags().String(FlagMetadata, "", "optional metadata to attach to the withdrawal") + return txFlags(cmd) } @@ -912,6 +907,8 @@ func runCreateOrUpdateApplication(cmd *cobra.Command, args []string, withdraw bo } func TxUpdateProjectEnrollment() *cobra.Command { + var metadata string + cmd := &cobra.Command{ Use: "update-project-enrollment [project-id] [class-id] [status] [flags]", Short: "Update project enrollment", @@ -923,7 +920,7 @@ Parameters: - status: the new status of the project enrollment, must be one of ACCEPTED, CHANGES_REQUESTED, REJECTED or TERMINATED Flags: -- metadata: optional metadata to attach to the enrollment update +- metadata: optional metadata to attach to the enrollment `, Example: `regen tx ecocredit update-project-enrollment P001 C01 ACCEPTED --metadata regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf`, Args: cobra.ExactArgs(3), @@ -933,11 +930,6 @@ Flags: return err } - metadata, err := cmd.Flags().GetString(FlagMetadata) - if err != nil { - return err - } - statusArg := args[2] var status types.ProjectEnrollmentStatus switch statusArg { @@ -965,5 +957,7 @@ Flags: }, } + cmd.Flags().StringVar(&metadata, FlagMetadata, "", "optional metadata to attach to the enrollment") + return txFlags(cmd) } From 29f659b7de43332fa85018b2dca826328e4d1457 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 2 May 2024 13:37:39 -0400 Subject: [PATCH 083/112] Update x/ecocredit/base/types/v1/features/msg_add_credit_type.feature Co-authored-by: Paul Weidner --- x/ecocredit/base/types/v1/features/msg_add_credit_type.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature b/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature index 330d89af81..9adb2b2e25 100644 --- a/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature +++ b/x/ecocredit/base/types/v1/features/msg_add_credit_type.feature @@ -139,7 +139,7 @@ Feature: MsgAddCreditType """ - Scenario: an error is returned for the reversed abbreviation P + Scenario: an error is returned for the reserved abbreviation P Given the message """ { From f4fd66ad02e01b6b615e0f2766854dec13fde924 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 2 May 2024 13:38:16 -0400 Subject: [PATCH 084/112] Update proto/regen/ecocredit/v1/query.proto Co-authored-by: Paul Weidner --- proto/regen/ecocredit/v1/query.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 2727546a01..2c5f15c28b 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -909,6 +909,6 @@ message EnrollmentInfo { string application_metadata = 5; // enrollment_metadata is any arbitrary metadata set by the credit class - // admin evaluating the project's application to the credit class. + // issuer evaluating the project's application to the credit class. string enrollment_metadata = 6; } \ No newline at end of file From d6e0b78d51149676708344836cd87da54b8affcc Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 2 May 2024 13:44:12 -0400 Subject: [PATCH 085/112] proto-gen --- api/regen/ecocredit/v1/query.pulsar.go | 9 ++++----- api/regen/ecocredit/v1/tx.pulsar.go | 7 +++---- x/ecocredit/base/types/v1/query.pb.go | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index ed0c780004..ea2d33dc2c 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -15,6 +11,9 @@ import ( 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 ( @@ -33459,7 +33458,7 @@ type EnrollmentInfo struct { // admin related to its application to the credit class. ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` // enrollment_metadata is any arbitrary metadata set by the credit class - // admin evaluating the project's application to the credit class. + // issuer evaluating the project's application to the credit class. EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` } diff --git a/api/regen/ecocredit/v1/tx.pulsar.go b/api/regen/ecocredit/v1/tx.pulsar.go index 874edba163..2959d49df5 100644 --- a/api/regen/ecocredit/v1/tx.pulsar.go +++ b/api/regen/ecocredit/v1/tx.pulsar.go @@ -3,10 +3,6 @@ package ecocreditv1 import ( fmt "fmt" - io "io" - reflect "reflect" - sync "sync" - runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-sdk/api/cosmos/msg/v1" @@ -15,6 +11,9 @@ import ( 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 ( diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index c09e8611ce..c382101c3e 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3280,7 +3280,7 @@ type EnrollmentInfo struct { // admin related to its application to the credit class. ApplicationMetadata string `protobuf:"bytes,5,opt,name=application_metadata,json=applicationMetadata,proto3" json:"application_metadata,omitempty"` // enrollment_metadata is any arbitrary metadata set by the credit class - // admin evaluating the project's application to the credit class. + // issuer evaluating the project's application to the credit class. EnrollmentMetadata string `protobuf:"bytes,6,opt,name=enrollment_metadata,json=enrollmentMetadata,proto3" json:"enrollment_metadata,omitempty"` } From 356a2ff87c1921476bd6bde7b45f61d19da8fff8 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 28 May 2024 18:52:19 -0400 Subject: [PATCH 086/112] rename refactor --- x/ecocredit/base/keeper/msg_cancel.go | 2 +- x/ecocredit/base/keeper/msg_mint_batch_credits.go | 2 +- x/ecocredit/base/keeper/msg_retire.go | 2 +- x/ecocredit/base/keeper/msg_send.go | 2 +- x/ecocredit/marketplace/keeper/msg_buy_direct.go | 2 +- x/ecocredit/marketplace/keeper/msg_sell.go | 2 +- x/ecocredit/marketplace/keeper/msg_update_sell_orders.go | 2 +- x/ecocredit/server/utils/utils.go | 6 ++++-- x/ecocredit/server/utils/utils_test.go | 2 +- 9 files changed, 12 insertions(+), 10 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_cancel.go b/x/ecocredit/base/keeper/msg_cancel.go index 08bf05abc6..6bece70c92 100644 --- a/x/ecocredit/base/keeper/msg_cancel.go +++ b/x/ecocredit/base/keeper/msg_cancel.go @@ -26,7 +26,7 @@ func (k Keeper) Cancel(ctx context.Context, req *types.MsgCancel) (*types.MsgCan if err != nil { return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get batch with denom %s: %s", credit.BatchDenom, err.Error()) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) + creditType, err := utils.GetCreditTypeFromBatch(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_mint_batch_credits.go b/x/ecocredit/base/keeper/msg_mint_batch_credits.go index a5e5664008..23fe9dda70 100644 --- a/x/ecocredit/base/keeper/msg_mint_batch_credits.go +++ b/x/ecocredit/base/keeper/msg_mint_batch_credits.go @@ -39,7 +39,7 @@ func (k Keeper) MintBatchCredits(ctx context.Context, req *types.MsgMintBatchCre return nil, err } - ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) + ct, err := utils.GetCreditTypeFromBatch(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_retire.go b/x/ecocredit/base/keeper/msg_retire.go index d0c8bcbaf4..1f52b489ae 100644 --- a/x/ecocredit/base/keeper/msg_retire.go +++ b/x/ecocredit/base/keeper/msg_retire.go @@ -24,7 +24,7 @@ func (k Keeper) Retire(ctx context.Context, req *types.MsgRetire) (*types.MsgRet if err != nil { return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get batch with denom %s: %s", credit.BatchDenom, err.Error()) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) + creditType, err := utils.GetCreditTypeFromBatch(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_send.go b/x/ecocredit/base/keeper/msg_send.go index fda0779b33..7a07bb584f 100644 --- a/x/ecocredit/base/keeper/msg_send.go +++ b/x/ecocredit/base/keeper/msg_send.go @@ -32,7 +32,7 @@ func (k Keeper) Send(ctx context.Context, req *types.MsgSend) (*types.MsgSendRes } // get credit type precision - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.stateStore, batch) + creditType, err := utils.GetCreditTypeFromBatch(ctx, k.stateStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_buy_direct.go b/x/ecocredit/marketplace/keeper/msg_buy_direct.go index 3e5fb306dc..45e76da594 100644 --- a/x/ecocredit/marketplace/keeper/msg_buy_direct.go +++ b/x/ecocredit/marketplace/keeper/msg_buy_direct.go @@ -55,7 +55,7 @@ func (k Keeper) BuyDirect(ctx context.Context, req *types.MsgBuyDirect) (*types. if err != nil { return nil, err } - ct, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) + ct, err := utils.GetCreditTypeFromBatch(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_sell.go b/x/ecocredit/marketplace/keeper/msg_sell.go index e358ebac9d..fae230617a 100644 --- a/x/ecocredit/marketplace/keeper/msg_sell.go +++ b/x/ecocredit/marketplace/keeper/msg_sell.go @@ -40,7 +40,7 @@ func (k Keeper) Sell(ctx context.Context, req *types.MsgSell) (*types.MsgSellRes ) } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) + creditType, err := utils.GetCreditTypeFromBatch(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go b/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go index 05b95cfee0..bdb44faed5 100644 --- a/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go +++ b/x/ecocredit/marketplace/keeper/msg_update_sell_orders.go @@ -178,7 +178,7 @@ func (k Keeper) getCreditTypeFromBatchKey(ctx context.Context, key uint64) (*bas if err != nil { return nil, err } - creditType, err := utils.GetCreditTypeFromBatchDenom(ctx, k.baseStore, batch) + creditType, err := utils.GetCreditTypeFromBatch(ctx, k.baseStore, batch) if err != nil { return nil, err } diff --git a/x/ecocredit/server/utils/utils.go b/x/ecocredit/server/utils/utils.go index 251c9a647d..c1663c9557 100644 --- a/x/ecocredit/server/utils/utils.go +++ b/x/ecocredit/server/utils/utils.go @@ -10,8 +10,10 @@ import ( "github.com/regen-network/regen-ledger/types/v2/math" ) -// GetCreditTypeFromBatchDenom extracts the classID from a batch denom string, then retrieves it from the params. -func GetCreditTypeFromBatchDenom(ctx context.Context, store api.StateStore, batch *api.Batch) (*api.CreditType, error) { +// GetCreditTypeFromBatch extracts the credit type from a batch by querying the class table for the class key, and then +// querying the credit type table for the credit type abbreviation. This is a convenience function for use in message +// handlers, where the credit type is needed to perform further operations on the batch. +func GetCreditTypeFromBatch(ctx context.Context, store api.StateStore, batch *api.Batch) (*api.CreditType, error) { cls, err := store.ClassTable().Get(ctx, batch.ClassKey) if err != nil { return nil, err diff --git a/x/ecocredit/server/utils/utils_test.go b/x/ecocredit/server/utils/utils_test.go index 3867631245..2ed39a3619 100644 --- a/x/ecocredit/server/utils/utils_test.go +++ b/x/ecocredit/server/utils/utils_test.go @@ -115,7 +115,7 @@ func TestUtils_GetCreditTypeFromBatchDenom(t *testing.T) { ClassKey: clsKey, } assert.NilError(t, s.stateStore.BatchTable().Insert(s.ctx, batch)) - ct, err := GetCreditTypeFromBatchDenom(s.ctx, s.stateStore, batch) + ct, err := GetCreditTypeFromBatch(s.ctx, s.stateStore, batch) assert.NilError(t, err) assert.DeepEqual(t, ct, creditType, cmpopts.IgnoreUnexported(api.CreditType{})) } From b0cfdb7ae74f2dc27b299bc998786f31b1311455 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 28 May 2024 18:53:07 -0400 Subject: [PATCH 087/112] Update CHANGELOG.md Co-authored-by: Paul Weidner --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d366028145..ba9b5b1f97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `FormatBatchDenom` requires a class ID because the class is no longer implied by the project ID. - the credit type `P` is now reserved because this is the new project prefix - project and batch string validation is now more lenient and just checks for a non-empty string - - `GetCreditTypeFromBatchDenom` takes a `*Denom` parameter instead of a string. + - `GetCreditTypeFromBatchDenom` takes a `*Batch` parameter instead of a string. #### Deprecated - [#2167](https://github.com/regen-network/regen-ledger/pull/2167): From c262750518683ba507cfadeecdd01ece849579b1 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 28 May 2024 18:53:38 -0400 Subject: [PATCH 088/112] fix CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba9b5b1f97..5d213ae908 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `FormatBatchDenom` requires a class ID because the class is no longer implied by the project ID. - the credit type `P` is now reserved because this is the new project prefix - project and batch string validation is now more lenient and just checks for a non-empty string - - `GetCreditTypeFromBatchDenom` takes a `*Batch` parameter instead of a string. + - `GetCreditTypeFromBatchDenom` was renamed to `GetCreditTypeFromBatch` and takes a `*Batch` parameter instead of a string. #### Deprecated - [#2167](https://github.com/regen-network/regen-ledger/pull/2167): From 4336def78e798ac87a8fe61b63a31103e217cb50 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 28 May 2024 19:05:14 -0400 Subject: [PATCH 089/112] add test for project not accepted to credit class --- .../keeper/features/msg_create_batch.feature | 19 ++++++++---- .../base/keeper/msg_create_batch_test.go | 30 +++++++++++++++++++ 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_batch.feature b/x/ecocredit/base/keeper/features/msg_create_batch.feature index c4084a26bf..f90fd46c76 100644 --- a/x/ecocredit/base/keeper/features/msg_create_batch.feature +++ b/x/ecocredit/base/keeper/features/msg_create_batch.feature @@ -13,20 +13,27 @@ Feature: Msg/CreateBatch - the batch contract mapping is added - the response includes the batch denom - Rule: The project must exist + Rule: The project must exist and have an accepted enrollment to the credit class Background: Given a credit type with abbreviation "C" And a credit class with class id "C01" and issuer alice - And a project with project id "P001" enrolled in "C01" - Scenario: the project exists + Scenario: the project exists and has an accepted enrollment + Given a project with project id "P001" + And project "P001" has an "ACCEPTED" enrollment to class "C01" When alice attempts to create a batch with project id "P001" and class id "C01" Then expect no error Scenario: the project does not exist - When alice attempts to create a batch with project id "P002" and class id "C02" - Then expect error contains "could not get project with id P002: not found: invalid request" + When alice attempts to create a batch with project id "P001" and class id "C01" + Then expect error contains "could not get project with id P001: not found: invalid request" + + Scenario: the project exists but has an unaccepted enrollment + Given a project with project id "P001" + And project "P001" has an "UNSPECIFIED" enrollment to class "C01" + When alice attempts to create a batch with project id "P001" and class id "C01" + Then expect error contains "project enrollment status is not accepted: invalid request" Rule: The issuer must be an allowed credit class issuer @@ -528,4 +535,4 @@ Feature: Msg/CreateBatch "note": "credits from VCS-001" } } - """ \ No newline at end of file + """ diff --git a/x/ecocredit/base/keeper/msg_create_batch_test.go b/x/ecocredit/base/keeper/msg_create_batch_test.go index 0ec534f316..bd65905570 100644 --- a/x/ecocredit/base/keeper/msg_create_batch_test.go +++ b/x/ecocredit/base/keeper/msg_create_batch_test.go @@ -3,6 +3,7 @@ package keeper import ( "encoding/json" + "fmt" "strconv" "testing" "time" @@ -10,6 +11,7 @@ import ( "github.com/gogo/protobuf/jsonpb" "github.com/regen-network/gocuke" "github.com/stretchr/testify/require" + "google.golang.org/protobuf/reflect/protoreflect" sdk "github.com/cosmos/cosmos-sdk/types" @@ -138,6 +140,34 @@ func (s *createBatchSuite) AProjectWithProjectIdEnrolledIn(a, b string) { require.NoError(s.t, err) } +func (s *createBatchSuite) AProjectWithProjectId(id string) { + pKey, err := s.k.stateStore.ProjectTable().InsertReturningID(s.ctx, &api.Project{ + Id: id, + }) + require.NoError(s.t, err) + + s.projectKey = pKey +} + +func (s *createBatchSuite) ProjectHasAnEnrollmentToClass(projId, statusStr, clsId string) { + cls, err := s.k.stateStore.ClassTable().GetById(s.ctx, clsId) + require.NoError(s.t, err) + + proj, err := s.k.stateStore.ProjectTable().GetById(s.ctx, projId) + require.NoError(s.t, err) + + var status api.ProjectEnrollmentStatus + statusDesc := status.Descriptor().Values().ByName(protoreflect.Name(fmt.Sprintf("PROJECT_ENROLLMENT_STATUS_%s", statusStr))) + status = api.ProjectEnrollmentStatus(statusDesc.Number()) + + err = s.k.stateStore.ProjectEnrollmentTable().Insert(s.ctx, &api.ProjectEnrollment{ + ProjectKey: proj.Key, + ClassKey: cls.Key, + Status: status, + }) + require.NoError(s.t, err) +} + func (s *createBatchSuite) ABatchSequenceWithProjectIdAndNextSequence(a string, b string) { project, err := s.stateStore.ProjectTable().GetById(s.ctx, a) require.NoError(s.t, err) From 7c6fdb2e4be2202be56aed6ed48436e9da221f2f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 28 May 2024 19:11:38 -0400 Subject: [PATCH 090/112] add test for withdrawing an accepted enrollment and fix logic --- .../features/msg_create_or_update_application.feature | 9 ++++++++- .../base/keeper/msg_create_or_update_application.go | 4 ++++ .../base/keeper/msg_create_or_update_application_test.go | 7 +++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature index bc2877059d..3f5cdf2d07 100644 --- a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature @@ -61,4 +61,11 @@ Feature: Msg/CreateOrUpdateApplication Then expect error contains "unauthorized" And expect the application for "P001" to "C01" exists with metadata "abc123" - Rule: events get emitted + Rule: project admins cannot withdraw a project with an accepted enrollment (a credit class issuer must do that) + Scenario: project is accepted and admin attempts to withdraw the application + Given an application for "P001" to "C01" with metadata "abc123" + And the application for "P001" to "C01" is accepted + When "Alice" attempts to withdraw the application for "P001" to "C01" with metadata "foobar379" + Then expect error contains "cannot withdraw accepted enrollment" + And expect the application for "P001" to "C01" exists with metadata "abc123" + diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application.go b/x/ecocredit/base/keeper/msg_create_or_update_application.go index 3e0905ba11..ef8c852321 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application.go @@ -51,6 +51,10 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre if msg.Withdraw { action = types.EventUpdateApplication_ACTION_WITHDRAW + if enrollment.Status == ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED { + return nil, sdkerrors.ErrInvalidRequest.Wrapf("cannot withdraw accepted enrollment") + } + if err := k.stateStore.ProjectEnrollmentTable().Delete(ctx, enrollment); err != nil { return nil, err } diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application_test.go b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go index 91b43749e5..de40e407b0 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application_test.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application_test.go @@ -59,6 +59,13 @@ func (s *createOrUpdateApplicationSuite) AnApplicationForToWithMetadata(projId, })) } +func (s *createOrUpdateApplicationSuite) TheApplicationForToIsAccepted(projId, clsId string) { + enrollment, err := s.getEnrollment(projId, clsId) + require.NoError(s.t, err) + enrollment.Status = api.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED + require.NoError(s.t, s.stateStore.ProjectEnrollmentTable().Save(s.ctx, enrollment)) +} + func (s *createOrUpdateApplicationSuite) AnApplicationForToDoesNotExist(projId, clsId string) { enrollment, err := s.getEnrollment(projId, clsId) if !ormerrors.IsNotFound(err) { From 728919fbed55a13ce4365f04977f04196c3d6276 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 11 Jun 2024 16:58:46 -0400 Subject: [PATCH 091/112] Update x/ecocredit/base/keeper/features/msg_create_or_update_application.feature Co-authored-by: Paul Weidner --- .../keeper/features/msg_create_or_update_application.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature index 3f5cdf2d07..8ee68ca5c7 100644 --- a/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature +++ b/x/ecocredit/base/keeper/features/msg_create_or_update_application.feature @@ -61,7 +61,7 @@ Feature: Msg/CreateOrUpdateApplication Then expect error contains "unauthorized" And expect the application for "P001" to "C01" exists with metadata "abc123" - Rule: project admins cannot withdraw a project with an accepted enrollment (a credit class issuer must do that) + Rule: project admins cannot withdraw a project with an accepted enrollment Scenario: project is accepted and admin attempts to withdraw the application Given an application for "P001" to "C01" with metadata "abc123" And the application for "P001" to "C01" is accepted From 9fdd3fcc5f6f0e93027b86e891b97ef4090caabb Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 11 Jun 2024 22:52:38 -0400 Subject: [PATCH 092/112] add more tests for MsgUpdateProjectEnrollment state transitions --- .../msg_update_project_enrollment.feature | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index 0c0d63405d..41fa36ca89 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -52,19 +52,26 @@ Feature: Msg/UpdateProjectEnrollment } """ Examples: - | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | - | IO1 unspecified to rejected | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | - | Bob unspecified to rejected | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | - | I01 changes requested to rejected | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | - | Bob changes requested to rejected | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | - | I01 accepted to rejected | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | - | Bob accepted to rejected | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | - | I01 unspecified to terminated | UNSPECIFIED | abc | I01 | TERMINATED | baz789 | invalid | true | - | Bob unspecified to terminated | UNSPECIFIED | abc | Bob | TERMINATED | baz789 | unauthorized | true | - | I01 changes requested to terminated | CHANGES_REQUESTED | bar456 | I01 | TERMINATED | baz789 | invalid | true | - | Bob changes requested to terminated | CHANGES_REQUESTED | bar456 | Bob | TERMINATED | baz789 | unauthorized | true | - | I01 accepted to terminated | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | - | Bob accepted to terminated | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | + | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | exists | + | IO1 unspecified to rejected | UNSPECIFIED | abc | I01 | REJECTED | baz789 | | false | + | Bob unspecified to rejected | UNSPECIFIED | abc | Bob | REJECTED | baz789 | unauthorized | true | + | I01 changes requested to rejected | CHANGES_REQUESTED | bar456 | I01 | REJECTED | baz789 | | false | + | Bob changes requested to rejected | CHANGES_REQUESTED | bar456 | Bob | REJECTED | baz789 | unauthorized | true | + | I01 accepted to rejected | ACCEPTED | foo123 | I01 | REJECTED | baz789 | invalid | true | + | Bob accepted to rejected | ACCEPTED | foo123 | Bob | REJECTED | baz789 | unauthorized | true | + | I01 unspecified to terminated | UNSPECIFIED | abc | I01 | TERMINATED | baz789 | invalid | true | + | Bob unspecified to terminated | UNSPECIFIED | abc | Bob | TERMINATED | baz789 | unauthorized | true | + | I01 changes requested to terminated | CHANGES_REQUESTED | bar456 | I01 | TERMINATED | baz789 | invalid | true | + | Bob changes requested to terminated | CHANGES_REQUESTED | bar456 | Bob | TERMINATED | baz789 | unauthorized | true | + | I01 accepted to terminated | ACCEPTED | foo123 | I01 | TERMINATED | baz789 | | false | + | Bob accepted to terminated | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | + | I01 accepted to unspecified | ACCEPTED | foo123 | I01 | UNSPECIFIED | baz789 | invalid | true | + | Bob accepted to unspecified | ACCEPTED | foo123 | Bob | UNSPECIFIED | baz789 | unauthorized | true | + | I01 changes requested to unspecified | CHANGES_REQUESTED | bar456 | I01 | UNSPECIFIED | baz789 | invalid | true | + | Bob changes requested to unspecified | CHANGES_REQUESTED | bar456 | Bob | UNSPECIFIED | baz789 | unauthorized | true | + | I01 accepted to changes requested | ACCEPTED | foo123 | I01 | CHANGES_REQUESTED | baz789 | invalid | true | + | Bob accepted to changes requested | ACCEPTED | foo123 | Bob | CHANGES_REQUESTED | baz789 | unauthorized | true | + Rule: any issuer can transition states Scenario: Issuer 1 requests changes, issuer 2 accepts From 146ffb7e969b2eb2ab05eb36dbdf38379f421029 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:07:00 +0200 Subject: [PATCH 093/112] Update x/ecocredit/base/client/query.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/query.go b/x/ecocredit/base/client/query.go index cca9114e77..50493338dc 100644 --- a/x/ecocredit/base/client/query.go +++ b/x/ecocredit/base/client/query.go @@ -668,7 +668,7 @@ func QueryAllowedBridgeChainsCmd() *cobra.Command { return qflags(cmd) } -func QueryProjectEnrollment() *cobra.Command { +func QueryProjectEnrollmentCmd() *cobra.Command { cmd := &cobra.Command{ Use: "project-enrollment [project-id] [class-id]", Short: "Retrieve project enrollment information", From 9c208b44df4467a307a53efd76fdfbae20400d5d Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:07:17 +0200 Subject: [PATCH 094/112] Update x/ecocredit/base/client/query.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/query.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/query.go b/x/ecocredit/base/client/query.go index 50493338dc..b611938d7f 100644 --- a/x/ecocredit/base/client/query.go +++ b/x/ecocredit/base/client/query.go @@ -690,7 +690,7 @@ func QueryProjectEnrollmentCmd() *cobra.Command { return qflags(cmd) } -func QueryProjectEnrollments() *cobra.Command { +func QueryProjectEnrollmentsCmd() *cobra.Command { var projectID, classID string cmd := &cobra.Command{ From 27700ae0b8eb69e155a77b58edbd92a1b2aa73d4 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:07:34 +0200 Subject: [PATCH 095/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index 03a6338acb..3769a467b1 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -119,7 +119,7 @@ func TxCreateProjectCmd() *cobra.Command { Use: "create-project [jurisdiction] [metadata] [flags]", Short: "Create a new project", Long: `Create a new project. By default, this creates an unregistered project that is not enrolled in any credit -class. If the class-id flag is provided, the signer must be an issuer of the class and the project will be enrolled in +class. If the class flag is provided, the signer must be an issuer of the class and the project will be enrolled in the class automatically. Parameters: From 171c66142cf365d5f26baf624003fbeded5b06bc Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:14:26 +0200 Subject: [PATCH 096/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index 3769a467b1..6ea6dbb7bb 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -134,7 +134,7 @@ required project creation fee param. If the project creation fee is zero, no fee We explicitly include the project creation fee here so that the project creator acknowledges paying the fee and is not surprised to learn that the they paid a fee without consent. - class: the ID of the credit class. If this is provided, the signer must be an issuer of the class. -- reference-id: a reference ID for the project. Only valid if class-id is also provided.`, +- reference-id: a reference ID for the project. Only valid if class is also provided.`, Example: `regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --class-id C01 --reference-id VCS-001`, Args: cobra.ExactArgs(2), From 5687db801d149271640f8d30200aded72f40576a Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:14:37 +0200 Subject: [PATCH 097/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index 6ea6dbb7bb..ad6e1b2e7e 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -136,7 +136,7 @@ the fee and is not surprised to learn that the they paid a fee without consent. - class: the ID of the credit class. If this is provided, the signer must be an issuer of the class. - reference-id: a reference ID for the project. Only valid if class is also provided.`, Example: `regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf -regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --class-id C01 --reference-id VCS-001`, +regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf --class C01 --reference-id VCS-001`, Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := sdkclient.GetClientTxContext(cmd) From 92ceeecb4274d5dd8ec04f9cbc7e766c245d16ff Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:14:49 +0200 Subject: [PATCH 098/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index ad6e1b2e7e..5a33d0e96c 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -207,7 +207,7 @@ Parameters: quantified and verified (format: yyyy-mm-dd) - end-date: the end of the period during which this credit batch was quantified and verified (format: yyyy-mm-dd)`, - Example: "regen tx ecocredit gen-batch-json regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw C01-001 2 regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf 2020-01-01 2021-01-01", + Example: "regen tx ecocredit gen-batch-json regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw P001 C01 2 regen:13toVgf5UjYBz6J29x28pLQyjKz5FpcW3f4bT5uRKGxGREWGKjEdXYG.rdf 2020-01-01 2021-01-01", Args: cobra.ExactArgs(7), RunE: func(cmd *cobra.Command, args []string) error { issuanceCount, err := strconv.ParseUint(args[3], 10, 8) From 9f9f9cc61c73e1289e34bf809a6db75096688ee0 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:15:01 +0200 Subject: [PATCH 099/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index 5a33d0e96c..c60f2b0d9c 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -906,7 +906,7 @@ func runCreateOrUpdateApplication(cmd *cobra.Command, args []string, withdraw bo return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) } -func TxUpdateProjectEnrollment() *cobra.Command { +func TxUpdateProjectEnrollmentCmd() *cobra.Command { var metadata string cmd := &cobra.Command{ From 3a5c295b69b4795ca6e8b1c44fec2dd6dfc3336b Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:15:13 +0200 Subject: [PATCH 100/112] Update x/ecocredit/client/tx.go Co-authored-by: Paul Weidner --- x/ecocredit/client/tx.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/ecocredit/client/tx.go b/x/ecocredit/client/tx.go index 5cae168a50..6cbbdb3e83 100644 --- a/x/ecocredit/client/tx.go +++ b/x/ecocredit/client/tx.go @@ -38,6 +38,7 @@ func TxCmd(name string) *cobra.Command { baseclient.TxBridgeCmd(), baseclient.TxCreateOrUpdateApplicationCmd(), baseclient.TxWithdrawApplicationCmd(), + baseclient.TxUpdateProjectEnrollmentCmd(), basketclient.TxCreateBasketCmd(), basketclient.TxPutInBasketCmd(), basketclient.TxTakeFromBasketCmd(), From 2de0250a2eda0fd8f34fa9548368fb27ba0cd49f Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:21:46 +0200 Subject: [PATCH 101/112] wire up missing cmd's --- x/ecocredit/client/query.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x/ecocredit/client/query.go b/x/ecocredit/client/query.go index 0a91f9be20..a005bdbd5e 100644 --- a/x/ecocredit/client/query.go +++ b/x/ecocredit/client/query.go @@ -37,6 +37,8 @@ func QueryCmd(name string) *cobra.Command { baseclient.QueryProjectsByReferenceIDCmd(), baseclient.QueryProjectsByAdminCmd(), baseclient.QueryProjectCmd(), + baseclient.QueryProjectEnrollmentCmd(), + baseclient.QueryProjectEnrollmentsCmd(), baseclient.QueryParamsCmd(), baseclient.QueryCreditTypeCmd(), baseclient.QueryClassCreatorAllowlistCmd(), From d25eebf1b2d2712b0c4098e06417e3abaaacd16b Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:22:40 +0200 Subject: [PATCH 102/112] fix example batch json --- x/ecocredit/base/client/tx.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index c60f2b0d9c..a421bb0108 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -276,7 +276,8 @@ Parameters: Example JSON: { - "project_id": "C01-001", + "class_id":"C01", + "project_id": "P001", "issuer": "regen1elq7ys34gpkj3jyvqee0h6yk4h9wsfxmgqelsw", "issuance": [ { From 5146a890d1103303bf767bd0998ce637d13a09c0 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 9 Jul 2024 12:26:25 +0200 Subject: [PATCH 103/112] improve error messages --- x/ecocredit/base/keeper/msg_create_batch.go | 2 +- x/ecocredit/base/keeper/msg_create_or_update_application.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_batch.go b/x/ecocredit/base/keeper/msg_create_batch.go index 02fbe823c4..b19fda5876 100644 --- a/x/ecocredit/base/keeper/msg_create_batch.go +++ b/x/ecocredit/base/keeper/msg_create_batch.go @@ -29,7 +29,7 @@ func (k Keeper) CreateBatch(ctx context.Context, req *types.MsgCreateBatch) (*ty class, err := k.stateStore.ClassTable().GetById(ctx, req.ClassId) if err != nil { - return nil, err + return nil, sdkerrors.ErrInvalidRequest.Wrapf("could not get class with id %s: %s", req.ClassId, err.Error()) } // check if project enrollment exists diff --git a/x/ecocredit/base/keeper/msg_create_or_update_application.go b/x/ecocredit/base/keeper/msg_create_or_update_application.go index ef8c852321..7dfbf7eb25 100644 --- a/x/ecocredit/base/keeper/msg_create_or_update_application.go +++ b/x/ecocredit/base/keeper/msg_create_or_update_application.go @@ -20,7 +20,7 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre proj, err := k.stateStore.ProjectTable().GetById(ctx, msg.ProjectId) if err != nil { - return nil, err + return nil, sdkerrors.ErrInvalidRequest.Wrapf("unable to retrieve project with id %s: %v", msg.ProjectId, err) } if !bytes.Equal(proj.Admin, admin) { @@ -29,7 +29,7 @@ func (k Keeper) CreateOrUpdateApplication(ctx context.Context, msg *types.MsgCre class, err := k.stateStore.ClassTable().GetById(ctx, msg.ClassId) if err != nil { - return nil, err + return nil, sdkerrors.ErrInvalidRequest.Wrapf("unable to retrieve class with id %s: %v", msg.ClassId, err) } action := types.EventUpdateApplication_ACTION_UPDATE From fd96f717e8fa1574b9fe8a941b8a6fc82c752434 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 10 Jul 2024 12:20:47 +0200 Subject: [PATCH 104/112] allow MsgUpdateProjectEnrollment to use status UNSPECIFIED --- .../msg_update_project_enrollment.feature | 22 +++++++++++-------- .../keeper/msg_update_project_enrollment.go | 3 ++- .../msg_update_project_enrollment.feature | 4 ++-- .../types/v1/msg_update_project_enrollment.go | 4 ---- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature index 41fa36ca89..5a9660f31b 100644 --- a/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/keeper/features/msg_update_project_enrollment.feature @@ -25,13 +25,19 @@ Feature: Msg/UpdateProjectEnrollment } """ Examples: - | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | - | I01 unspecified to accepted | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | - | Bob unspecified to accepted | UNSPECIFIED | abc | Bob | ACCEPTED | foo123 | unauthorized | UNSPECIFIED | abc | - | I01 changes requested to accepted | CHANGES_REQUESTED | bar456 | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | - | Bob changes requested to accepted | CHANGES_REQUESTED | bar456 | Bob | ACCEPTED | foo123 | unauthorized | CHANGES_REQUESTED | bar456 | - | I01 update accepted metadata | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | - | Bob updated accepted metadata | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | + | scenario | cur_status | cur_metadata | issuer | new_status | new_metadata | err | expected_status | expected_metadata | + | I01 unspecified to accepted | UNSPECIFIED | abc | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | Bob unspecified to accepted | UNSPECIFIED | abc | Bob | ACCEPTED | foo123 | unauthorized | UNSPECIFIED | abc | + | I01 unspecified to changes requested | UNSPECIFIED | abc | I01 | CHANGES_REQUESTED | foo123 | | CHANGES_REQUESTED | foo123 | + | Bob unspecified to changes requested | UNSPECIFIED | abc | Bob | CHANGES_REQUESTED | foo123 | unauthorized | UNSPECIFIED | abc | + | I01 changes requested to accepted | CHANGES_REQUESTED | bar456 | I01 | ACCEPTED | foo123 | | ACCEPTED | foo123 | + | Bob changes requested to accepted | CHANGES_REQUESTED | bar456 | Bob | ACCEPTED | foo123 | unauthorized | CHANGES_REQUESTED | bar456 | + | I01 update accepted metadata | ACCEPTED | foo123 | I01 | ACCEPTED | bar357 | | ACCEPTED | bar357 | + | Bob updated accepted metadata | ACCEPTED | foo123 | Bob | ACCEPTED | bar357 | unauthorized | ACCEPTED | foo123 | + | I01 unspecified to unspecified | UNSPECIFIED | abc | I01 | UNSPECIFIED | foo123 | | UNSPECIFIED | foo123 | + | Bob unspecified to unspecified | UNSPECIFIED | abc | Bob | UNSPECIFIED | foo123 | unauthorized | UNSPECIFIED | abc | + | I01 changes requested to unspecified | CHANGES_REQUESTED | abc | I01 | UNSPECIFIED | foo123 | | UNSPECIFIED | foo123 | + | Bob changes requested to unspecified | CHANGES_REQUESTED | abc | Bob | UNSPECIFIED | foo123 | unauthorized | CHANGES_REQUESTED | abc | Rule: valid state transitions performed by issuers which remove enrollment entries are: UNSPECIFIED -> REJECTED @@ -67,8 +73,6 @@ Feature: Msg/UpdateProjectEnrollment | Bob accepted to terminated | ACCEPTED | foo123 | Bob | TERMINATED | baz789 | unauthorized | true | | I01 accepted to unspecified | ACCEPTED | foo123 | I01 | UNSPECIFIED | baz789 | invalid | true | | Bob accepted to unspecified | ACCEPTED | foo123 | Bob | UNSPECIFIED | baz789 | unauthorized | true | - | I01 changes requested to unspecified | CHANGES_REQUESTED | bar456 | I01 | UNSPECIFIED | baz789 | invalid | true | - | Bob changes requested to unspecified | CHANGES_REQUESTED | bar456 | Bob | UNSPECIFIED | baz789 | unauthorized | true | | I01 accepted to changes requested | ACCEPTED | foo123 | I01 | CHANGES_REQUESTED | baz789 | invalid | true | | Bob accepted to changes requested | ACCEPTED | foo123 | Bob | CHANGES_REQUESTED | baz789 | unauthorized | true | diff --git a/x/ecocredit/base/keeper/msg_update_project_enrollment.go b/x/ecocredit/base/keeper/msg_update_project_enrollment.go index e94e266420..b225b9fb39 100644 --- a/x/ecocredit/base/keeper/msg_update_project_enrollment.go +++ b/x/ecocredit/base/keeper/msg_update_project_enrollment.go @@ -43,7 +43,8 @@ func (k Keeper) UpdateProjectEnrollment(ctx context.Context, msg *types.MsgUpdat case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED: switch newStatus { - case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED, + case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED, + ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_CHANGES_REQUESTED, ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_ACCEPTED: // Valid case case ecocreditv1.ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_REJECTED: diff --git a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature index ae1dabfcac..90be8be4c4 100644 --- a/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature +++ b/x/ecocredit/base/types/v1/features/msg_update_project_enrollment.feature @@ -34,7 +34,7 @@ Feature: MsgUpdateProjectEnrollment | P001 | C01 | | | P001 | | class id: empty | - Rule: new_status is specified and valid + Rule: new_status is valid Scenario Outline: validate status Given issuer "regen1depk54cuajgkzea6zpgkq36tnjwdzv4ak663u6" * project ID "P001" @@ -45,7 +45,7 @@ Feature: MsgUpdateProjectEnrollment Examples: | status | error | - | UNSPECIFIED | new status: invalid | + | UNSPECIFIED | | | ACCEPTED | | | REJECTED | | | CHANGES_REQUESTED | | diff --git a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go index 1356b2fe5e..5df1843db4 100644 --- a/x/ecocredit/base/types/v1/msg_update_project_enrollment.go +++ b/x/ecocredit/base/types/v1/msg_update_project_enrollment.go @@ -37,10 +37,6 @@ func (m *MsgUpdateProjectEnrollment) ValidateBasic() error { return sdkerrors.ErrInvalidRequest.Wrapf("class id: %s", err) } - if m.NewStatus == ProjectEnrollmentStatus_PROJECT_ENROLLMENT_STATUS_UNSPECIFIED { - return sdkerrors.ErrInvalidRequest.Wrapf("new status: invalid") - } - if _, ok := ProjectEnrollmentStatus_name[int32(m.NewStatus)]; !ok { return sdkerrors.ErrInvalidRequest.Wrapf("new status: invalid") } From c4b8c76424a460ebd7a8e8ae9b7830a878bffaeb Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 10 Jul 2024 17:43:15 +0200 Subject: [PATCH 105/112] fix integration test --- x/ecocredit/client/testsuite/suite.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/client/testsuite/suite.go b/x/ecocredit/client/testsuite/suite.go index a66b0e0df3..712a5fa46b 100644 --- a/x/ecocredit/client/testsuite/suite.go +++ b/x/ecocredit/client/testsuite/suite.go @@ -380,9 +380,9 @@ func (s *IntegrationTestSuite) createProject(clientCtx client.Context, msg *base cmd := baseclient.TxCreateProjectCmd() args := []string{ - msg.ClassId, msg.Jurisdiction, msg.Metadata, + fmt.Sprintf("--class=%s", msg.ClassId), fmt.Sprintf("--%s=%s", flags.FlagFrom, msg.Admin), fmt.Sprintf("--reference-id=%s", msg.ReferenceId), } From 1216bbd5d9de95f6527bb464efec58a0e54757c0 Mon Sep 17 00:00:00 2001 From: Paul Weidner Date: Sun, 21 Jul 2024 09:07:11 -0700 Subject: [PATCH 106/112] Remove classId from TestTxCreateProjectCmd --- x/ecocredit/client/testsuite/tx.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/x/ecocredit/client/testsuite/tx.go b/x/ecocredit/client/testsuite/tx.go index fac7db8e13..21f7c7d141 100644 --- a/x/ecocredit/client/testsuite/tx.go +++ b/x/ecocredit/client/testsuite/tx.go @@ -127,20 +127,19 @@ func (s *IntegrationTestSuite) TestTxCreateProjectCmd() { }{ { name: "missing args", - args: []string{"foo", "bar"}, + args: []string{"foo"}, expErr: true, - expErrMsg: "Error: accepts 3 arg(s), received 2", + expErrMsg: "Error: accepts 2 arg(s), received 1", }, { name: "too many args", - args: []string{"foo", "bar", "baz", "foo"}, + args: []string{"foo", "bar", "baz"}, expErr: true, - expErrMsg: "Error: accepts 3 arg(s), received 4", + expErrMsg: "Error: accepts 2 arg(s), received 3", }, { name: "missing from flag", args: []string{ - s.classID, "US-WA", "metadata", }, @@ -150,7 +149,6 @@ func (s *IntegrationTestSuite) TestTxCreateProjectCmd() { { name: "valid", args: []string{ - s.classID, "US-WA", "metadata", fmt.Sprintf("--%s=%s", flags.FlagFrom, admin), @@ -159,7 +157,6 @@ func (s *IntegrationTestSuite) TestTxCreateProjectCmd() { { name: "valid from key-name", args: []string{ - s.classID, "US-WA", "metadata", fmt.Sprintf("--%s=%s", flags.FlagFrom, s.val.Moniker), @@ -168,7 +165,6 @@ func (s *IntegrationTestSuite) TestTxCreateProjectCmd() { { name: "valid with amino-json", args: []string{ - s.classID, "US-WA", "metadata", fmt.Sprintf("--%s=%s", flags.FlagFrom, admin), From 26b1f220b3e9de6b2ce6977b4dc16d1129bc479d Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Sun, 21 Jul 2024 21:53:58 +0200 Subject: [PATCH 107/112] Update x/ecocredit/base/keeper/msg_create_project.go Co-authored-by: Paul Weidner --- x/ecocredit/base/keeper/msg_create_project.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x/ecocredit/base/keeper/msg_create_project.go b/x/ecocredit/base/keeper/msg_create_project.go index c7f8daec74..9a9ee0c9ce 100644 --- a/x/ecocredit/base/keeper/msg_create_project.go +++ b/x/ecocredit/base/keeper/msg_create_project.go @@ -79,8 +79,7 @@ func (k Keeper) CreateProject(ctx context.Context, req *types.MsgCreateProject) }, nil } -// createNewProject generates a projectID when no projectID was given for CreateProject. -// The ID is generated by concatenating the classID and a sequence number. +// createNewProject creates a new project when no class was given for CreateProject. func (k Keeper) createNewProject(ctx context.Context) (*api.Project, string, error) { newProject := &api.Project{} id, err := k.stateStore.ProjectTable().InsertReturningID(ctx, newProject) From f1968c5d88139a5fa8910fc04561f39211c1baa3 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 20 Aug 2024 10:46:28 -0400 Subject: [PATCH 108/112] Update proto/regen/ecocredit/v1/query.proto Co-authored-by: Cory --- proto/regen/ecocredit/v1/query.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 2c5f15c28b..ae220d45bb 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -895,7 +895,7 @@ message QueryProjectEnrollmentsResponse { // EnrollmentInfo is the human-readable project enrollment information. message EnrollmentInfo { - // project_id is the unique identifier of the project to query. + // project_id is the unique identifier of the project. string project_id = 1; // class_id is the unique identifier of the credit class to query. From dc4f2351a3ba1a6bf536b23afbdf1dc9f7c03cda Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 20 Aug 2024 10:46:40 -0400 Subject: [PATCH 109/112] Update proto/regen/ecocredit/v1/query.proto Co-authored-by: Cory --- proto/regen/ecocredit/v1/query.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index ae220d45bb..406840a8cc 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -898,7 +898,7 @@ message EnrollmentInfo { // project_id is the unique identifier of the project. string project_id = 1; - // class_id is the unique identifier of the credit class to query. + // class_id is the unique identifier of the credit class. string class_id = 2; // status is the status of the enrollment. From 75a7dfed4f43c15d838b4be5edc5e4b33d565bbf Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Tue, 20 Aug 2024 10:46:54 -0400 Subject: [PATCH 110/112] Update x/ecocredit/base/client/tx.go Co-authored-by: Cory --- x/ecocredit/base/client/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/ecocredit/base/client/tx.go b/x/ecocredit/base/client/tx.go index a421bb0108..65c7e2d933 100644 --- a/x/ecocredit/base/client/tx.go +++ b/x/ecocredit/base/client/tx.go @@ -153,7 +153,7 @@ regen tx ecocredit create-project "US-WA 98225" regen:13toVgf5UjYBz6J29x28pLQyjK var err error fee, err = sdk.ParseCoinNormalized(projectFee) if err != nil { - return fmt.Errorf("failed to parse class-fee: %w", err) + return fmt.Errorf("failed to parse project-fee: %w", err) } } From 8fd6b938bea054cb37aca035411da780d83d77ac Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 9 Oct 2024 18:26:11 -0400 Subject: [PATCH 111/112] Update x/ecocredit/migrations/v5/state_test.go Co-authored-by: Cory Levinson --- x/ecocredit/migrations/v5/state_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/ecocredit/migrations/v5/state_test.go b/x/ecocredit/migrations/v5/state_test.go index 71fd542d5b..b01d9eff1c 100644 --- a/x/ecocredit/migrations/v5/state_test.go +++ b/x/ecocredit/migrations/v5/state_test.go @@ -119,6 +119,7 @@ func TestMigrate(t *testing.T) { enrollment3, err := state.ProjectEnrollmentTable().Get(ctx, projKey3, clsKey2) require.NoError(t, err) require.Equal(t, projKey3, enrollment3.ProjectKey) + require.Equal(t, clsKey2, enrollment3.ClassKey) } From 27bca17517af6934093446bfadc70a7a0b644746 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Wed, 9 Oct 2024 18:31:19 -0400 Subject: [PATCH 112/112] add additional grpc gateway binding --- api/regen/data/v1/query_grpc.pb.go | 62 +++- api/regen/data/v1/tx_grpc.pb.go | 41 ++- api/regen/data/v2/query_grpc.pb.go | 62 +++- api/regen/data/v2/tx_grpc.pb.go | 41 ++- .../ecocredit/basket/v1/query_grpc.pb.go | 44 ++- api/regen/ecocredit/basket/v1/tx_grpc.pb.go | 47 ++- .../ecocredit/marketplace/v1/query_grpc.pb.go | 44 ++- .../ecocredit/marketplace/v1/tx_grpc.pb.go | 53 ++- api/regen/ecocredit/v1/query.pulsar.go | 52 +-- api/regen/ecocredit/v1/query_grpc.pb.go | 113 ++++-- api/regen/ecocredit/v1/tx_grpc.pb.go | 113 ++++-- api/regen/ecocredit/v1alpha1/query_grpc.pb.go | 53 ++- api/regen/ecocredit/v1alpha1/tx_grpc.pb.go | 53 ++- api/regen/intertx/v1/query_grpc.pb.go | 32 +- api/regen/intertx/v1/tx_grpc.pb.go | 35 +- proto/regen/ecocredit/v1/query.proto | 3 + x/ecocredit/base/types/v1/query.pb.go | 332 +++++++++--------- x/ecocredit/base/types/v1/query.pb.gw.go | 83 +++++ 18 files changed, 846 insertions(+), 417 deletions(-) diff --git a/api/regen/data/v1/query_grpc.pb.go b/api/regen/data/v1/query_grpc.pb.go index d64ba752be..89e60c5ee1 100644 --- a/api/regen/data/v1/query_grpc.pb.go +++ b/api/regen/data/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/data/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_AnchorByIRI_FullMethodName = "/regen.data.v1.Query/AnchorByIRI" @@ -35,6 +35,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query is the regen.data.v1 Query service type QueryClient interface { // AnchorByIRI queries a data anchor by the IRI of the data. AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIRequest, opts ...grpc.CallOption) (*QueryAnchorByIRIResponse, error) @@ -72,8 +74,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIRequest, opts ...grpc.CallOption) (*QueryAnchorByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAnchorByIRIResponse) - err := c.cc.Invoke(ctx, Query_AnchorByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AnchorByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,8 +84,9 @@ func (c *queryClient) AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIReque } func (c *queryClient) AnchorByHash(ctx context.Context, in *QueryAnchorByHashRequest, opts ...grpc.CallOption) (*QueryAnchorByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAnchorByHashResponse) - err := c.cc.Invoke(ctx, Query_AnchorByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AnchorByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -90,8 +94,9 @@ func (c *queryClient) AnchorByHash(ctx context.Context, in *QueryAnchorByHashReq } func (c *queryClient) AttestationsByAttestor(ctx context.Context, in *QueryAttestationsByAttestorRequest, opts ...grpc.CallOption) (*QueryAttestationsByAttestorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByAttestorResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByAttestor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByAttestor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -99,8 +104,9 @@ func (c *queryClient) AttestationsByAttestor(ctx context.Context, in *QueryAttes } func (c *queryClient) AttestationsByIRI(ctx context.Context, in *QueryAttestationsByIRIRequest, opts ...grpc.CallOption) (*QueryAttestationsByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByIRIResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,8 +114,9 @@ func (c *queryClient) AttestationsByIRI(ctx context.Context, in *QueryAttestatio } func (c *queryClient) AttestationsByHash(ctx context.Context, in *QueryAttestationsByHashRequest, opts ...grpc.CallOption) (*QueryAttestationsByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByHashResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -117,8 +124,9 @@ func (c *queryClient) AttestationsByHash(ctx context.Context, in *QueryAttestati } func (c *queryClient) Resolver(ctx context.Context, in *QueryResolverRequest, opts ...grpc.CallOption) (*QueryResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolverResponse) - err := c.cc.Invoke(ctx, Query_Resolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Resolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -126,8 +134,9 @@ func (c *queryClient) Resolver(ctx context.Context, in *QueryResolverRequest, op } func (c *queryClient) ResolversByIRI(ctx context.Context, in *QueryResolversByIRIRequest, opts ...grpc.CallOption) (*QueryResolversByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByIRIResponse) - err := c.cc.Invoke(ctx, Query_ResolversByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -135,8 +144,9 @@ func (c *queryClient) ResolversByIRI(ctx context.Context, in *QueryResolversByIR } func (c *queryClient) ResolversByHash(ctx context.Context, in *QueryResolversByHashRequest, opts ...grpc.CallOption) (*QueryResolversByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByHashResponse) - err := c.cc.Invoke(ctx, Query_ResolversByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -144,8 +154,9 @@ func (c *queryClient) ResolversByHash(ctx context.Context, in *QueryResolversByH } func (c *queryClient) ResolversByURL(ctx context.Context, in *QueryResolversByURLRequest, opts ...grpc.CallOption) (*QueryResolversByURLResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByURLResponse) - err := c.cc.Invoke(ctx, Query_ResolversByURL_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByURL_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -153,8 +164,9 @@ func (c *queryClient) ResolversByURL(ctx context.Context, in *QueryResolversByUR } func (c *queryClient) ConvertIRIToHash(ctx context.Context, in *ConvertIRIToHashRequest, opts ...grpc.CallOption) (*ConvertIRIToHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConvertIRIToHashResponse) - err := c.cc.Invoke(ctx, Query_ConvertIRIToHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ConvertIRIToHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -162,8 +174,9 @@ func (c *queryClient) ConvertIRIToHash(ctx context.Context, in *ConvertIRIToHash } func (c *queryClient) ConvertHashToIRI(ctx context.Context, in *ConvertHashToIRIRequest, opts ...grpc.CallOption) (*ConvertHashToIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConvertHashToIRIResponse) - err := c.cc.Invoke(ctx, Query_ConvertHashToIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ConvertHashToIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -172,7 +185,9 @@ func (c *queryClient) ConvertHashToIRI(ctx context.Context, in *ConvertHashToIRI // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query is the regen.data.v1 Query service type QueryServer interface { // AnchorByIRI queries a data anchor by the IRI of the data. AnchorByIRI(context.Context, *QueryAnchorByIRIRequest) (*QueryAnchorByIRIResponse, error) @@ -202,9 +217,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) AnchorByIRI(context.Context, *QueryAnchorByIRIRequest) (*QueryAnchorByIRIResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AnchorByIRI not implemented") @@ -240,6 +258,7 @@ func (UnimplementedQueryServer) ConvertHashToIRI(context.Context, *ConvertHashTo return nil, status.Errorf(codes.Unimplemented, "method ConvertHashToIRI not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -249,6 +268,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/data/v1/tx_grpc.pb.go b/api/regen/data/v1/tx_grpc.pb.go index 8242cb1dc8..0883cc7bd6 100644 --- a/api/regen/data/v1/tx_grpc.pb.go +++ b/api/regen/data/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/data/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Anchor_FullMethodName = "/regen.data.v1.Msg/Anchor" @@ -28,6 +28,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.data.v1 Msg service type MsgClient interface { // Anchor "anchors" a piece of data to the blockchain based on its secure // hash, effectively providing a tamper resistant timestamp. @@ -76,8 +78,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Anchor(ctx context.Context, in *MsgAnchor, opts ...grpc.CallOption) (*MsgAnchorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAnchorResponse) - err := c.cc.Invoke(ctx, Msg_Anchor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Anchor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -85,8 +88,9 @@ func (c *msgClient) Anchor(ctx context.Context, in *MsgAnchor, opts ...grpc.Call } func (c *msgClient) Attest(ctx context.Context, in *MsgAttest, opts ...grpc.CallOption) (*MsgAttestResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAttestResponse) - err := c.cc.Invoke(ctx, Msg_Attest_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Attest_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -94,8 +98,9 @@ func (c *msgClient) Attest(ctx context.Context, in *MsgAttest, opts ...grpc.Call } func (c *msgClient) DefineResolver(ctx context.Context, in *MsgDefineResolver, opts ...grpc.CallOption) (*MsgDefineResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDefineResolverResponse) - err := c.cc.Invoke(ctx, Msg_DefineResolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_DefineResolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +108,9 @@ func (c *msgClient) DefineResolver(ctx context.Context, in *MsgDefineResolver, o } func (c *msgClient) RegisterResolver(ctx context.Context, in *MsgRegisterResolver, opts ...grpc.CallOption) (*MsgRegisterResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRegisterResolverResponse) - err := c.cc.Invoke(ctx, Msg_RegisterResolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RegisterResolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -113,7 +119,9 @@ func (c *msgClient) RegisterResolver(ctx context.Context, in *MsgRegisterResolve // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.data.v1 Msg service type MsgServer interface { // Anchor "anchors" a piece of data to the blockchain based on its secure // hash, effectively providing a tamper resistant timestamp. @@ -154,9 +162,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Anchor(context.Context, *MsgAnchor) (*MsgAnchorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Anchor not implemented") @@ -171,6 +182,7 @@ func (UnimplementedMsgServer) RegisterResolver(context.Context, *MsgRegisterReso return nil, status.Errorf(codes.Unimplemented, "method RegisterResolver not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -180,6 +192,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/data/v2/query_grpc.pb.go b/api/regen/data/v2/query_grpc.pb.go index 495e01b797..224d14e94f 100644 --- a/api/regen/data/v2/query_grpc.pb.go +++ b/api/regen/data/v2/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/data/v2/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_AnchorByIRI_FullMethodName = "/regen.data.v2.Query/AnchorByIRI" @@ -35,6 +35,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query is the regen.data.v1 Query service type QueryClient interface { // AnchorByIRI queries a data anchor by the IRI of the data. AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIRequest, opts ...grpc.CallOption) (*QueryAnchorByIRIResponse, error) @@ -72,8 +74,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIRequest, opts ...grpc.CallOption) (*QueryAnchorByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAnchorByIRIResponse) - err := c.cc.Invoke(ctx, Query_AnchorByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AnchorByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,8 +84,9 @@ func (c *queryClient) AnchorByIRI(ctx context.Context, in *QueryAnchorByIRIReque } func (c *queryClient) AnchorByHash(ctx context.Context, in *QueryAnchorByHashRequest, opts ...grpc.CallOption) (*QueryAnchorByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAnchorByHashResponse) - err := c.cc.Invoke(ctx, Query_AnchorByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AnchorByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -90,8 +94,9 @@ func (c *queryClient) AnchorByHash(ctx context.Context, in *QueryAnchorByHashReq } func (c *queryClient) AttestationsByAttestor(ctx context.Context, in *QueryAttestationsByAttestorRequest, opts ...grpc.CallOption) (*QueryAttestationsByAttestorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByAttestorResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByAttestor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByAttestor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -99,8 +104,9 @@ func (c *queryClient) AttestationsByAttestor(ctx context.Context, in *QueryAttes } func (c *queryClient) AttestationsByIRI(ctx context.Context, in *QueryAttestationsByIRIRequest, opts ...grpc.CallOption) (*QueryAttestationsByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByIRIResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -108,8 +114,9 @@ func (c *queryClient) AttestationsByIRI(ctx context.Context, in *QueryAttestatio } func (c *queryClient) AttestationsByHash(ctx context.Context, in *QueryAttestationsByHashRequest, opts ...grpc.CallOption) (*QueryAttestationsByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAttestationsByHashResponse) - err := c.cc.Invoke(ctx, Query_AttestationsByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AttestationsByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -117,8 +124,9 @@ func (c *queryClient) AttestationsByHash(ctx context.Context, in *QueryAttestati } func (c *queryClient) Resolver(ctx context.Context, in *QueryResolverRequest, opts ...grpc.CallOption) (*QueryResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolverResponse) - err := c.cc.Invoke(ctx, Query_Resolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Resolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -126,8 +134,9 @@ func (c *queryClient) Resolver(ctx context.Context, in *QueryResolverRequest, op } func (c *queryClient) ResolversByIRI(ctx context.Context, in *QueryResolversByIRIRequest, opts ...grpc.CallOption) (*QueryResolversByIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByIRIResponse) - err := c.cc.Invoke(ctx, Query_ResolversByIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -135,8 +144,9 @@ func (c *queryClient) ResolversByIRI(ctx context.Context, in *QueryResolversByIR } func (c *queryClient) ResolversByHash(ctx context.Context, in *QueryResolversByHashRequest, opts ...grpc.CallOption) (*QueryResolversByHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByHashResponse) - err := c.cc.Invoke(ctx, Query_ResolversByHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -144,8 +154,9 @@ func (c *queryClient) ResolversByHash(ctx context.Context, in *QueryResolversByH } func (c *queryClient) ResolversByURL(ctx context.Context, in *QueryResolversByURLRequest, opts ...grpc.CallOption) (*QueryResolversByURLResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryResolversByURLResponse) - err := c.cc.Invoke(ctx, Query_ResolversByURL_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ResolversByURL_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -153,8 +164,9 @@ func (c *queryClient) ResolversByURL(ctx context.Context, in *QueryResolversByUR } func (c *queryClient) ConvertIRIToHash(ctx context.Context, in *ConvertIRIToHashRequest, opts ...grpc.CallOption) (*ConvertIRIToHashResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConvertIRIToHashResponse) - err := c.cc.Invoke(ctx, Query_ConvertIRIToHash_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ConvertIRIToHash_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -162,8 +174,9 @@ func (c *queryClient) ConvertIRIToHash(ctx context.Context, in *ConvertIRIToHash } func (c *queryClient) ConvertHashToIRI(ctx context.Context, in *ConvertHashToIRIRequest, opts ...grpc.CallOption) (*ConvertHashToIRIResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConvertHashToIRIResponse) - err := c.cc.Invoke(ctx, Query_ConvertHashToIRI_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ConvertHashToIRI_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -172,7 +185,9 @@ func (c *queryClient) ConvertHashToIRI(ctx context.Context, in *ConvertHashToIRI // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query is the regen.data.v1 Query service type QueryServer interface { // AnchorByIRI queries a data anchor by the IRI of the data. AnchorByIRI(context.Context, *QueryAnchorByIRIRequest) (*QueryAnchorByIRIResponse, error) @@ -202,9 +217,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) AnchorByIRI(context.Context, *QueryAnchorByIRIRequest) (*QueryAnchorByIRIResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AnchorByIRI not implemented") @@ -240,6 +258,7 @@ func (UnimplementedQueryServer) ConvertHashToIRI(context.Context, *ConvertHashTo return nil, status.Errorf(codes.Unimplemented, "method ConvertHashToIRI not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -249,6 +268,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/data/v2/tx_grpc.pb.go b/api/regen/data/v2/tx_grpc.pb.go index b49fd5c291..8afcc5a82f 100644 --- a/api/regen/data/v2/tx_grpc.pb.go +++ b/api/regen/data/v2/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/data/v2/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Anchor_FullMethodName = "/regen.data.v2.Msg/Anchor" @@ -28,6 +28,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.data.v1 Msg service type MsgClient interface { // Anchor "anchors" a piece of data to the blockchain based on its secure // hash, effectively providing a tamper resistant timestamp. @@ -76,8 +78,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Anchor(ctx context.Context, in *MsgAnchor, opts ...grpc.CallOption) (*MsgAnchorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAnchorResponse) - err := c.cc.Invoke(ctx, Msg_Anchor_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Anchor_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -85,8 +88,9 @@ func (c *msgClient) Anchor(ctx context.Context, in *MsgAnchor, opts ...grpc.Call } func (c *msgClient) Attest(ctx context.Context, in *MsgAttest, opts ...grpc.CallOption) (*MsgAttestResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAttestResponse) - err := c.cc.Invoke(ctx, Msg_Attest_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Attest_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -94,8 +98,9 @@ func (c *msgClient) Attest(ctx context.Context, in *MsgAttest, opts ...grpc.Call } func (c *msgClient) DefineResolver(ctx context.Context, in *MsgDefineResolver, opts ...grpc.CallOption) (*MsgDefineResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgDefineResolverResponse) - err := c.cc.Invoke(ctx, Msg_DefineResolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_DefineResolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +108,9 @@ func (c *msgClient) DefineResolver(ctx context.Context, in *MsgDefineResolver, o } func (c *msgClient) RegisterResolver(ctx context.Context, in *MsgRegisterResolver, opts ...grpc.CallOption) (*MsgRegisterResolverResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRegisterResolverResponse) - err := c.cc.Invoke(ctx, Msg_RegisterResolver_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RegisterResolver_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -113,7 +119,9 @@ func (c *msgClient) RegisterResolver(ctx context.Context, in *MsgRegisterResolve // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.data.v1 Msg service type MsgServer interface { // Anchor "anchors" a piece of data to the blockchain based on its secure // hash, effectively providing a tamper resistant timestamp. @@ -154,9 +162,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Anchor(context.Context, *MsgAnchor) (*MsgAnchorResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Anchor not implemented") @@ -171,6 +182,7 @@ func (UnimplementedMsgServer) RegisterResolver(context.Context, *MsgRegisterReso return nil, status.Errorf(codes.Unimplemented, "method RegisterResolver not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -180,6 +192,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/basket/v1/query_grpc.pb.go b/api/regen/ecocredit/basket/v1/query_grpc.pb.go index 964410bd6f..6e3099ab9a 100644 --- a/api/regen/ecocredit/basket/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/basket/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/basket/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Basket_FullMethodName = "/regen.ecocredit.basket.v1.Query/Basket" @@ -29,6 +29,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.basket.v1 Query service. type QueryClient interface { // Basket queries one basket by denom. Basket(ctx context.Context, in *QueryBasketRequest, opts ...grpc.CallOption) (*QueryBasketResponse, error) @@ -54,8 +56,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Basket(ctx context.Context, in *QueryBasketRequest, opts ...grpc.CallOption) (*QueryBasketResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBasketResponse) - err := c.cc.Invoke(ctx, Query_Basket_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Basket_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,8 +66,9 @@ func (c *queryClient) Basket(ctx context.Context, in *QueryBasketRequest, opts . } func (c *queryClient) Baskets(ctx context.Context, in *QueryBasketsRequest, opts ...grpc.CallOption) (*QueryBasketsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBasketsResponse) - err := c.cc.Invoke(ctx, Query_Baskets_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Baskets_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -72,8 +76,9 @@ func (c *queryClient) Baskets(ctx context.Context, in *QueryBasketsRequest, opts } func (c *queryClient) BasketBalances(ctx context.Context, in *QueryBasketBalancesRequest, opts ...grpc.CallOption) (*QueryBasketBalancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBasketBalancesResponse) - err := c.cc.Invoke(ctx, Query_BasketBalances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BasketBalances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,8 +86,9 @@ func (c *queryClient) BasketBalances(ctx context.Context, in *QueryBasketBalance } func (c *queryClient) BasketBalance(ctx context.Context, in *QueryBasketBalanceRequest, opts ...grpc.CallOption) (*QueryBasketBalanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBasketBalanceResponse) - err := c.cc.Invoke(ctx, Query_BasketBalance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BasketBalance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -90,8 +96,9 @@ func (c *queryClient) BasketBalance(ctx context.Context, in *QueryBasketBalanceR } func (c *queryClient) BasketFee(ctx context.Context, in *QueryBasketFeeRequest, opts ...grpc.CallOption) (*QueryBasketFeeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBasketFeeResponse) - err := c.cc.Invoke(ctx, Query_BasketFee_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BasketFee_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -100,7 +107,9 @@ func (c *queryClient) BasketFee(ctx context.Context, in *QueryBasketFeeRequest, // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.basket.v1 Query service. type QueryServer interface { // Basket queries one basket by denom. Basket(context.Context, *QueryBasketRequest) (*QueryBasketResponse, error) @@ -118,9 +127,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Basket(context.Context, *QueryBasketRequest) (*QueryBasketResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Basket not implemented") @@ -138,6 +150,7 @@ func (UnimplementedQueryServer) BasketFee(context.Context, *QueryBasketFeeReques return nil, status.Errorf(codes.Unimplemented, "method BasketFee not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -147,6 +160,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/basket/v1/tx_grpc.pb.go b/api/regen/ecocredit/basket/v1/tx_grpc.pb.go index 69ea11f257..5f2ead1dc1 100644 --- a/api/regen/ecocredit/basket/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/basket/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/basket/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Create_FullMethodName = "/regen.ecocredit.basket.v1.Msg/Create" @@ -30,6 +30,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.basket.v1 Msg service. type MsgClient interface { // Create creates a basket that can hold different types of ecocredits that // meet the basket's criteria. Upon depositing ecocredits into the basket, @@ -89,8 +91,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Create(ctx context.Context, in *MsgCreate, opts ...grpc.CallOption) (*MsgCreateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateResponse) - err := c.cc.Invoke(ctx, Msg_Create_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Create_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -98,8 +101,9 @@ func (c *msgClient) Create(ctx context.Context, in *MsgCreate, opts ...grpc.Call } func (c *msgClient) Put(ctx context.Context, in *MsgPut, opts ...grpc.CallOption) (*MsgPutResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgPutResponse) - err := c.cc.Invoke(ctx, Msg_Put_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Put_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -107,8 +111,9 @@ func (c *msgClient) Put(ctx context.Context, in *MsgPut, opts ...grpc.CallOption } func (c *msgClient) Take(ctx context.Context, in *MsgTake, opts ...grpc.CallOption) (*MsgTakeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgTakeResponse) - err := c.cc.Invoke(ctx, Msg_Take_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Take_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -116,8 +121,9 @@ func (c *msgClient) Take(ctx context.Context, in *MsgTake, opts ...grpc.CallOpti } func (c *msgClient) UpdateBasketFee(ctx context.Context, in *MsgUpdateBasketFee, opts ...grpc.CallOption) (*MsgUpdateBasketFeeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateBasketFeeResponse) - err := c.cc.Invoke(ctx, Msg_UpdateBasketFee_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateBasketFee_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -125,8 +131,9 @@ func (c *msgClient) UpdateBasketFee(ctx context.Context, in *MsgUpdateBasketFee, } func (c *msgClient) UpdateCurator(ctx context.Context, in *MsgUpdateCurator, opts ...grpc.CallOption) (*MsgUpdateCuratorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateCuratorResponse) - err := c.cc.Invoke(ctx, Msg_UpdateCurator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateCurator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -134,8 +141,9 @@ func (c *msgClient) UpdateCurator(ctx context.Context, in *MsgUpdateCurator, opt } func (c *msgClient) UpdateDateCriteria(ctx context.Context, in *MsgUpdateDateCriteria, opts ...grpc.CallOption) (*MsgUpdateDateCriteriaResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateDateCriteriaResponse) - err := c.cc.Invoke(ctx, Msg_UpdateDateCriteria_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateDateCriteria_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -144,7 +152,9 @@ func (c *msgClient) UpdateDateCriteria(ctx context.Context, in *MsgUpdateDateCri // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.basket.v1 Msg service. type MsgServer interface { // Create creates a basket that can hold different types of ecocredits that // meet the basket's criteria. Upon depositing ecocredits into the basket, @@ -196,9 +206,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Create(context.Context, *MsgCreate) (*MsgCreateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") @@ -219,6 +232,7 @@ func (UnimplementedMsgServer) UpdateDateCriteria(context.Context, *MsgUpdateDate return nil, status.Errorf(codes.Unimplemented, "method UpdateDateCriteria not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -228,6 +242,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/marketplace/v1/query_grpc.pb.go b/api/regen/ecocredit/marketplace/v1/query_grpc.pb.go index 8a67b7a44b..6d11586b7a 100644 --- a/api/regen/ecocredit/marketplace/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/marketplace/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/marketplace/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_SellOrder_FullMethodName = "/regen.ecocredit.marketplace.v1.Query/SellOrder" @@ -29,6 +29,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.marketplace.v1 Query service. type QueryClient interface { // SellOrder queries a sell order by its unique identifier. SellOrder(ctx context.Context, in *QuerySellOrderRequest, opts ...grpc.CallOption) (*QuerySellOrderResponse, error) @@ -54,8 +56,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) SellOrder(ctx context.Context, in *QuerySellOrderRequest, opts ...grpc.CallOption) (*QuerySellOrderResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySellOrderResponse) - err := c.cc.Invoke(ctx, Query_SellOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SellOrder_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -63,8 +66,9 @@ func (c *queryClient) SellOrder(ctx context.Context, in *QuerySellOrderRequest, } func (c *queryClient) SellOrders(ctx context.Context, in *QuerySellOrdersRequest, opts ...grpc.CallOption) (*QuerySellOrdersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySellOrdersResponse) - err := c.cc.Invoke(ctx, Query_SellOrders_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SellOrders_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -72,8 +76,9 @@ func (c *queryClient) SellOrders(ctx context.Context, in *QuerySellOrdersRequest } func (c *queryClient) SellOrdersByBatch(ctx context.Context, in *QuerySellOrdersByBatchRequest, opts ...grpc.CallOption) (*QuerySellOrdersByBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySellOrdersByBatchResponse) - err := c.cc.Invoke(ctx, Query_SellOrdersByBatch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SellOrdersByBatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -81,8 +86,9 @@ func (c *queryClient) SellOrdersByBatch(ctx context.Context, in *QuerySellOrders } func (c *queryClient) SellOrdersBySeller(ctx context.Context, in *QuerySellOrdersBySellerRequest, opts ...grpc.CallOption) (*QuerySellOrdersBySellerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySellOrdersBySellerResponse) - err := c.cc.Invoke(ctx, Query_SellOrdersBySeller_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_SellOrdersBySeller_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -90,8 +96,9 @@ func (c *queryClient) SellOrdersBySeller(ctx context.Context, in *QuerySellOrder } func (c *queryClient) AllowedDenoms(ctx context.Context, in *QueryAllowedDenomsRequest, opts ...grpc.CallOption) (*QueryAllowedDenomsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowedDenomsResponse) - err := c.cc.Invoke(ctx, Query_AllowedDenoms_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllowedDenoms_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -100,7 +107,9 @@ func (c *queryClient) AllowedDenoms(ctx context.Context, in *QueryAllowedDenomsR // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.marketplace.v1 Query service. type QueryServer interface { // SellOrder queries a sell order by its unique identifier. SellOrder(context.Context, *QuerySellOrderRequest) (*QuerySellOrderResponse, error) @@ -118,9 +127,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) SellOrder(context.Context, *QuerySellOrderRequest) (*QuerySellOrderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SellOrder not implemented") @@ -138,6 +150,7 @@ func (UnimplementedQueryServer) AllowedDenoms(context.Context, *QueryAllowedDeno return nil, status.Errorf(codes.Unimplemented, "method AllowedDenoms not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -147,6 +160,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/marketplace/v1/tx_grpc.pb.go b/api/regen/ecocredit/marketplace/v1/tx_grpc.pb.go index e1c1512e4a..675dd13b1e 100644 --- a/api/regen/ecocredit/marketplace/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/marketplace/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/marketplace/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_Sell_FullMethodName = "/regen.ecocredit.marketplace.v1.Msg/Sell" @@ -32,6 +32,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.marketplace.v1 Msg service. type MsgClient interface { // Sell creates new sell orders. Sell(ctx context.Context, in *MsgSell, opts ...grpc.CallOption) (*MsgSellResponse, error) @@ -70,8 +72,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) Sell(ctx context.Context, in *MsgSell, opts ...grpc.CallOption) (*MsgSellResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSellResponse) - err := c.cc.Invoke(ctx, Msg_Sell_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Sell_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -79,8 +82,9 @@ func (c *msgClient) Sell(ctx context.Context, in *MsgSell, opts ...grpc.CallOpti } func (c *msgClient) UpdateSellOrders(ctx context.Context, in *MsgUpdateSellOrders, opts ...grpc.CallOption) (*MsgUpdateSellOrdersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateSellOrdersResponse) - err := c.cc.Invoke(ctx, Msg_UpdateSellOrders_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateSellOrders_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -88,8 +92,9 @@ func (c *msgClient) UpdateSellOrders(ctx context.Context, in *MsgUpdateSellOrder } func (c *msgClient) CancelSellOrder(ctx context.Context, in *MsgCancelSellOrder, opts ...grpc.CallOption) (*MsgCancelSellOrderResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelSellOrderResponse) - err := c.cc.Invoke(ctx, Msg_CancelSellOrder_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CancelSellOrder_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -97,8 +102,9 @@ func (c *msgClient) CancelSellOrder(ctx context.Context, in *MsgCancelSellOrder, } func (c *msgClient) BuyDirect(ctx context.Context, in *MsgBuyDirect, opts ...grpc.CallOption) (*MsgBuyDirectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgBuyDirectResponse) - err := c.cc.Invoke(ctx, Msg_BuyDirect_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_BuyDirect_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -106,8 +112,9 @@ func (c *msgClient) BuyDirect(ctx context.Context, in *MsgBuyDirect, opts ...grp } func (c *msgClient) AddAllowedDenom(ctx context.Context, in *MsgAddAllowedDenom, opts ...grpc.CallOption) (*MsgAddAllowedDenomResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAddAllowedDenomResponse) - err := c.cc.Invoke(ctx, Msg_AddAllowedDenom_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_AddAllowedDenom_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -115,8 +122,9 @@ func (c *msgClient) AddAllowedDenom(ctx context.Context, in *MsgAddAllowedDenom, } func (c *msgClient) RemoveAllowedDenom(ctx context.Context, in *MsgRemoveAllowedDenom, opts ...grpc.CallOption) (*MsgRemoveAllowedDenomResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRemoveAllowedDenomResponse) - err := c.cc.Invoke(ctx, Msg_RemoveAllowedDenom_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RemoveAllowedDenom_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -124,8 +132,9 @@ func (c *msgClient) RemoveAllowedDenom(ctx context.Context, in *MsgRemoveAllowed } func (c *msgClient) GovSetFeeParams(ctx context.Context, in *MsgGovSetFeeParams, opts ...grpc.CallOption) (*MsgGovSetFeeParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgGovSetFeeParamsResponse) - err := c.cc.Invoke(ctx, Msg_GovSetFeeParams_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_GovSetFeeParams_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -133,8 +142,9 @@ func (c *msgClient) GovSetFeeParams(ctx context.Context, in *MsgGovSetFeeParams, } func (c *msgClient) GovSendFromFeePool(ctx context.Context, in *MsgGovSendFromFeePool, opts ...grpc.CallOption) (*MsgGovSendFromFeePoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgGovSendFromFeePoolResponse) - err := c.cc.Invoke(ctx, Msg_GovSendFromFeePool_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_GovSendFromFeePool_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -143,7 +153,9 @@ func (c *msgClient) GovSendFromFeePool(ctx context.Context, in *MsgGovSendFromFe // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.marketplace.v1 Msg service. type MsgServer interface { // Sell creates new sell orders. Sell(context.Context, *MsgSell) (*MsgSellResponse, error) @@ -174,9 +186,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) Sell(context.Context, *MsgSell) (*MsgSellResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Sell not implemented") @@ -203,6 +218,7 @@ func (UnimplementedMsgServer) GovSendFromFeePool(context.Context, *MsgGovSendFro return nil, status.Errorf(codes.Unimplemented, "method GovSendFromFeePool not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -212,6 +228,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/v1/query.pulsar.go b/api/regen/ecocredit/v1/query.pulsar.go index ea2d33dc2c..c9b953d2b4 100644 --- a/api/regen/ecocredit/v1/query.pulsar.go +++ b/api/regen/ecocredit/v1/query.pulsar.go @@ -3,6 +3,10 @@ package ecocreditv1 import ( fmt "fmt" + io "io" + reflect "reflect" + sync "sync" + runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/query/v1beta1" v1beta11 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" @@ -11,9 +15,6 @@ import ( 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 ( @@ -33990,7 +33991,7 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xc1, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xec, 0x2a, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x07, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, @@ -34318,7 +34319,7 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x12, + 0x2f, 0x7b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe6, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, @@ -34326,25 +34327,28 @@ var file_regen_ecocredit_v1_query_proto_rawDesc = []byte{ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, - 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, - 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, - 0x45, 0x58, 0xaa, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x61, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x42, 0xd8, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, + 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x42, + 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, + 0x64, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x12, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x12, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1e, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/regen/ecocredit/v1/query_grpc.pb.go b/api/regen/ecocredit/v1/query_grpc.pb.go index ad2056d64f..09f85e6d70 100644 --- a/api/regen/ecocredit/v1/query_grpc.pb.go +++ b/api/regen/ecocredit/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Classes_FullMethodName = "/regen.ecocredit.v1.Query/Classes" @@ -52,6 +52,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.v1 Query service. type QueryClient interface { // Classes queries for all credit classes with pagination. Classes(ctx context.Context, in *QueryClassesRequest, opts ...grpc.CallOption) (*QueryClassesResponse, error) @@ -149,8 +151,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts ...grpc.CallOption) (*QueryClassesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassesResponse) - err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -158,8 +161,9 @@ func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts } func (c *queryClient) ClassesByAdmin(ctx context.Context, in *QueryClassesByAdminRequest, opts ...grpc.CallOption) (*QueryClassesByAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassesByAdminResponse) - err := c.cc.Invoke(ctx, Query_ClassesByAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ClassesByAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -167,8 +171,9 @@ func (c *queryClient) ClassesByAdmin(ctx context.Context, in *QueryClassesByAdmi } func (c *queryClient) Class(ctx context.Context, in *QueryClassRequest, opts ...grpc.CallOption) (*QueryClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassResponse) - err := c.cc.Invoke(ctx, Query_Class_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Class_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -176,8 +181,9 @@ func (c *queryClient) Class(ctx context.Context, in *QueryClassRequest, opts ... } func (c *queryClient) ClassIssuers(ctx context.Context, in *QueryClassIssuersRequest, opts ...grpc.CallOption) (*QueryClassIssuersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassIssuersResponse) - err := c.cc.Invoke(ctx, Query_ClassIssuers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ClassIssuers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -185,8 +191,9 @@ func (c *queryClient) ClassIssuers(ctx context.Context, in *QueryClassIssuersReq } func (c *queryClient) Projects(ctx context.Context, in *QueryProjectsRequest, opts ...grpc.CallOption) (*QueryProjectsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectsResponse) - err := c.cc.Invoke(ctx, Query_Projects_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Projects_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -194,8 +201,9 @@ func (c *queryClient) Projects(ctx context.Context, in *QueryProjectsRequest, op } func (c *queryClient) ProjectsByClass(ctx context.Context, in *QueryProjectsByClassRequest, opts ...grpc.CallOption) (*QueryProjectsByClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectsByClassResponse) - err := c.cc.Invoke(ctx, Query_ProjectsByClass_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProjectsByClass_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -203,8 +211,9 @@ func (c *queryClient) ProjectsByClass(ctx context.Context, in *QueryProjectsByCl } func (c *queryClient) ProjectsByReferenceId(ctx context.Context, in *QueryProjectsByReferenceIdRequest, opts ...grpc.CallOption) (*QueryProjectsByReferenceIdResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectsByReferenceIdResponse) - err := c.cc.Invoke(ctx, Query_ProjectsByReferenceId_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProjectsByReferenceId_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -212,8 +221,9 @@ func (c *queryClient) ProjectsByReferenceId(ctx context.Context, in *QueryProjec } func (c *queryClient) ProjectsByAdmin(ctx context.Context, in *QueryProjectsByAdminRequest, opts ...grpc.CallOption) (*QueryProjectsByAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectsByAdminResponse) - err := c.cc.Invoke(ctx, Query_ProjectsByAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProjectsByAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -221,8 +231,9 @@ func (c *queryClient) ProjectsByAdmin(ctx context.Context, in *QueryProjectsByAd } func (c *queryClient) Project(ctx context.Context, in *QueryProjectRequest, opts ...grpc.CallOption) (*QueryProjectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectResponse) - err := c.cc.Invoke(ctx, Query_Project_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Project_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -230,8 +241,9 @@ func (c *queryClient) Project(ctx context.Context, in *QueryProjectRequest, opts } func (c *queryClient) Batches(ctx context.Context, in *QueryBatchesRequest, opts ...grpc.CallOption) (*QueryBatchesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchesResponse) - err := c.cc.Invoke(ctx, Query_Batches_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Batches_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -239,8 +251,9 @@ func (c *queryClient) Batches(ctx context.Context, in *QueryBatchesRequest, opts } func (c *queryClient) BatchesByIssuer(ctx context.Context, in *QueryBatchesByIssuerRequest, opts ...grpc.CallOption) (*QueryBatchesByIssuerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchesByIssuerResponse) - err := c.cc.Invoke(ctx, Query_BatchesByIssuer_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BatchesByIssuer_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -248,8 +261,9 @@ func (c *queryClient) BatchesByIssuer(ctx context.Context, in *QueryBatchesByIss } func (c *queryClient) BatchesByClass(ctx context.Context, in *QueryBatchesByClassRequest, opts ...grpc.CallOption) (*QueryBatchesByClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchesByClassResponse) - err := c.cc.Invoke(ctx, Query_BatchesByClass_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BatchesByClass_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -257,8 +271,9 @@ func (c *queryClient) BatchesByClass(ctx context.Context, in *QueryBatchesByClas } func (c *queryClient) BatchesByProject(ctx context.Context, in *QueryBatchesByProjectRequest, opts ...grpc.CallOption) (*QueryBatchesByProjectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchesByProjectResponse) - err := c.cc.Invoke(ctx, Query_BatchesByProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BatchesByProject_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -266,8 +281,9 @@ func (c *queryClient) BatchesByProject(ctx context.Context, in *QueryBatchesByPr } func (c *queryClient) Batch(ctx context.Context, in *QueryBatchRequest, opts ...grpc.CallOption) (*QueryBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchResponse) - err := c.cc.Invoke(ctx, Query_Batch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Batch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -275,8 +291,9 @@ func (c *queryClient) Batch(ctx context.Context, in *QueryBatchRequest, opts ... } func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalanceResponse) - err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -284,8 +301,9 @@ func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts } func (c *queryClient) Balances(ctx context.Context, in *QueryBalancesRequest, opts ...grpc.CallOption) (*QueryBalancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalancesResponse) - err := c.cc.Invoke(ctx, Query_Balances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Balances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -293,8 +311,9 @@ func (c *queryClient) Balances(ctx context.Context, in *QueryBalancesRequest, op } func (c *queryClient) BalancesByBatch(ctx context.Context, in *QueryBalancesByBatchRequest, opts ...grpc.CallOption) (*QueryBalancesByBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalancesByBatchResponse) - err := c.cc.Invoke(ctx, Query_BalancesByBatch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BalancesByBatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -302,8 +321,9 @@ func (c *queryClient) BalancesByBatch(ctx context.Context, in *QueryBalancesByBa } func (c *queryClient) AllBalances(ctx context.Context, in *QueryAllBalancesRequest, opts ...grpc.CallOption) (*QueryAllBalancesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllBalancesResponse) - err := c.cc.Invoke(ctx, Query_AllBalances_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllBalances_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -311,8 +331,9 @@ func (c *queryClient) AllBalances(ctx context.Context, in *QueryAllBalancesReque } func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts ...grpc.CallOption) (*QuerySupplyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySupplyResponse) - err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -320,8 +341,9 @@ func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts . } func (c *queryClient) CreditTypes(ctx context.Context, in *QueryCreditTypesRequest, opts ...grpc.CallOption) (*QueryCreditTypesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryCreditTypesResponse) - err := c.cc.Invoke(ctx, Query_CreditTypes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_CreditTypes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -330,8 +352,9 @@ func (c *queryClient) CreditTypes(ctx context.Context, in *QueryCreditTypesReque // Deprecated: Do not use. func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -339,8 +362,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . } func (c *queryClient) CreditType(ctx context.Context, in *QueryCreditTypeRequest, opts ...grpc.CallOption) (*QueryCreditTypeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryCreditTypeResponse) - err := c.cc.Invoke(ctx, Query_CreditType_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_CreditType_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -348,8 +372,9 @@ func (c *queryClient) CreditType(ctx context.Context, in *QueryCreditTypeRequest } func (c *queryClient) ClassCreatorAllowlist(ctx context.Context, in *QueryClassCreatorAllowlistRequest, opts ...grpc.CallOption) (*QueryClassCreatorAllowlistResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassCreatorAllowlistResponse) - err := c.cc.Invoke(ctx, Query_ClassCreatorAllowlist_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ClassCreatorAllowlist_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -357,8 +382,9 @@ func (c *queryClient) ClassCreatorAllowlist(ctx context.Context, in *QueryClassC } func (c *queryClient) AllowedClassCreators(ctx context.Context, in *QueryAllowedClassCreatorsRequest, opts ...grpc.CallOption) (*QueryAllowedClassCreatorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowedClassCreatorsResponse) - err := c.cc.Invoke(ctx, Query_AllowedClassCreators_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllowedClassCreators_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -366,8 +392,9 @@ func (c *queryClient) AllowedClassCreators(ctx context.Context, in *QueryAllowed } func (c *queryClient) ClassFee(ctx context.Context, in *QueryClassFeeRequest, opts ...grpc.CallOption) (*QueryClassFeeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassFeeResponse) - err := c.cc.Invoke(ctx, Query_ClassFee_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ClassFee_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -375,8 +402,9 @@ func (c *queryClient) ClassFee(ctx context.Context, in *QueryClassFeeRequest, op } func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedBridgeChainsRequest, opts ...grpc.CallOption) (*QueryAllowedBridgeChainsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryAllowedBridgeChainsResponse) - err := c.cc.Invoke(ctx, Query_AllowedBridgeChains_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_AllowedBridgeChains_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -384,8 +412,9 @@ func (c *queryClient) AllowedBridgeChains(ctx context.Context, in *QueryAllowedB } func (c *queryClient) ProjectEnrollment(ctx context.Context, in *QueryProjectEnrollmentRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, Query_ProjectEnrollment_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProjectEnrollment_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -393,8 +422,9 @@ func (c *queryClient) ProjectEnrollment(ctx context.Context, in *QueryProjectEnr } func (c *queryClient) ProjectEnrollments(ctx context.Context, in *QueryProjectEnrollmentsRequest, opts ...grpc.CallOption) (*QueryProjectEnrollmentsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryProjectEnrollmentsResponse) - err := c.cc.Invoke(ctx, Query_ProjectEnrollments_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ProjectEnrollments_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -403,7 +433,9 @@ func (c *queryClient) ProjectEnrollments(ctx context.Context, in *QueryProjectEn // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.v1 Query service. type QueryServer interface { // Classes queries for all credit classes with pagination. Classes(context.Context, *QueryClassesRequest) (*QueryClassesResponse, error) @@ -493,9 +525,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Classes(context.Context, *QueryClassesRequest) (*QueryClassesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Classes not implemented") @@ -582,6 +617,7 @@ func (UnimplementedQueryServer) ProjectEnrollments(context.Context, *QueryProjec return nil, status.Errorf(codes.Unimplemented, "method ProjectEnrollments not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -591,6 +627,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/v1/tx_grpc.pb.go b/api/regen/ecocredit/v1/tx_grpc.pb.go index 43a9de6f2e..f38ddf9284 100644 --- a/api/regen/ecocredit/v1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1.Msg/CreateClass" @@ -52,6 +52,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.v1 Msg service. type MsgClient interface { // CreateClass creates a new credit class under the given credit type with an // approved list of issuers and optional metadata. If the class fee parameter @@ -233,8 +235,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateClassResponse) - err := c.cc.Invoke(ctx, Msg_CreateClass_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateClass_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -242,8 +245,9 @@ func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts .. } func (c *msgClient) CreateProject(ctx context.Context, in *MsgCreateProject, opts ...grpc.CallOption) (*MsgCreateProjectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateProjectResponse) - err := c.cc.Invoke(ctx, Msg_CreateProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateProject_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -251,8 +255,9 @@ func (c *msgClient) CreateProject(ctx context.Context, in *MsgCreateProject, opt } func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreateUnregisteredProject, opts ...grpc.CallOption) (*MsgCreateUnregisteredProjectResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateUnregisteredProjectResponse) - err := c.cc.Invoke(ctx, Msg_CreateUnregisteredProject_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateUnregisteredProject_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -260,8 +265,9 @@ func (c *msgClient) CreateUnregisteredProject(ctx context.Context, in *MsgCreate } func (c *msgClient) CreateOrUpdateApplication(ctx context.Context, in *MsgCreateOrUpdateApplication, opts ...grpc.CallOption) (*MsgCreateOrUpdateApplicationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateOrUpdateApplicationResponse) - err := c.cc.Invoke(ctx, Msg_CreateOrUpdateApplication_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateOrUpdateApplication_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -269,8 +275,9 @@ func (c *msgClient) CreateOrUpdateApplication(ctx context.Context, in *MsgCreate } func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdateProjectEnrollment, opts ...grpc.CallOption) (*MsgUpdateProjectEnrollmentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateProjectEnrollmentResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectEnrollment_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateProjectEnrollment_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -278,8 +285,9 @@ func (c *msgClient) UpdateProjectEnrollment(ctx context.Context, in *MsgUpdatePr } func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateBatchResponse) - err := c.cc.Invoke(ctx, Msg_CreateBatch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateBatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -287,8 +295,9 @@ func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts .. } func (c *msgClient) MintBatchCredits(ctx context.Context, in *MsgMintBatchCredits, opts ...grpc.CallOption) (*MsgMintBatchCreditsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgMintBatchCreditsResponse) - err := c.cc.Invoke(ctx, Msg_MintBatchCredits_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_MintBatchCredits_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -296,8 +305,9 @@ func (c *msgClient) MintBatchCredits(ctx context.Context, in *MsgMintBatchCredit } func (c *msgClient) SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grpc.CallOption) (*MsgSealBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSealBatchResponse) - err := c.cc.Invoke(ctx, Msg_SealBatch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SealBatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -305,8 +315,9 @@ func (c *msgClient) SealBatch(ctx context.Context, in *MsgSealBatch, opts ...grp } func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSendResponse) - err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -314,8 +325,9 @@ func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOpti } func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRetireResponse) - err := c.cc.Invoke(ctx, Msg_Retire_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Retire_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -323,8 +335,9 @@ func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.Call } func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelResponse) - err := c.cc.Invoke(ctx, Msg_Cancel_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Cancel_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -332,8 +345,9 @@ func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.Call } func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassAdminResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -341,8 +355,9 @@ func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmi } func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassIssuersResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassIssuers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassIssuers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -350,8 +365,9 @@ func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIs } func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -359,8 +375,9 @@ func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassM } func (c *msgClient) UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProjectAdmin, opts ...grpc.CallOption) (*MsgUpdateProjectAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateProjectAdminResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateProjectAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -368,8 +385,9 @@ func (c *msgClient) UpdateProjectAdmin(ctx context.Context, in *MsgUpdateProject } func (c *msgClient) UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProjectMetadata, opts ...grpc.CallOption) (*MsgUpdateProjectMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateProjectMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateProjectMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -377,8 +395,9 @@ func (c *msgClient) UpdateProjectMetadata(ctx context.Context, in *MsgUpdateProj } func (c *msgClient) UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchMetadata, opts ...grpc.CallOption) (*MsgUpdateBatchMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateBatchMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateBatchMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateBatchMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -386,8 +405,9 @@ func (c *msgClient) UpdateBatchMetadata(ctx context.Context, in *MsgUpdateBatchM } func (c *msgClient) Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.CallOption) (*MsgBridgeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgBridgeResponse) - err := c.cc.Invoke(ctx, Msg_Bridge_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Bridge_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -395,8 +415,9 @@ func (c *msgClient) Bridge(ctx context.Context, in *MsgBridge, opts ...grpc.Call } func (c *msgClient) BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opts ...grpc.CallOption) (*MsgBridgeReceiveResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgBridgeReceiveResponse) - err := c.cc.Invoke(ctx, Msg_BridgeReceive_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_BridgeReceive_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -404,8 +425,9 @@ func (c *msgClient) BridgeReceive(ctx context.Context, in *MsgBridgeReceive, opt } func (c *msgClient) AddCreditType(ctx context.Context, in *MsgAddCreditType, opts ...grpc.CallOption) (*MsgAddCreditTypeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAddCreditTypeResponse) - err := c.cc.Invoke(ctx, Msg_AddCreditType_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_AddCreditType_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -413,8 +435,9 @@ func (c *msgClient) AddCreditType(ctx context.Context, in *MsgAddCreditType, opt } func (c *msgClient) SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClassCreatorAllowlist, opts ...grpc.CallOption) (*MsgSetClassCreatorAllowlistResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSetClassCreatorAllowlistResponse) - err := c.cc.Invoke(ctx, Msg_SetClassCreatorAllowlist_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SetClassCreatorAllowlist_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -422,8 +445,9 @@ func (c *msgClient) SetClassCreatorAllowlist(ctx context.Context, in *MsgSetClas } func (c *msgClient) AddClassCreator(ctx context.Context, in *MsgAddClassCreator, opts ...grpc.CallOption) (*MsgAddClassCreatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAddClassCreatorResponse) - err := c.cc.Invoke(ctx, Msg_AddClassCreator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_AddClassCreator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -431,8 +455,9 @@ func (c *msgClient) AddClassCreator(ctx context.Context, in *MsgAddClassCreator, } func (c *msgClient) RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCreator, opts ...grpc.CallOption) (*MsgRemoveClassCreatorResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRemoveClassCreatorResponse) - err := c.cc.Invoke(ctx, Msg_RemoveClassCreator_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RemoveClassCreator_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -440,8 +465,9 @@ func (c *msgClient) RemoveClassCreator(ctx context.Context, in *MsgRemoveClassCr } func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, opts ...grpc.CallOption) (*MsgUpdateClassFeeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassFeeResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassFee_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassFee_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -449,8 +475,9 @@ func (c *msgClient) UpdateClassFee(ctx context.Context, in *MsgUpdateClassFee, o } func (c *msgClient) UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFee, opts ...grpc.CallOption) (*MsgUpdateProjectFeeResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateProjectFeeResponse) - err := c.cc.Invoke(ctx, Msg_UpdateProjectFee_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateProjectFee_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -458,8 +485,9 @@ func (c *msgClient) UpdateProjectFee(ctx context.Context, in *MsgUpdateProjectFe } func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowedBridgeChain, opts ...grpc.CallOption) (*MsgAddAllowedBridgeChainResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgAddAllowedBridgeChainResponse) - err := c.cc.Invoke(ctx, Msg_AddAllowedBridgeChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_AddAllowedBridgeChain_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -467,8 +495,9 @@ func (c *msgClient) AddAllowedBridgeChain(ctx context.Context, in *MsgAddAllowed } func (c *msgClient) RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveAllowedBridgeChain, opts ...grpc.CallOption) (*MsgRemoveAllowedBridgeChainResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRemoveAllowedBridgeChainResponse) - err := c.cc.Invoke(ctx, Msg_RemoveAllowedBridgeChain_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RemoveAllowedBridgeChain_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -476,8 +505,9 @@ func (c *msgClient) RemoveAllowedBridgeChain(ctx context.Context, in *MsgRemoveA } func (c *msgClient) BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grpc.CallOption) (*MsgBurnRegenResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgBurnRegenResponse) - err := c.cc.Invoke(ctx, Msg_BurnRegen_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_BurnRegen_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -486,7 +516,9 @@ func (c *msgClient) BurnRegen(ctx context.Context, in *MsgBurnRegen, opts ...grp // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.v1 Msg service. type MsgServer interface { // CreateClass creates a new credit class under the given credit type with an // approved list of issuers and optional metadata. If the class fee parameter @@ -660,9 +692,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateClass(context.Context, *MsgCreateClass) (*MsgCreateClassResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateClass not implemented") @@ -749,6 +784,7 @@ func (UnimplementedMsgServer) BurnRegen(context.Context, *MsgBurnRegen) (*MsgBur return nil, status.Errorf(codes.Unimplemented, "method BurnRegen not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -758,6 +794,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/v1alpha1/query_grpc.pb.go b/api/regen/ecocredit/v1alpha1/query_grpc.pb.go index a3d04ab341..971ff2154b 100644 --- a/api/regen/ecocredit/v1alpha1/query_grpc.pb.go +++ b/api/regen/ecocredit/v1alpha1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/v1alpha1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_Classes_FullMethodName = "/regen.ecocredit.v1alpha1.Query/Classes" @@ -32,6 +32,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.v1alpha1 Query service. type QueryClient interface { // Classes queries for all credit classes with pagination. Classes(ctx context.Context, in *QueryClassesRequest, opts ...grpc.CallOption) (*QueryClassesResponse, error) @@ -62,8 +64,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts ...grpc.CallOption) (*QueryClassesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassesResponse) - err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Classes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -71,8 +74,9 @@ func (c *queryClient) Classes(ctx context.Context, in *QueryClassesRequest, opts } func (c *queryClient) ClassInfo(ctx context.Context, in *QueryClassInfoRequest, opts ...grpc.CallOption) (*QueryClassInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryClassInfoResponse) - err := c.cc.Invoke(ctx, Query_ClassInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_ClassInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -80,8 +84,9 @@ func (c *queryClient) ClassInfo(ctx context.Context, in *QueryClassInfoRequest, } func (c *queryClient) Batches(ctx context.Context, in *QueryBatchesRequest, opts ...grpc.CallOption) (*QueryBatchesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchesResponse) - err := c.cc.Invoke(ctx, Query_Batches_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Batches_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -89,8 +94,9 @@ func (c *queryClient) Batches(ctx context.Context, in *QueryBatchesRequest, opts } func (c *queryClient) BatchInfo(ctx context.Context, in *QueryBatchInfoRequest, opts ...grpc.CallOption) (*QueryBatchInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBatchInfoResponse) - err := c.cc.Invoke(ctx, Query_BatchInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_BatchInfo_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -98,8 +104,9 @@ func (c *queryClient) BatchInfo(ctx context.Context, in *QueryBatchInfoRequest, } func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryBalanceResponse) - err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Balance_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -107,8 +114,9 @@ func (c *queryClient) Balance(ctx context.Context, in *QueryBalanceRequest, opts } func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts ...grpc.CallOption) (*QuerySupplyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QuerySupplyResponse) - err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Supply_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -116,8 +124,9 @@ func (c *queryClient) Supply(ctx context.Context, in *QuerySupplyRequest, opts . } func (c *queryClient) CreditTypes(ctx context.Context, in *QueryCreditTypesRequest, opts ...grpc.CallOption) (*QueryCreditTypesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryCreditTypesResponse) - err := c.cc.Invoke(ctx, Query_CreditTypes_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_CreditTypes_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -125,8 +134,9 @@ func (c *queryClient) CreditTypes(ctx context.Context, in *QueryCreditTypesReque } func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryParamsResponse) - err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -135,7 +145,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.v1alpha1 Query service. type QueryServer interface { // Classes queries for all credit classes with pagination. Classes(context.Context, *QueryClassesRequest) (*QueryClassesResponse, error) @@ -158,9 +170,12 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) Classes(context.Context, *QueryClassesRequest) (*QueryClassesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Classes not implemented") @@ -187,6 +202,7 @@ func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*Q return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -196,6 +212,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/ecocredit/v1alpha1/tx_grpc.pb.go b/api/regen/ecocredit/v1alpha1/tx_grpc.pb.go index ae82fbe87d..7d778130cf 100644 --- a/api/regen/ecocredit/v1alpha1/tx_grpc.pb.go +++ b/api/regen/ecocredit/v1alpha1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/ecocredit/v1alpha1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateClass_FullMethodName = "/regen.ecocredit.v1alpha1.Msg/CreateClass" @@ -32,6 +32,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg is the regen.ecocredit.v1alpha1 Msg service. type MsgClient interface { // CreateClass creates a new credit class with an approved list of issuers and // optional metadata. @@ -66,8 +68,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts ...grpc.CallOption) (*MsgCreateClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateClassResponse) - err := c.cc.Invoke(ctx, Msg_CreateClass_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateClass_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -75,8 +78,9 @@ func (c *msgClient) CreateClass(ctx context.Context, in *MsgCreateClass, opts .. } func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts ...grpc.CallOption) (*MsgCreateBatchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCreateBatchResponse) - err := c.cc.Invoke(ctx, Msg_CreateBatch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_CreateBatch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -84,8 +88,9 @@ func (c *msgClient) CreateBatch(ctx context.Context, in *MsgCreateBatch, opts .. } func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOption) (*MsgSendResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSendResponse) - err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Send_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -93,8 +98,9 @@ func (c *msgClient) Send(ctx context.Context, in *MsgSend, opts ...grpc.CallOpti } func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.CallOption) (*MsgRetireResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRetireResponse) - err := c.cc.Invoke(ctx, Msg_Retire_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Retire_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -102,8 +108,9 @@ func (c *msgClient) Retire(ctx context.Context, in *MsgRetire, opts ...grpc.Call } func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.CallOption) (*MsgCancelResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgCancelResponse) - err := c.cc.Invoke(ctx, Msg_Cancel_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_Cancel_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -111,8 +118,9 @@ func (c *msgClient) Cancel(ctx context.Context, in *MsgCancel, opts ...grpc.Call } func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmin, opts ...grpc.CallOption) (*MsgUpdateClassAdminResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassAdminResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassAdmin_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassAdmin_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -120,8 +128,9 @@ func (c *msgClient) UpdateClassAdmin(ctx context.Context, in *MsgUpdateClassAdmi } func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIssuers, opts ...grpc.CallOption) (*MsgUpdateClassIssuersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassIssuersResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassIssuers_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassIssuers_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -129,8 +138,9 @@ func (c *msgClient) UpdateClassIssuers(ctx context.Context, in *MsgUpdateClassIs } func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassMetadata, opts ...grpc.CallOption) (*MsgUpdateClassMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgUpdateClassMetadataResponse) - err := c.cc.Invoke(ctx, Msg_UpdateClassMetadata_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_UpdateClassMetadata_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -139,7 +149,9 @@ func (c *msgClient) UpdateClassMetadata(ctx context.Context, in *MsgUpdateClassM // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg is the regen.ecocredit.v1alpha1 Msg service. type MsgServer interface { // CreateClass creates a new credit class with an approved list of issuers and // optional metadata. @@ -166,9 +178,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateClass(context.Context, *MsgCreateClass) (*MsgCreateClassResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateClass not implemented") @@ -195,6 +210,7 @@ func (UnimplementedMsgServer) UpdateClassMetadata(context.Context, *MsgUpdateCla return nil, status.Errorf(codes.Unimplemented, "method UpdateClassMetadata not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -204,6 +220,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/api/regen/intertx/v1/query_grpc.pb.go b/api/regen/intertx/v1/query_grpc.pb.go index 3114514439..41585397c2 100644 --- a/api/regen/intertx/v1/query_grpc.pb.go +++ b/api/regen/intertx/v1/query_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/intertx/v1/query.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Query_InterchainAccount_FullMethodName = "/regen.intertx.v1.Query/InterchainAccount" @@ -25,6 +25,8 @@ const ( // QueryClient is the client API for Query service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Query defines the gRPC querier service. type QueryClient interface { // QueryInterchainAccount returns the interchain account for given owner // address on a given connection pair @@ -40,8 +42,9 @@ func NewQueryClient(cc grpc.ClientConnInterface) QueryClient { } func (c *queryClient) InterchainAccount(ctx context.Context, in *QueryInterchainAccountRequest, opts ...grpc.CallOption) (*QueryInterchainAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(QueryInterchainAccountResponse) - err := c.cc.Invoke(ctx, Query_InterchainAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Query_InterchainAccount_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -50,7 +53,9 @@ func (c *queryClient) InterchainAccount(ctx context.Context, in *QueryInterchain // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer -// for forward compatibility +// for forward compatibility. +// +// Query defines the gRPC querier service. type QueryServer interface { // QueryInterchainAccount returns the interchain account for given owner // address on a given connection pair @@ -58,14 +63,18 @@ type QueryServer interface { mustEmbedUnimplementedQueryServer() } -// UnimplementedQueryServer must be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} +// UnimplementedQueryServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedQueryServer struct{} func (UnimplementedQueryServer) InterchainAccount(context.Context, *QueryInterchainAccountRequest) (*QueryInterchainAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method InterchainAccount not implemented") } func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} +func (UnimplementedQueryServer) testEmbeddedByValue() {} // UnsafeQueryServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to QueryServer will @@ -75,6 +84,13 @@ type UnsafeQueryServer interface { } func RegisterQueryServer(s grpc.ServiceRegistrar, srv QueryServer) { + // If the following call pancis, it indicates UnimplementedQueryServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Query_ServiceDesc, srv) } diff --git a/api/regen/intertx/v1/tx_grpc.pb.go b/api/regen/intertx/v1/tx_grpc.pb.go index 0c1ae34068..0ec5700f4b 100644 --- a/api/regen/intertx/v1/tx_grpc.pb.go +++ b/api/regen/intertx/v1/tx_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.5.1 // - protoc (unknown) // source: regen/intertx/v1/tx.proto @@ -15,8 +15,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( Msg_RegisterAccount_FullMethodName = "/regen.intertx.v1.Msg/RegisterAccount" @@ -26,6 +26,8 @@ const ( // MsgClient is the client API for Msg service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Msg defines the intertx Msg service. type MsgClient interface { // Register defines a rpc handler for MsgRegisterAccount RegisterAccount(ctx context.Context, in *MsgRegisterAccount, opts ...grpc.CallOption) (*MsgRegisterAccountResponse, error) @@ -42,8 +44,9 @@ func NewMsgClient(cc grpc.ClientConnInterface) MsgClient { } func (c *msgClient) RegisterAccount(ctx context.Context, in *MsgRegisterAccount, opts ...grpc.CallOption) (*MsgRegisterAccountResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgRegisterAccountResponse) - err := c.cc.Invoke(ctx, Msg_RegisterAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RegisterAccount_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -51,8 +54,9 @@ func (c *msgClient) RegisterAccount(ctx context.Context, in *MsgRegisterAccount, } func (c *msgClient) SubmitTx(ctx context.Context, in *MsgSubmitTx, opts ...grpc.CallOption) (*MsgSubmitTxResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MsgSubmitTxResponse) - err := c.cc.Invoke(ctx, Msg_SubmitTx_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, Msg_SubmitTx_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -61,7 +65,9 @@ func (c *msgClient) SubmitTx(ctx context.Context, in *MsgSubmitTx, opts ...grpc. // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer -// for forward compatibility +// for forward compatibility. +// +// Msg defines the intertx Msg service. type MsgServer interface { // Register defines a rpc handler for MsgRegisterAccount RegisterAccount(context.Context, *MsgRegisterAccount) (*MsgRegisterAccountResponse, error) @@ -70,9 +76,12 @@ type MsgServer interface { mustEmbedUnimplementedMsgServer() } -// UnimplementedMsgServer must be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} +// UnimplementedMsgServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) RegisterAccount(context.Context, *MsgRegisterAccount) (*MsgRegisterAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RegisterAccount not implemented") @@ -81,6 +90,7 @@ func (UnimplementedMsgServer) SubmitTx(context.Context, *MsgSubmitTx) (*MsgSubmi return nil, status.Errorf(codes.Unimplemented, "method SubmitTx not implemented") } func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} +func (UnimplementedMsgServer) testEmbeddedByValue() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to MsgServer will @@ -90,6 +100,13 @@ type UnsafeMsgServer interface { } func RegisterMsgServer(s grpc.ServiceRegistrar, srv MsgServer) { + // If the following call pancis, it indicates UnimplementedMsgServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&Msg_ServiceDesc, srv) } diff --git a/proto/regen/ecocredit/v1/query.proto b/proto/regen/ecocredit/v1/query.proto index 2c5f15c28b..ca67a31903 100644 --- a/proto/regen/ecocredit/v1/query.proto +++ b/proto/regen/ecocredit/v1/query.proto @@ -275,6 +275,9 @@ service Query { rpc ProjectEnrollments(QueryProjectEnrollmentsRequest) returns (QueryProjectEnrollmentsResponse) { option (google.api.http) = { get : "/regen/ecocredit/v1/project/{project_id}/enrollments" + additional_bindings : [ + {get : "/regen/ecocredit/v1/project/enrollments"} + ] }; } } diff --git a/x/ecocredit/base/types/v1/query.pb.go b/x/ecocredit/base/types/v1/query.pb.go index c382101c3e..badc6e9630 100644 --- a/x/ecocredit/base/types/v1/query.pb.go +++ b/x/ecocredit/base/types/v1/query.pb.go @@ -3419,173 +3419,173 @@ func init() { func init() { proto.RegisterFile("regen/ecocredit/v1/query.proto", fileDescriptor_c85efa417eafb74b) } var fileDescriptor_c85efa417eafb74b = []byte{ - // 2649 bytes of a gzipped FileDescriptorProto + // 2655 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdf, 0x6f, 0x1c, 0x57, - 0xf5, 0xcf, 0xdd, 0xc4, 0xf6, 0xfa, 0xd8, 0x71, 0xd2, 0x1b, 0x27, 0x5f, 0x67, 0x1b, 0x6f, 0x92, - 0x69, 0x12, 0x3b, 0x71, 0x76, 0x27, 0xfe, 0x91, 0x7e, 0x69, 0x1b, 0x1a, 0x6c, 0x87, 0x16, 0x3f, - 0x20, 0xa5, 0xdb, 0x2a, 0xa8, 0x86, 0xd4, 0xcc, 0xee, 0x5c, 0x3b, 0x93, 0xae, 0x67, 0x36, 0x33, - 0xe3, 0xa4, 0xc6, 0x32, 0x2d, 0x48, 0x2d, 0x3c, 0x41, 0x45, 0x11, 0xea, 0x4b, 0xc5, 0x0f, 0xc1, - 0x03, 0x3c, 0x20, 0x54, 0x40, 0x08, 0xe5, 0x01, 0x21, 0x24, 0xc4, 0x63, 0xa4, 0xf2, 0xc0, 0x8f, - 0x17, 0x94, 0x20, 0xc1, 0x3b, 0xff, 0x00, 0xda, 0x7b, 0xcf, 0x9d, 0x5f, 0x3b, 0x73, 0x77, 0x36, - 0x6c, 0x2b, 0x3f, 0x79, 0xe7, 0xce, 0x39, 0x73, 0x3f, 0x9f, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, 0x73, - 0x64, 0x28, 0xbb, 0x6c, 0x83, 0xd9, 0x3a, 0x6b, 0x38, 0x0d, 0x97, 0x99, 0x96, 0xaf, 0xdf, 0x9d, - 0xd5, 0xef, 0x6c, 0x31, 0x77, 0xbb, 0xda, 0x72, 0x1d, 0xdf, 0xa1, 0x94, 0xbf, 0xaf, 0x06, 0xef, - 0xab, 0x77, 0x67, 0x4b, 0x17, 0x1a, 0x8e, 0xb7, 0xe9, 0x78, 0x7a, 0xdd, 0xf0, 0x98, 0x10, 0xd6, - 0xef, 0xce, 0xd6, 0x99, 0x6f, 0xcc, 0xea, 0x2d, 0x63, 0xc3, 0xb2, 0x0d, 0xdf, 0x72, 0x6c, 0xa1, - 0x5f, 0x2a, 0x47, 0x65, 0xa5, 0x54, 0xc3, 0xb1, 0xe4, 0xfb, 0x13, 0x1b, 0x8e, 0xb3, 0xd1, 0x64, - 0xba, 0xd1, 0xb2, 0x74, 0xc3, 0xb6, 0x1d, 0x9f, 0x2b, 0x7b, 0xf8, 0xf6, 0x24, 0xbe, 0xe5, 0x4f, - 0xf5, 0xad, 0x75, 0xdd, 0xb7, 0x36, 0x99, 0xe7, 0x1b, 0x9b, 0x2d, 0xf9, 0xf9, 0x14, 0xf8, 0x9e, - 0x6f, 0xf8, 0x4c, 0xf1, 0xde, 0xdf, 0x6e, 0x31, 0x9c, 0x40, 0xbb, 0x09, 0x47, 0x5e, 0x6a, 0x13, - 0x58, 0x6e, 0x1a, 0x9e, 0xc7, 0xbc, 0x1a, 0xbb, 0xb3, 0xc5, 0x3c, 0x9f, 0xbe, 0x00, 0x10, 0x32, - 0x99, 0x20, 0xa7, 0xc8, 0xf4, 0xc8, 0xdc, 0xb9, 0xaa, 0xa0, 0x52, 0x6d, 0x53, 0xa9, 0x0a, 0x1b, - 0x21, 0xa1, 0xea, 0x75, 0x63, 0x83, 0xa1, 0x6e, 0x2d, 0xa2, 0xa9, 0xbd, 0x4f, 0x60, 0x3c, 0xfe, - 0x7d, 0xaf, 0xe5, 0xd8, 0x1e, 0xa3, 0xff, 0x0f, 0x43, 0x0d, 0x31, 0x34, 0x41, 0x4e, 0xed, 0x9f, - 0x1e, 0x99, 0x9b, 0xac, 0x76, 0x1a, 0xba, 0xca, 0xb5, 0x56, 0xec, 0x75, 0xa7, 0x26, 0xa5, 0xe9, - 0x8b, 0x31, 0x64, 0x05, 0x8e, 0x6c, 0xaa, 0x2b, 0x32, 0x31, 0x6b, 0x0c, 0xda, 0x57, 0xa0, 0x14, - 0x45, 0xb6, 0xb4, 0xbd, 0x68, 0x6e, 0x5a, 0xb6, 0x34, 0xc0, 0x38, 0x0c, 0x18, 0xed, 0x67, 0xce, - 0x7d, 0xb8, 0x26, 0x1e, 0x12, 0x66, 0x29, 0x3c, 0xb6, 0x59, 0xbe, 0x4f, 0xe0, 0xc9, 0xd4, 0xc9, - 0xf7, 0x8c, 0x75, 0xaa, 0xf0, 0x44, 0x08, 0x50, 0x1a, 0xe5, 0x38, 0x14, 0xf9, 0x44, 0x6b, 0x96, - 0x89, 0x76, 0x11, 0x13, 0xaf, 0x98, 0xda, 0x0a, 0xd0, 0xa8, 0x3c, 0xf2, 0x98, 0x87, 0x01, 0x2e, - 0x80, 0x1e, 0xd4, 0x85, 0x85, 0x90, 0xd5, 0x76, 0x61, 0x22, 0xfc, 0xd4, 0x8a, 0xe7, 0x6d, 0x31, - 0x37, 0x07, 0x82, 0xbe, 0xad, 0xcd, 0x57, 0xe1, 0x78, 0xca, 0xf4, 0x48, 0x68, 0x02, 0x86, 0x2c, - 0x31, 0xc4, 0x17, 0x66, 0xb8, 0x26, 0x1f, 0xfb, 0x67, 0xf9, 0xd7, 0x70, 0xc7, 0x5c, 0x77, 0x9d, - 0xdb, 0xac, 0xe1, 0xf7, 0x7d, 0x4b, 0x7e, 0x40, 0xe0, 0x68, 0x62, 0x02, 0x24, 0xf7, 0x1c, 0x14, - 0x5b, 0x38, 0x86, 0x6e, 0x77, 0x32, 0x6d, 0xc1, 0x50, 0x8f, 0x2f, 0x59, 0xa0, 0xd0, 0x3f, 0xfe, - 0x6f, 0xc9, 0xbd, 0x21, 0xf1, 0x2d, 0xe5, 0x75, 0xc2, 0xbe, 0xb9, 0xc0, 0x8f, 0x09, 0x9c, 0x48, - 0x87, 0xb0, 0xa7, 0x2c, 0xf5, 0x2d, 0x02, 0xa7, 0x13, 0x30, 0x6b, 0x6c, 0x9d, 0xb9, 0xcc, 0x6e, - 0xb0, 0x15, 0x53, 0xda, 0xeb, 0x34, 0x8c, 0xba, 0x72, 0x34, 0xb4, 0xd9, 0x88, 0x1b, 0x4a, 0xf6, - 0xcd, 0x6e, 0x3f, 0x23, 0xa0, 0xa9, 0x00, 0xed, 0x29, 0xeb, 0xed, 0x74, 0xb8, 0xd9, 0x27, 0x78, - 0x00, 0xa4, 0x78, 0x58, 0xfc, 0x04, 0xd8, 0x1b, 0x36, 0x5a, 0xc0, 0xec, 0x00, 0xa7, 0x91, 0xb6, - 0x99, 0x04, 0xc0, 0xb9, 0x42, 0x87, 0x1a, 0xc6, 0x91, 0x15, 0x53, 0x7b, 0x29, 0x1e, 0xc1, 0x02, - 0x4e, 0xcf, 0xc0, 0x10, 0x0a, 0x61, 0xf8, 0xea, 0x4a, 0x49, 0xca, 0x07, 0x69, 0xca, 0x92, 0xe1, - 0x37, 0x6e, 0x7d, 0x8c, 0x69, 0x4a, 0xf0, 0xfd, 0xf0, 0x20, 0xae, 0x8b, 0x21, 0xd5, 0x41, 0xcc, - 0xb5, 0x04, 0x60, 0x94, 0xee, 0xdf, 0x12, 0xec, 0xa2, 0x9b, 0x22, 0xb2, 0xa5, 0x6d, 0x71, 0x24, - 0x49, 0x0b, 0x1c, 0x83, 0x41, 0x71, 0x02, 0xe1, 0x32, 0xe0, 0x53, 0xdf, 0x1c, 0xf5, 0x07, 0xd2, - 0x51, 0x3b, 0xe6, 0xdf, 0x33, 0x16, 0x7a, 0x13, 0x13, 0xb9, 0x00, 0xe1, 0x27, 0x7d, 0x5c, 0xbc, - 0xdd, 0x61, 0xa3, 0x9e, 0xf6, 0x4b, 0xdf, 0x70, 0xfc, 0x90, 0xc0, 0x64, 0x06, 0x8e, 0x3d, 0xb3, - 0x58, 0x41, 0xe6, 0x9b, 0x5c, 0xad, 0x3d, 0x83, 0x70, 0x01, 0x33, 0x5f, 0x3e, 0x87, 0x5c, 0xc1, - 0x93, 0x30, 0xc2, 0x27, 0x5a, 0x33, 0x99, 0xed, 0x6c, 0xe2, 0x12, 0x02, 0x1f, 0xba, 0xd6, 0x1e, - 0x09, 0xf2, 0x5f, 0xd4, 0x0a, 0xf3, 0x5f, 0x2e, 0xa3, 0xca, 0x7f, 0x43, 0x2e, 0x42, 0x56, 0xbb, - 0x1e, 0xc4, 0xba, 0xa6, 0x61, 0x37, 0xe4, 0x4a, 0xb7, 0x53, 0x4f, 0xc3, 0x34, 0x5d, 0x86, 0xd9, - 0xf4, 0x70, 0x4d, 0x3e, 0x26, 0xc1, 0x15, 0x3a, 0xc0, 0xdd, 0x08, 0xa2, 0x1b, 0x7e, 0x11, 0xe1, - 0x3d, 0xdf, 0x36, 0x36, 0x1f, 0x42, 0x80, 0x67, 0x32, 0x01, 0xa2, 0xaa, 0xb4, 0x39, 0x7f, 0xd0, - 0xde, 0x88, 0x7f, 0xd7, 0xeb, 0x0e, 0xb5, 0x5f, 0xae, 0xfe, 0x23, 0x99, 0xc4, 0x86, 0x53, 0x23, - 0xa7, 0xcf, 0x40, 0x11, 0xe1, 0x49, 0x0f, 0xca, 0x47, 0x2a, 0xd0, 0xea, 0x9f, 0x27, 0xbd, 0x13, - 0xfa, 0xba, 0xf8, 0xf4, 0x52, 0x6f, 0x4e, 0xd5, 0x37, 0x6b, 0xfd, 0x34, 0x0c, 0x50, 0x09, 0x20, - 0x7b, 0xcf, 0x68, 0x06, 0xfc, 0x1f, 0x87, 0xba, 0xd8, 0x6c, 0x26, 0xdd, 0xaa, 0x5f, 0xa7, 0xfd, - 0x4f, 0x08, 0xde, 0x30, 0x63, 0x73, 0xec, 0x3d, 0x53, 0x5c, 0xc6, 0x98, 0xf2, 0xf2, 0x56, 0xab, - 0xd5, 0xdc, 0xce, 0x1d, 0x8a, 0xde, 0x25, 0x18, 0x40, 0xa4, 0x1e, 0x32, 0x9b, 0x82, 0x43, 0xbe, - 0x6b, 0x98, 0x46, 0xbd, 0xc9, 0xd6, 0x8c, 0x4d, 0x67, 0xcb, 0xf6, 0x51, 0x79, 0x4c, 0x0e, 0x2f, - 0xf2, 0x51, 0x7a, 0x16, 0xc6, 0x5c, 0xe6, 0x5b, 0x2e, 0x33, 0xa5, 0x9c, 0x08, 0x29, 0x07, 0x71, - 0x14, 0xc5, 0xce, 0xc3, 0xe1, 0x46, 0x9b, 0x71, 0xb3, 0x19, 0x0a, 0xee, 0xe7, 0x82, 0x87, 0x82, - 0x71, 0x21, 0xaa, 0x1d, 0xc7, 0x45, 0x5d, 0xe6, 0xf6, 0x7b, 0x65, 0xbb, 0x15, 0x2c, 0xaa, 0x76, - 0x53, 0xde, 0xf6, 0xa3, 0xaf, 0x10, 0xf1, 0x22, 0x8c, 0x0a, 0x8b, 0xaf, 0xf1, 0x92, 0x15, 0xae, - 0x47, 0x39, 0xb5, 0x8a, 0x10, 0xa8, 0xd7, 0x46, 0x1a, 0xe1, 0xa7, 0xb4, 0x71, 0xb4, 0xe1, 0x75, - 0xc3, 0x35, 0x36, 0x83, 0x49, 0x57, 0x64, 0x5e, 0x8b, 0xa3, 0x38, 0xdf, 0x1c, 0x0c, 0xb6, 0xf8, - 0x08, 0x3a, 0x57, 0x29, 0x35, 0x3f, 0x15, 0x3a, 0x28, 0xa9, 0x5d, 0x81, 0x63, 0x09, 0xfc, 0x72, - 0xa1, 0x34, 0x18, 0x35, 0xea, 0x75, 0x97, 0xdd, 0xb5, 0x42, 0x87, 0x1d, 0xae, 0xc5, 0xc6, 0xb4, - 0xd5, 0x0e, 0xc3, 0x04, 0x60, 0xae, 0xc2, 0x48, 0x84, 0x3c, 0x22, 0xea, 0xc6, 0x1d, 0x42, 0xee, - 0xda, 0x0e, 0x0c, 0x07, 0xb5, 0x15, 0x3a, 0x06, 0x85, 0x20, 0xf5, 0x28, 0x58, 0x66, 0x78, 0xbd, - 0x29, 0x44, 0xaf, 0x37, 0x25, 0x28, 0x6e, 0x32, 0xdf, 0x30, 0x0d, 0xdf, 0xc0, 0xa5, 0x0c, 0x9e, - 0xe9, 0x45, 0xa0, 0x11, 0x3c, 0x6b, 0x82, 0xc6, 0xc4, 0x01, 0x2e, 0x75, 0x38, 0x9c, 0x76, 0x91, - 0x8f, 0x6b, 0xbf, 0x26, 0x30, 0x12, 0xc9, 0xe4, 0x73, 0xce, 0x3f, 0x19, 0x49, 0xd6, 0xf8, 0xfc, - 0x4b, 0x85, 0x09, 0x12, 0x26, 0x6c, 0x1a, 0x8c, 0xde, 0xde, 0x72, 0x2d, 0xcf, 0xb4, 0x1a, 0xdc, - 0xa2, 0x62, 0xf2, 0xd8, 0x58, 0x8c, 0xc2, 0x40, 0x82, 0x42, 0xf2, 0x2a, 0x3c, 0xd8, 0x71, 0x15, - 0xd6, 0xee, 0x17, 0x60, 0x38, 0x38, 0x91, 0x33, 0xb3, 0xeb, 0x78, 0x42, 0x57, 0x48, 0x26, 0x74, - 0xe3, 0x30, 0x20, 0x36, 0xa7, 0xb0, 0xa1, 0x78, 0x88, 0x21, 0x3b, 0x90, 0x40, 0xf6, 0x0c, 0x80, - 0xe7, 0x1b, 0xae, 0xbf, 0x66, 0x1a, 0x3e, 0xe3, 0xb8, 0xdb, 0xde, 0x27, 0x8a, 0xbf, 0x55, 0x59, - 0xfc, 0xad, 0xbe, 0x22, 0x8b, 0xbf, 0xb5, 0x61, 0x2e, 0x7d, 0xcd, 0xf0, 0x19, 0xbd, 0x0c, 0x45, - 0x66, 0x9b, 0x42, 0x71, 0xb0, 0xab, 0xe2, 0x10, 0xb3, 0x4d, 0xae, 0x76, 0x15, 0x0e, 0xb6, 0xc9, - 0xb4, 0x37, 0xaa, 0xd0, 0x1d, 0xea, 0xaa, 0x3b, 0x2a, 0x15, 0xf8, 0x07, 0x28, 0x1c, 0x70, 0x5a, - 0xcc, 0x9e, 0x28, 0x9e, 0x22, 0xd3, 0xc5, 0x1a, 0xff, 0xad, 0xfd, 0x91, 0xc0, 0xe1, 0x64, 0x64, - 0xfc, 0x1f, 0x12, 0x97, 0xb4, 0x90, 0xb5, 0x3f, 0x67, 0xc8, 0x3a, 0x90, 0x16, 0xb2, 0xa6, 0xe0, - 0x10, 0xf3, 0x1a, 0xae, 0x73, 0x2f, 0x94, 0x13, 0x3e, 0x32, 0x26, 0x87, 0x31, 0x60, 0x3d, 0x85, - 0x95, 0x15, 0xbe, 0x81, 0x96, 0x5d, 0x66, 0xf8, 0x8e, 0xbb, 0xd8, 0x6c, 0x3a, 0xf7, 0x9a, 0x96, - 0x27, 0xd3, 0x7a, 0xed, 0x79, 0xac, 0x76, 0x64, 0x08, 0x85, 0x25, 0x43, 0x66, 0xb7, 0xa1, 0x0a, - 0xf7, 0x2f, 0xd6, 0xe4, 0xa3, 0x76, 0x1b, 0x4e, 0xc9, 0x63, 0xa8, 0x3d, 0x75, 0xf4, 0x33, 0x7d, - 0x3f, 0xf3, 0xde, 0x93, 0xb5, 0xa2, 0xf4, 0xc9, 0x10, 0xeb, 0x59, 0x18, 0x13, 0xfb, 0xaf, 0x81, - 0x6f, 0xb0, 0xca, 0x79, 0xb0, 0x11, 0x15, 0xef, 0xdf, 0x09, 0x77, 0x2c, 0xda, 0x1d, 0x78, 0x81, - 0x49, 0xe4, 0xda, 0x35, 0xcc, 0xee, 0xc2, 0x71, 0x04, 0x38, 0x03, 0xfb, 0xd7, 0x99, 0x0c, 0x86, - 0xc7, 0x63, 0x53, 0xca, 0xc9, 0x96, 0x1d, 0xcb, 0xae, 0xb5, 0xa5, 0xb4, 0xd3, 0x70, 0x32, 0x4a, - 0x79, 0xc9, 0xb5, 0xcc, 0x0d, 0xb6, 0x7c, 0xcb, 0xb0, 0xec, 0xe0, 0x20, 0xb8, 0x11, 0x5f, 0x82, - 0xb8, 0x48, 0x70, 0x2a, 0x1c, 0x35, 0xc4, 0xeb, 0xb5, 0x3a, 0x7f, 0xbf, 0xd6, 0xe0, 0x02, 0x68, - 0x9b, 0x23, 0x46, 0xa7, 0xae, 0xf6, 0x2a, 0xde, 0xc4, 0x30, 0x04, 0x7e, 0xd6, 0x76, 0x9d, 0x66, - 0x73, 0x93, 0xd9, 0x79, 0xaf, 0x84, 0xd1, 0x5b, 0x6b, 0x21, 0x5e, 0x69, 0x37, 0xa1, 0x9c, 0xf5, - 0x69, 0x04, 0xbc, 0x04, 0xc0, 0x82, 0x51, 0xb4, 0x95, 0x96, 0x76, 0x70, 0x84, 0xba, 0x3c, 0x85, - 0x89, 0x68, 0xb5, 0x13, 0xec, 0x8c, 0x69, 0xbc, 0xc7, 0xa0, 0xb0, 0xff, 0xe3, 0xb9, 0x78, 0xff, - 0x82, 0xe0, 0x0a, 0xa7, 0x81, 0x44, 0x63, 0x5c, 0x83, 0x91, 0x90, 0x96, 0x4c, 0x21, 0xf2, 0x58, - 0x23, 0xaa, 0xd6, 0x3f, 0x8f, 0xff, 0x0f, 0x81, 0xb1, 0xf8, 0x44, 0x8f, 0xef, 0x0a, 0x74, 0x19, - 0x06, 0x3d, 0xdf, 0xf0, 0xb7, 0x3c, 0x1e, 0xed, 0xc6, 0xe6, 0x66, 0x14, 0xf5, 0xb4, 0x70, 0xd2, - 0x97, 0xb9, 0x4a, 0x0d, 0x55, 0xe9, 0x2c, 0x8c, 0x1b, 0xad, 0x56, 0xd3, 0x6a, 0x70, 0x80, 0x6b, - 0x89, 0xc3, 0xf3, 0x48, 0xe4, 0xdd, 0xe7, 0xe5, 0x69, 0xa5, 0xc3, 0x91, 0xd0, 0x38, 0xa1, 0x86, - 0x38, 0x4e, 0x69, 0xf8, 0x4a, 0x2a, 0xcc, 0xfd, 0xfe, 0x02, 0x0c, 0xf0, 0x85, 0xa2, 0x5f, 0x23, - 0x30, 0x84, 0x4d, 0x2f, 0x3a, 0x95, 0x06, 0x37, 0xa5, 0x1b, 0x59, 0x9a, 0xee, 0x2e, 0x28, 0x4c, - 0xad, 0x3d, 0xf5, 0xf5, 0x8f, 0xfe, 0xf9, 0x5e, 0x61, 0x92, 0x3e, 0xa9, 0xa7, 0xf4, 0x3d, 0x65, - 0x93, 0xec, 0xcf, 0x04, 0xc6, 0xe2, 0x8d, 0x37, 0x5a, 0xed, 0x36, 0x43, 0xbc, 0x3a, 0x5c, 0xd2, - 0x73, 0xcb, 0x23, 0x30, 0x83, 0x03, 0xfb, 0x22, 0xbd, 0xa8, 0x00, 0x56, 0xa9, 0x6f, 0x57, 0x78, - 0x1e, 0xa4, 0xef, 0xf0, 0x3f, 0xbb, 0xab, 0x33, 0xf4, 0xbc, 0x42, 0x5e, 0x8f, 0x09, 0xd3, 0x9f, - 0x13, 0x18, 0xe0, 0xb3, 0xd3, 0xb3, 0x6a, 0x74, 0x92, 0xc4, 0xb9, 0x6e, 0x62, 0x88, 0xfd, 0x06, - 0xc7, 0x7e, 0x9d, 0x9e, 0xc9, 0xc4, 0xa2, 0xef, 0x48, 0x17, 0xdd, 0x5d, 0x9d, 0xa6, 0xe7, 0x54, - 0x98, 0x43, 0x49, 0xfa, 0x11, 0x81, 0xd1, 0x68, 0x97, 0x8d, 0x5e, 0x54, 0x03, 0x8a, 0xf7, 0x02, - 0x4b, 0x95, 0x9c, 0xd2, 0xc8, 0x62, 0x9d, 0xb3, 0xf8, 0xb2, 0x62, 0x05, 0x2a, 0xd8, 0xcb, 0x8b, - 0xb2, 0xb9, 0x44, 0xab, 0xf9, 0xd8, 0xe8, 0xb2, 0x11, 0xf8, 0x36, 0x81, 0xa2, 0xac, 0xea, 0xd3, - 0x6c, 0xcf, 0x4d, 0xb4, 0xf7, 0x4a, 0xe7, 0x73, 0x48, 0x22, 0x93, 0x33, 0x9c, 0x49, 0x99, 0x9e, - 0x48, 0x43, 0x16, 0x34, 0x01, 0xbe, 0x5b, 0x80, 0x43, 0x89, 0xfe, 0x15, 0xd5, 0xbb, 0x4e, 0x12, - 0xaf, 0x9e, 0x96, 0x2e, 0xe5, 0x57, 0x40, 0x70, 0x1f, 0x10, 0x8e, 0xee, 0x7b, 0x84, 0x5e, 0x52, - 0xc1, 0x6b, 0xfb, 0x7a, 0x87, 0xeb, 0xe8, 0xb4, 0xa2, 0xd2, 0xe9, 0xf4, 0xb5, 0x59, 0xaa, 0xe7, - 0x5c, 0x9d, 0xc0, 0x2c, 0xdf, 0x28, 0xc0, 0xd1, 0xd4, 0xf6, 0x14, 0xbd, 0x9c, 0x83, 0x6b, 0x67, - 0x7f, 0xad, 0xf4, 0x74, 0xaf, 0x6a, 0x68, 0xa8, 0x37, 0xb9, 0x9d, 0xb6, 0xe9, 0x73, 0xdd, 0xcc, - 0x14, 0x5c, 0x4f, 0x2a, 0x96, 0xa9, 0xef, 0x44, 0x2f, 0x30, 0xbb, 0xab, 0xcf, 0xd2, 0x4f, 0x29, - 0x2d, 0xa6, 0xd0, 0xa5, 0x7f, 0x25, 0x51, 0x07, 0x11, 0x71, 0x30, 0x8f, 0x83, 0xc4, 0x02, 0xe1, - 0xa5, 0xfc, 0x0a, 0xc8, 0xbb, 0xc1, 0x79, 0xdf, 0x54, 0x2f, 0x75, 0x67, 0x28, 0xbc, 0x48, 0x2f, - 0x28, 0x99, 0xc6, 0x63, 0xe1, 0x7d, 0x02, 0x43, 0x08, 0x40, 0x71, 0xcc, 0xc4, 0xcb, 0xf4, 0xa5, - 0xe9, 0xee, 0x82, 0xc8, 0xe1, 0x26, 0xe7, 0xf0, 0x05, 0x3a, 0xad, 0x80, 0xa4, 0xef, 0x84, 0xa7, - 0x7a, 0x66, 0x24, 0x0f, 0xe0, 0x47, 0x85, 0xf9, 0x21, 0x89, 0xf5, 0x71, 0x05, 0xfa, 0x78, 0x2f, - 0x4c, 0x81, 0x3e, 0xd1, 0xd4, 0x52, 0x1f, 0x92, 0xb2, 0x9e, 0xfe, 0x77, 0x02, 0x87, 0x12, 0x3d, - 0x1f, 0x85, 0x77, 0xa4, 0x77, 0xa7, 0x14, 0xde, 0x91, 0xd1, 0x4e, 0xd2, 0x18, 0xc7, 0xb6, 0x96, - 0x1e, 0x75, 0x11, 0x5b, 0xdb, 0x39, 0x44, 0xb4, 0xd5, 0x77, 0xc4, 0xdf, 0xdd, 0xd5, 0x0a, 0x9d, - 0x51, 0x68, 0xe8, 0x09, 0x71, 0xfa, 0x37, 0x02, 0x63, 0xf1, 0x0e, 0x84, 0x22, 0x05, 0x48, 0x6d, - 0x2c, 0x95, 0xf4, 0xdc, 0xf2, 0x48, 0x6d, 0x83, 0x53, 0x33, 0xd2, 0x43, 0x56, 0x84, 0x5a, 0x47, - 0x94, 0xab, 0xa6, 0x9f, 0x59, 0x92, 0x5b, 0x52, 0x9e, 0xfe, 0x5b, 0xde, 0xc2, 0x23, 0x2d, 0x20, - 0x9a, 0x63, 0x29, 0x12, 0xdb, 0x61, 0xb6, 0x07, 0x0d, 0xa4, 0xe8, 0x70, 0x8a, 0x16, 0x9d, 0xef, - 0x42, 0x31, 0x75, 0x8b, 0xcc, 0xa5, 0x9f, 0x18, 0x92, 0x66, 0x9a, 0x0e, 0xfd, 0x15, 0x81, 0x01, - 0x8e, 0x46, 0x91, 0xf3, 0x44, 0x6b, 0xee, 0x8a, 0x9c, 0x27, 0x56, 0x11, 0xd7, 0xbe, 0xc4, 0x99, - 0xdc, 0xa0, 0x53, 0x99, 0x90, 0xf4, 0x9d, 0x48, 0xed, 0x22, 0x73, 0x83, 0x4b, 0xf4, 0x31, 0x61, - 0xfa, 0x7e, 0xa1, 0xbd, 0xc1, 0x79, 0x89, 0x44, 0xb9, 0xc1, 0xa3, 0x0d, 0x20, 0xe5, 0x06, 0x8f, - 0xf5, 0x75, 0xb4, 0xdf, 0x8a, 0x33, 0xf8, 0x43, 0x92, 0xb5, 0x10, 0x5c, 0x3c, 0x8e, 0xa9, 0x1d, - 0x3a, 0x79, 0x55, 0x66, 0x77, 0xf5, 0xd3, 0xe9, 0x67, 0x52, 0x2a, 0x95, 0xf0, 0x63, 0x81, 0xfa, - 0x15, 0xfa, 0xac, 0x62, 0x56, 0x2f, 0x94, 0x4c, 0xb3, 0x23, 0xfd, 0x36, 0x81, 0xa2, 0x2c, 0xca, - 0xd3, 0xae, 0x94, 0x73, 0xa4, 0x4f, 0xc9, 0x0a, 0xbf, 0x56, 0xe5, 0xc6, 0xc9, 0x48, 0x53, 0x3b, - 0x51, 0xd2, 0x7f, 0xf1, 0x48, 0x18, 0x6b, 0x9c, 0x28, 0x23, 0x61, 0x5a, 0xaf, 0x47, 0x19, 0x09, - 0x53, 0x7b, 0x32, 0xda, 0x1d, 0x0e, 0xf3, 0x75, 0xe5, 0x12, 0xf2, 0xcd, 0x94, 0xe6, 0x8d, 0x0b, - 0x74, 0xae, 0xe7, 0x25, 0xf4, 0xe8, 0x87, 0x04, 0x46, 0x22, 0x3d, 0x11, 0x3a, 0x93, 0x09, 0xba, - 0xb3, 0x3b, 0x53, 0xba, 0x98, 0x4f, 0x18, 0xd9, 0x7d, 0x8e, 0xb3, 0x5b, 0xa2, 0xa7, 0xd2, 0x60, - 0x1a, 0xcd, 0x66, 0x45, 0x82, 0x5a, 0xcd, 0xc8, 0x73, 0x03, 0xd0, 0xbf, 0x23, 0x30, 0x28, 0x3a, - 0x1d, 0x34, 0x7b, 0x73, 0xc7, 0x5a, 0x28, 0xa5, 0xa9, 0xae, 0x72, 0x88, 0xd2, 0xe4, 0x28, 0x5f, - 0x4b, 0x3f, 0xe7, 0x3d, 0x2e, 0x9b, 0x30, 0x7c, 0x97, 0x20, 0x16, 0x37, 0xbc, 0xf8, 0x02, 0xfd, - 0x0e, 0x81, 0x91, 0x48, 0xfb, 0x43, 0x61, 0xf6, 0xce, 0xfe, 0x89, 0xc2, 0xec, 0x29, 0x1d, 0x15, - 0x6d, 0x9a, 0x13, 0xd2, 0xd2, 0xcd, 0x2e, 0x7e, 0x55, 0x78, 0xaf, 0x85, 0xbe, 0x45, 0x60, 0x50, - 0xb4, 0x3a, 0x14, 0x66, 0x8d, 0x75, 0x55, 0x14, 0x66, 0x8d, 0xf7, 0x59, 0xb4, 0xb3, 0x1c, 0xc5, - 0x09, 0x5a, 0x4a, 0x4d, 0x89, 0xb8, 0xec, 0x37, 0x0b, 0x84, 0x3e, 0x20, 0x00, 0x21, 0x09, 0x7a, - 0x21, 0x07, 0x53, 0x09, 0x65, 0x26, 0x97, 0x2c, 0xc2, 0xb1, 0x38, 0x9c, 0x46, 0xc6, 0x4d, 0x2f, - 0x34, 0x8a, 0xbe, 0x13, 0xed, 0xdd, 0x64, 0xdf, 0x3e, 0x22, 0x66, 0x4c, 0xa8, 0xb4, 0xf3, 0xd2, - 0xa3, 0xa9, 0xe5, 0x62, 0xc5, 0xed, 0x43, 0x55, 0x83, 0x56, 0xdc, 0x3e, 0x94, 0x55, 0x69, 0x6d, - 0x9e, 0x73, 0xce, 0xc8, 0x9a, 0xc4, 0x6d, 0x18, 0x6b, 0xc0, 0x15, 0x23, 0xc0, 0xf8, 0x1b, 0x02, - 0xe3, 0x69, 0xf5, 0x63, 0xba, 0xa0, 0xda, 0xfb, 0x59, 0xb5, 0xed, 0xd2, 0xe5, 0x1e, 0xb5, 0x10, - 0xfa, 0x1c, 0x87, 0x9e, 0x71, 0x1f, 0xc0, 0x62, 0x6c, 0x25, 0x46, 0xc1, 0xa3, 0xef, 0x10, 0x28, - 0xca, 0x62, 0x32, 0xed, 0x52, 0x4e, 0x0a, 0xeb, 0xd0, 0x8a, 0x53, 0x25, 0x59, 0x99, 0x46, 0x9f, - 0x3e, 0x49, 0x27, 0xb3, 0x0d, 0xba, 0xce, 0x18, 0xfd, 0x25, 0x81, 0x23, 0x29, 0xc5, 0x66, 0x3a, - 0xdf, 0xcd, 0x16, 0x29, 0xd5, 0xeb, 0xd2, 0x42, 0x6f, 0x4a, 0x88, 0x74, 0x96, 0x23, 0xcd, 0xc8, - 0x57, 0xa4, 0xfd, 0x44, 0xa5, 0xbb, 0x22, 0x2a, 0xdd, 0xf4, 0x0f, 0x04, 0x9e, 0xe8, 0xa8, 0x23, - 0xd2, 0xd9, 0x6e, 0xf7, 0xa5, 0x8e, 0xb2, 0x77, 0x69, 0xae, 0x17, 0x15, 0xc4, 0xfb, 0x22, 0xc7, - 0xbb, 0x48, 0xaf, 0xe6, 0xbd, 0x6c, 0xe9, 0x91, 0xca, 0x6d, 0x34, 0x2f, 0xbe, 0x4f, 0x80, 0x76, - 0x56, 0x8a, 0x69, 0x0f, 0x98, 0x02, 0xcb, 0xcf, 0xf7, 0xa4, 0x83, 0x44, 0xae, 0x70, 0x22, 0x4f, - 0xd3, 0x85, 0xc7, 0x21, 0xb2, 0xf4, 0xea, 0x9f, 0x1e, 0x96, 0xc9, 0x83, 0x87, 0x65, 0xf2, 0x8f, - 0x87, 0x65, 0xf2, 0xee, 0xa3, 0xf2, 0xbe, 0x07, 0x8f, 0xca, 0xfb, 0xfe, 0xf2, 0xa8, 0xbc, 0x6f, - 0xf5, 0xea, 0x86, 0xe5, 0xdf, 0xda, 0xaa, 0x57, 0x1b, 0xce, 0xa6, 0xf8, 0x72, 0xc5, 0x66, 0xfe, - 0x3d, 0xc7, 0x7d, 0x1d, 0x9f, 0x9a, 0xcc, 0xdc, 0x60, 0xae, 0xfe, 0x46, 0x64, 0x42, 0xfe, 0xdf, - 0x28, 0x22, 0x42, 0xdd, 0x9d, 0xad, 0x0f, 0xf2, 0x66, 0xdf, 0xfc, 0x7f, 0x03, 0x00, 0x00, 0xff, - 0xff, 0xb3, 0x37, 0xda, 0x06, 0x0c, 0x33, 0x00, 0x00, + 0xf5, 0xef, 0xdd, 0xc4, 0xf6, 0xfa, 0xd8, 0x75, 0xd2, 0x1b, 0x27, 0x5f, 0x67, 0x1b, 0x6f, 0x92, + 0x69, 0x12, 0x3b, 0x71, 0x76, 0x27, 0xfe, 0x91, 0x2f, 0xf4, 0x07, 0x0d, 0xb6, 0x43, 0x8b, 0x1f, + 0x90, 0xd2, 0x6d, 0x15, 0x54, 0x43, 0x6a, 0x66, 0x77, 0xae, 0x9d, 0x49, 0xd7, 0x3b, 0x9b, 0x99, + 0x71, 0x52, 0x63, 0x99, 0x16, 0xa4, 0x16, 0x9e, 0xa0, 0xa2, 0x08, 0xf5, 0xa5, 0xe2, 0x87, 0xe0, + 0x01, 0x1e, 0x10, 0x2a, 0x20, 0x84, 0xfa, 0xc0, 0x03, 0x12, 0xe2, 0x31, 0x52, 0x79, 0xe0, 0xc7, + 0x0b, 0x4a, 0x10, 0xf0, 0xc0, 0x1b, 0xff, 0x00, 0xda, 0x7b, 0xcf, 0x9d, 0x5f, 0x7b, 0xe7, 0xee, + 0x38, 0x6c, 0x2b, 0x3f, 0x79, 0xe7, 0xce, 0x39, 0x73, 0x3f, 0x9f, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, + 0x73, 0x64, 0x28, 0x7b, 0x6c, 0x83, 0xb5, 0x4c, 0xd6, 0x70, 0x1b, 0x1e, 0xb3, 0x9d, 0xc0, 0xbc, + 0x33, 0x6b, 0xde, 0xde, 0x62, 0xde, 0x76, 0xb5, 0xed, 0xb9, 0x81, 0x4b, 0x29, 0x7f, 0x5f, 0x0d, + 0xdf, 0x57, 0xef, 0xcc, 0x96, 0x2e, 0x34, 0x5c, 0x7f, 0xd3, 0xf5, 0xcd, 0xba, 0xe5, 0x33, 0x21, + 0x6c, 0xde, 0x99, 0xad, 0xb3, 0xc0, 0x9a, 0x35, 0xdb, 0xd6, 0x86, 0xd3, 0xb2, 0x02, 0xc7, 0x6d, + 0x09, 0xfd, 0x52, 0x39, 0x2e, 0x2b, 0xa5, 0x1a, 0xae, 0x23, 0xdf, 0x9f, 0xd8, 0x70, 0xdd, 0x8d, + 0x26, 0x33, 0xad, 0xb6, 0x63, 0x5a, 0xad, 0x96, 0x1b, 0x70, 0x65, 0x1f, 0xdf, 0x9e, 0xc4, 0xb7, + 0xfc, 0xa9, 0xbe, 0xb5, 0x6e, 0x06, 0xce, 0x26, 0xf3, 0x03, 0x6b, 0xb3, 0x2d, 0x3f, 0xaf, 0x80, + 0xef, 0x07, 0x56, 0xc0, 0x34, 0xef, 0x83, 0xed, 0x36, 0xc3, 0x09, 0x8c, 0x1b, 0x70, 0xe4, 0x85, + 0x0e, 0x81, 0xe5, 0xa6, 0xe5, 0xfb, 0xcc, 0xaf, 0xb1, 0xdb, 0x5b, 0xcc, 0x0f, 0xe8, 0x73, 0x00, + 0x11, 0x93, 0x09, 0x72, 0x8a, 0x4c, 0x8f, 0xcc, 0x9d, 0xab, 0x0a, 0x2a, 0xd5, 0x0e, 0x95, 0xaa, + 0xb0, 0x11, 0x12, 0xaa, 0x5e, 0xb3, 0x36, 0x18, 0xea, 0xd6, 0x62, 0x9a, 0xc6, 0xbb, 0x04, 0xc6, + 0x93, 0xdf, 0xf7, 0xdb, 0x6e, 0xcb, 0x67, 0xf4, 0x13, 0x30, 0xd4, 0x10, 0x43, 0x13, 0xe4, 0xd4, + 0x81, 0xe9, 0x91, 0xb9, 0xc9, 0x6a, 0xb7, 0xa1, 0xab, 0x5c, 0x6b, 0xa5, 0xb5, 0xee, 0xd6, 0xa4, + 0x34, 0x7d, 0x3e, 0x81, 0xac, 0xc0, 0x91, 0x4d, 0xf5, 0x44, 0x26, 0x66, 0x4d, 0x40, 0xfb, 0x32, + 0x94, 0xe2, 0xc8, 0x96, 0xb6, 0x17, 0xed, 0x4d, 0xa7, 0x25, 0x0d, 0x30, 0x0e, 0x03, 0x56, 0xe7, + 0x99, 0x73, 0x1f, 0xae, 0x89, 0x87, 0x94, 0x59, 0x0a, 0x0f, 0x6d, 0x96, 0xef, 0x11, 0x78, 0x5c, + 0x39, 0xf9, 0xbe, 0xb1, 0x4e, 0x15, 0x1e, 0x8b, 0x00, 0x4a, 0xa3, 0x1c, 0x87, 0x22, 0x9f, 0x68, + 0xcd, 0xb1, 0xd1, 0x2e, 0x62, 0xe2, 0x15, 0xdb, 0x58, 0x01, 0x1a, 0x97, 0x47, 0x1e, 0xf3, 0x30, + 0xc0, 0x05, 0xd0, 0x83, 0x7a, 0xb0, 0x10, 0xb2, 0xc6, 0x2e, 0x4c, 0x44, 0x9f, 0x5a, 0xf1, 0xfd, + 0x2d, 0xe6, 0xe5, 0x40, 0xd0, 0xb7, 0xb5, 0xf9, 0x0a, 0x1c, 0x57, 0x4c, 0x8f, 0x84, 0x26, 0x60, + 0xc8, 0x11, 0x43, 0x7c, 0x61, 0x86, 0x6b, 0xf2, 0xb1, 0x7f, 0x96, 0x7f, 0x05, 0x77, 0xcc, 0x35, + 0xcf, 0xbd, 0xc5, 0x1a, 0x41, 0xdf, 0xb7, 0xe4, 0x7b, 0x04, 0x8e, 0xa6, 0x26, 0x40, 0x72, 0x4f, + 0x43, 0xb1, 0x8d, 0x63, 0xe8, 0x76, 0x27, 0x55, 0x0b, 0x86, 0x7a, 0x7c, 0xc9, 0x42, 0x85, 0xfe, + 0xf1, 0x7f, 0x43, 0xee, 0x0d, 0x89, 0x6f, 0x29, 0xaf, 0x13, 0xf6, 0xcd, 0x05, 0x7e, 0x44, 0xe0, + 0x84, 0x1a, 0xc2, 0xbe, 0xb2, 0xd4, 0x37, 0x09, 0x9c, 0x4e, 0xc1, 0xac, 0xb1, 0x75, 0xe6, 0xb1, + 0x56, 0x83, 0xad, 0xd8, 0xd2, 0x5e, 0xa7, 0x61, 0xd4, 0x93, 0xa3, 0x91, 0xcd, 0x46, 0xbc, 0x48, + 0xb2, 0x6f, 0x76, 0xfb, 0x29, 0x01, 0x43, 0x07, 0x68, 0x5f, 0x59, 0x6f, 0xa7, 0xcb, 0xcd, 0x3e, + 0xc6, 0x03, 0x40, 0xe1, 0x61, 0xc9, 0x13, 0x60, 0x7f, 0xd8, 0x68, 0x01, 0xb3, 0x03, 0x9c, 0x46, + 0xda, 0x66, 0x12, 0x00, 0xe7, 0x8a, 0x1c, 0x6a, 0x18, 0x47, 0x56, 0x6c, 0xe3, 0x85, 0x64, 0x04, + 0x0b, 0x39, 0x3d, 0x09, 0x43, 0x28, 0x84, 0xe1, 0xab, 0x27, 0x25, 0x29, 0x1f, 0xa6, 0x29, 0x4b, + 0x56, 0xd0, 0xb8, 0xf9, 0x11, 0xa6, 0x29, 0xe1, 0xf7, 0xa3, 0x83, 0xb8, 0x2e, 0x86, 0x74, 0x07, + 0x31, 0xd7, 0x12, 0x80, 0x51, 0xba, 0x7f, 0x4b, 0xb0, 0x8b, 0x6e, 0x8a, 0xc8, 0x96, 0xb6, 0xc5, + 0x91, 0x24, 0x2d, 0x70, 0x0c, 0x06, 0xc5, 0x09, 0x84, 0xcb, 0x80, 0x4f, 0x7d, 0x73, 0xd4, 0xef, + 0x4b, 0x47, 0xed, 0x9a, 0x7f, 0xdf, 0x58, 0xe8, 0x75, 0x4c, 0xe4, 0x42, 0x84, 0x1f, 0xf7, 0x71, + 0xf1, 0x66, 0x97, 0x8d, 0xf6, 0xb4, 0x5f, 0xfa, 0x86, 0xe3, 0x07, 0x04, 0x26, 0x33, 0x70, 0xec, + 0x9b, 0xc5, 0x0a, 0x33, 0xdf, 0xf4, 0x6a, 0xed, 0x1b, 0x84, 0x0b, 0x98, 0xf9, 0xf2, 0x39, 0xe4, + 0x0a, 0x9e, 0x84, 0x11, 0x3e, 0xd1, 0x9a, 0xcd, 0x5a, 0xee, 0x26, 0x2e, 0x21, 0xf0, 0xa1, 0xab, + 0x9d, 0x91, 0x30, 0xff, 0x45, 0xad, 0x28, 0xff, 0xe5, 0x32, 0xba, 0xfc, 0x37, 0xe2, 0x22, 0x64, + 0x8d, 0x6b, 0x61, 0xac, 0x6b, 0x5a, 0xad, 0x86, 0x5c, 0xe9, 0x4e, 0xea, 0x69, 0xd9, 0xb6, 0xc7, + 0x30, 0x9b, 0x1e, 0xae, 0xc9, 0xc7, 0x34, 0xb8, 0x42, 0x17, 0xb8, 0xeb, 0x61, 0x74, 0xc3, 0x2f, + 0x22, 0xbc, 0x67, 0x3b, 0xc6, 0xe6, 0x43, 0x08, 0xf0, 0x4c, 0x26, 0x40, 0x54, 0x95, 0x36, 0xe7, + 0x0f, 0xc6, 0x6b, 0xc9, 0xef, 0xfa, 0xbd, 0xa1, 0xf6, 0xcb, 0xd5, 0x7f, 0x28, 0x93, 0xd8, 0x68, + 0x6a, 0xe4, 0xf4, 0x69, 0x28, 0x22, 0x3c, 0xe9, 0x41, 0xf9, 0x48, 0x85, 0x5a, 0xfd, 0xf3, 0xa4, + 0xb7, 0x22, 0x5f, 0x17, 0x9f, 0x5e, 0xda, 0x9b, 0x53, 0xf5, 0xcd, 0x5a, 0x3f, 0x89, 0x02, 0x54, + 0x0a, 0xc8, 0xfe, 0x33, 0x9a, 0x05, 0xff, 0xc7, 0xa1, 0x2e, 0x36, 0x9b, 0x69, 0xb7, 0xea, 0xd7, + 0x69, 0xff, 0x63, 0x82, 0x37, 0xcc, 0xc4, 0x1c, 0xfb, 0xcf, 0x14, 0x97, 0x31, 0xa6, 0xbc, 0xb8, + 0xd5, 0x6e, 0x37, 0xb7, 0x73, 0x87, 0xa2, 0xb7, 0x09, 0x06, 0x10, 0xa9, 0x87, 0xcc, 0xa6, 0xe0, + 0x50, 0xe0, 0x59, 0xb6, 0x55, 0x6f, 0xb2, 0x35, 0x6b, 0xd3, 0xdd, 0x6a, 0x05, 0xa8, 0x3c, 0x26, + 0x87, 0x17, 0xf9, 0x28, 0x3d, 0x0b, 0x63, 0x1e, 0x0b, 0x1c, 0x8f, 0xd9, 0x52, 0x4e, 0x84, 0x94, + 0x47, 0x71, 0x14, 0xc5, 0xce, 0xc3, 0xe1, 0x46, 0x87, 0x71, 0xb3, 0x19, 0x09, 0x1e, 0xe0, 0x82, + 0x87, 0xc2, 0x71, 0x21, 0x6a, 0x1c, 0xc7, 0x45, 0x5d, 0xe6, 0xf6, 0x7b, 0x69, 0xbb, 0x1d, 0x2e, + 0xaa, 0x71, 0x43, 0xde, 0xf6, 0xe3, 0xaf, 0x10, 0xf1, 0x22, 0x8c, 0x0a, 0x8b, 0xaf, 0xf1, 0x92, + 0x15, 0xae, 0x47, 0x59, 0x59, 0x45, 0x08, 0xd5, 0x6b, 0x23, 0x8d, 0xe8, 0x53, 0xc6, 0x38, 0xda, + 0xf0, 0x9a, 0xe5, 0x59, 0x9b, 0xe1, 0xa4, 0x2b, 0x32, 0xaf, 0xc5, 0x51, 0x9c, 0x6f, 0x0e, 0x06, + 0xdb, 0x7c, 0x04, 0x9d, 0xab, 0xa4, 0xcc, 0x4f, 0x85, 0x0e, 0x4a, 0x1a, 0xcf, 0xc0, 0xb1, 0x14, + 0x7e, 0xb9, 0x50, 0x06, 0x8c, 0x5a, 0xf5, 0xba, 0xc7, 0xee, 0x38, 0x91, 0xc3, 0x0e, 0xd7, 0x12, + 0x63, 0xc6, 0x6a, 0x97, 0x61, 0x42, 0x30, 0x57, 0x60, 0x24, 0x46, 0x1e, 0x11, 0xf5, 0xe2, 0x0e, + 0x11, 0x77, 0x63, 0x07, 0x86, 0xc3, 0xda, 0x0a, 0x1d, 0x83, 0x42, 0x98, 0x7a, 0x14, 0x1c, 0x3b, + 0xba, 0xde, 0x14, 0xe2, 0xd7, 0x9b, 0x12, 0x14, 0x37, 0x59, 0x60, 0xd9, 0x56, 0x60, 0xe1, 0x52, + 0x86, 0xcf, 0xf4, 0x22, 0xd0, 0x18, 0x9e, 0x35, 0x41, 0x63, 0xe2, 0x20, 0x97, 0x3a, 0x1c, 0x4d, + 0xbb, 0xc8, 0xc7, 0x8d, 0x5f, 0x11, 0x18, 0x89, 0x65, 0xf2, 0x39, 0xe7, 0x9f, 0x8c, 0x25, 0x6b, + 0x7c, 0xfe, 0xa5, 0xc2, 0x04, 0x89, 0x12, 0x36, 0x03, 0x46, 0x6f, 0x6d, 0x79, 0x8e, 0x6f, 0x3b, + 0x0d, 0x6e, 0x51, 0x31, 0x79, 0x62, 0x2c, 0x41, 0x61, 0x20, 0x45, 0x21, 0x7d, 0x15, 0x1e, 0xec, + 0xba, 0x0a, 0x1b, 0x1f, 0x14, 0x60, 0x38, 0x3c, 0x91, 0x33, 0xb3, 0xeb, 0x64, 0x42, 0x57, 0x48, + 0x27, 0x74, 0xe3, 0x30, 0x20, 0x36, 0xa7, 0xb0, 0xa1, 0x78, 0x48, 0x20, 0x3b, 0x98, 0x42, 0xf6, + 0x24, 0x80, 0x1f, 0x58, 0x5e, 0xb0, 0x66, 0x5b, 0x01, 0xe3, 0xb8, 0x3b, 0xde, 0x27, 0x8a, 0xbf, + 0x55, 0x59, 0xfc, 0xad, 0xbe, 0x24, 0x8b, 0xbf, 0xb5, 0x61, 0x2e, 0x7d, 0xd5, 0x0a, 0x18, 0xbd, + 0x0c, 0x45, 0xd6, 0xb2, 0x85, 0xe2, 0x60, 0x4f, 0xc5, 0x21, 0xd6, 0xb2, 0xb9, 0xda, 0x15, 0x78, + 0xb4, 0x43, 0xa6, 0xb3, 0x51, 0x85, 0xee, 0x50, 0x4f, 0xdd, 0x51, 0xa9, 0xc0, 0x3f, 0x40, 0xe1, + 0xa0, 0xdb, 0x66, 0xad, 0x89, 0xe2, 0x29, 0x32, 0x5d, 0xac, 0xf1, 0xdf, 0xc6, 0xef, 0x09, 0x1c, + 0x4e, 0x47, 0xc6, 0xff, 0x21, 0x71, 0x51, 0x85, 0xac, 0x03, 0x39, 0x43, 0xd6, 0x41, 0x55, 0xc8, + 0x9a, 0x82, 0x43, 0xcc, 0x6f, 0x78, 0xee, 0xdd, 0x48, 0x4e, 0xf8, 0xc8, 0x98, 0x1c, 0xc6, 0x80, + 0xf5, 0x04, 0x56, 0x56, 0xf8, 0x06, 0x5a, 0xf6, 0x98, 0x15, 0xb8, 0xde, 0x62, 0xb3, 0xe9, 0xde, + 0x6d, 0x3a, 0xbe, 0x4c, 0xeb, 0x8d, 0x67, 0xb1, 0xda, 0x91, 0x21, 0x14, 0x95, 0x0c, 0x59, 0xab, + 0x03, 0x55, 0xb8, 0x7f, 0xb1, 0x26, 0x1f, 0x8d, 0x5b, 0x70, 0x4a, 0x1e, 0x43, 0x9d, 0xa9, 0xe3, + 0x9f, 0xe9, 0xfb, 0x99, 0xf7, 0x8e, 0xac, 0x15, 0xa9, 0x27, 0x43, 0xac, 0x67, 0x61, 0x4c, 0xec, + 0xbf, 0x06, 0xbe, 0xc1, 0x2a, 0xe7, 0xa3, 0x8d, 0xb8, 0x78, 0xff, 0x4e, 0xb8, 0x63, 0xf1, 0xee, + 0xc0, 0x73, 0x4c, 0x22, 0x37, 0xae, 0x62, 0x76, 0x17, 0x8d, 0x23, 0xc0, 0x19, 0x38, 0xb0, 0xce, + 0x64, 0x30, 0x3c, 0x9e, 0x98, 0x52, 0x4e, 0xb6, 0xec, 0x3a, 0xad, 0x5a, 0x47, 0xca, 0x38, 0x0d, + 0x27, 0xe3, 0x94, 0x97, 0x3c, 0xc7, 0xde, 0x60, 0xcb, 0x37, 0x2d, 0xa7, 0x15, 0x1e, 0x04, 0xd7, + 0x93, 0x4b, 0x90, 0x14, 0x09, 0x4f, 0x85, 0xa3, 0x96, 0x78, 0xbd, 0x56, 0xe7, 0xef, 0xd7, 0x1a, + 0x5c, 0x00, 0x6d, 0x73, 0xc4, 0xea, 0xd6, 0x35, 0x5e, 0xc6, 0x9b, 0x18, 0x86, 0xc0, 0xcf, 0xb4, + 0x3c, 0xb7, 0xd9, 0xdc, 0x64, 0xad, 0xbc, 0x57, 0xc2, 0xf8, 0xad, 0xb5, 0x90, 0xac, 0xb4, 0xdb, + 0x50, 0xce, 0xfa, 0x34, 0x02, 0x5e, 0x02, 0x60, 0xe1, 0x28, 0xda, 0xca, 0x50, 0x1d, 0x1c, 0x91, + 0x2e, 0x4f, 0x61, 0x62, 0x5a, 0x9d, 0x04, 0x3b, 0x63, 0x1a, 0xff, 0x21, 0x28, 0x1c, 0xf8, 0x68, + 0x2e, 0xde, 0x3f, 0x27, 0xb8, 0xc2, 0x2a, 0x90, 0x68, 0x8c, 0xab, 0x30, 0x12, 0xd1, 0x92, 0x29, + 0x44, 0x1e, 0x6b, 0xc4, 0xd5, 0xfa, 0xe7, 0xf1, 0xff, 0x21, 0x30, 0x96, 0x9c, 0xe8, 0xe1, 0x5d, + 0x81, 0x2e, 0xc3, 0xa0, 0x1f, 0x58, 0xc1, 0x96, 0xcf, 0xa3, 0xdd, 0xd8, 0xdc, 0x8c, 0xa6, 0x9e, + 0x16, 0x4d, 0xfa, 0x22, 0x57, 0xa9, 0xa1, 0x2a, 0x9d, 0x85, 0x71, 0xab, 0xdd, 0x6e, 0x3a, 0x0d, + 0x0e, 0x70, 0x2d, 0x75, 0x78, 0x1e, 0x89, 0xbd, 0xfb, 0x9c, 0x3c, 0xad, 0x4c, 0x38, 0x12, 0x19, + 0x27, 0xd2, 0x10, 0xc7, 0x29, 0x8d, 0x5e, 0x49, 0x85, 0xb9, 0x7f, 0x5f, 0x80, 0x01, 0xbe, 0x50, + 0xf4, 0xab, 0x04, 0x86, 0xb0, 0xe9, 0x45, 0xa7, 0x54, 0x70, 0x15, 0xdd, 0xc8, 0xd2, 0x74, 0x6f, + 0x41, 0x61, 0x6a, 0xe3, 0x89, 0xaf, 0x7d, 0xf8, 0xf7, 0x77, 0x0a, 0x93, 0xf4, 0x71, 0x53, 0xd1, + 0xf7, 0x94, 0x4d, 0xb2, 0x3f, 0x12, 0x18, 0x4b, 0x36, 0xde, 0x68, 0xb5, 0xd7, 0x0c, 0xc9, 0xea, + 0x70, 0xc9, 0xcc, 0x2d, 0x8f, 0xc0, 0x2c, 0x0e, 0xec, 0x0b, 0xf4, 0xa2, 0x06, 0x58, 0xa5, 0xbe, + 0x5d, 0xe1, 0x79, 0x90, 0xb9, 0xc3, 0xff, 0xec, 0xae, 0xce, 0xd0, 0xf3, 0x1a, 0x79, 0x33, 0x21, + 0x4c, 0x7f, 0x46, 0x60, 0x80, 0xcf, 0x4e, 0xcf, 0xea, 0xd1, 0x49, 0x12, 0xe7, 0x7a, 0x89, 0x21, + 0xf6, 0xeb, 0x1c, 0xfb, 0x35, 0x7a, 0x26, 0x13, 0x8b, 0xb9, 0x23, 0x5d, 0x74, 0x77, 0x75, 0x9a, + 0x9e, 0xd3, 0x61, 0x8e, 0x24, 0xe9, 0x87, 0x04, 0x46, 0xe3, 0x5d, 0x36, 0x7a, 0x51, 0x0f, 0x28, + 0xd9, 0x0b, 0x2c, 0x55, 0x72, 0x4a, 0x23, 0x8b, 0x75, 0xce, 0xe2, 0x4b, 0x9a, 0x15, 0xa8, 0x60, + 0x2f, 0x2f, 0xce, 0xe6, 0x12, 0xad, 0xe6, 0x63, 0x63, 0xca, 0x46, 0xe0, 0x9b, 0x04, 0x8a, 0xb2, + 0xaa, 0x4f, 0xb3, 0x3d, 0x37, 0xd5, 0xde, 0x2b, 0x9d, 0xcf, 0x21, 0x89, 0x4c, 0xce, 0x70, 0x26, + 0x65, 0x7a, 0x42, 0x85, 0x2c, 0x6c, 0x02, 0x7c, 0xa7, 0x00, 0x87, 0x52, 0xfd, 0x2b, 0x6a, 0xf6, + 0x9c, 0x24, 0x59, 0x3d, 0x2d, 0x5d, 0xca, 0xaf, 0x80, 0xe0, 0xde, 0x23, 0x1c, 0xdd, 0x77, 0x09, + 0xbd, 0xa4, 0x83, 0xd7, 0xf1, 0xf5, 0x2e, 0xd7, 0x31, 0x69, 0x45, 0xa7, 0xd3, 0xed, 0x6b, 0xb3, + 0xd4, 0xcc, 0xb9, 0x3a, 0xa1, 0x59, 0xbe, 0x5e, 0x80, 0xa3, 0xca, 0xf6, 0x14, 0xbd, 0x9c, 0x83, + 0x6b, 0x77, 0x7f, 0xad, 0xf4, 0xff, 0x7b, 0x55, 0x43, 0x43, 0xbd, 0xce, 0xed, 0xb4, 0x4d, 0x9f, + 0xee, 0x65, 0xa6, 0xf0, 0x7a, 0x52, 0x71, 0x6c, 0x73, 0x27, 0x7e, 0x81, 0xd9, 0x5d, 0x7d, 0x8a, + 0x7e, 0x52, 0x6b, 0x31, 0x8d, 0x2e, 0xfd, 0x33, 0x89, 0x3b, 0x88, 0x88, 0x83, 0x79, 0x1c, 0x24, + 0x11, 0x08, 0x2f, 0xe5, 0x57, 0x40, 0xde, 0x0d, 0xce, 0xfb, 0x86, 0x7e, 0xa9, 0xbb, 0x43, 0xe1, + 0x45, 0x7a, 0x41, 0xcb, 0x34, 0x19, 0x0b, 0x3f, 0x20, 0x30, 0x84, 0x00, 0x34, 0xc7, 0x4c, 0xb2, + 0x4c, 0x5f, 0x9a, 0xee, 0x2d, 0x88, 0x1c, 0x6e, 0x70, 0x0e, 0x9f, 0xa7, 0xd3, 0x1a, 0x48, 0xe6, + 0x4e, 0x74, 0xaa, 0x67, 0x46, 0xf2, 0x10, 0x7e, 0x5c, 0x98, 0x1f, 0x92, 0x58, 0x1f, 0xd7, 0xa0, + 0x4f, 0xf6, 0xc2, 0x34, 0xe8, 0x53, 0x4d, 0x2d, 0xfd, 0x21, 0x29, 0xeb, 0xe9, 0x7f, 0x25, 0x70, + 0x28, 0xd5, 0xf3, 0xd1, 0x78, 0x87, 0xba, 0x3b, 0xa5, 0xf1, 0x8e, 0x8c, 0x76, 0x92, 0xc1, 0x38, + 0xb6, 0x35, 0x75, 0xd4, 0x45, 0x6c, 0x1d, 0xe7, 0x10, 0xd1, 0xd6, 0xdc, 0x11, 0x7f, 0x77, 0x57, + 0x2b, 0x74, 0x46, 0xa3, 0x61, 0xa6, 0xc4, 0xe9, 0x5f, 0x08, 0x8c, 0x25, 0x3b, 0x10, 0x9a, 0x14, + 0x40, 0xd9, 0x58, 0x2a, 0x99, 0xb9, 0xe5, 0x91, 0xda, 0x06, 0xa7, 0x66, 0xa9, 0x43, 0x56, 0x8c, + 0x5a, 0x57, 0x94, 0xab, 0xaa, 0xcf, 0x2c, 0xc9, 0x2d, 0x2d, 0x4f, 0xff, 0x25, 0x6f, 0xe1, 0xb1, + 0x16, 0x10, 0xcd, 0xb1, 0x14, 0xa9, 0xed, 0x30, 0xbb, 0x07, 0x0d, 0xa4, 0xe8, 0x72, 0x8a, 0x0e, + 0x9d, 0xef, 0x41, 0x51, 0xb9, 0x45, 0xe6, 0xd4, 0x27, 0x86, 0xa4, 0xa9, 0xd2, 0xa1, 0xbf, 0x24, + 0x30, 0xc0, 0xd1, 0x68, 0x72, 0x9e, 0x78, 0xcd, 0x5d, 0x93, 0xf3, 0x24, 0x2a, 0xe2, 0xc6, 0x17, + 0x39, 0x93, 0xeb, 0x74, 0x2a, 0x13, 0x92, 0xb9, 0x13, 0xab, 0x5d, 0x64, 0x6e, 0x70, 0x89, 0x3e, + 0x21, 0x4c, 0xdf, 0x2d, 0x74, 0x36, 0x38, 0x2f, 0x91, 0x68, 0x37, 0x78, 0xbc, 0x01, 0xa4, 0xdd, + 0xe0, 0x89, 0xbe, 0x8e, 0xf1, 0x1b, 0x71, 0x06, 0xbf, 0x4f, 0xb2, 0x16, 0x82, 0x8b, 0x27, 0x31, + 0x75, 0x42, 0x27, 0xaf, 0xca, 0xec, 0xae, 0x7e, 0x4a, 0x7d, 0x26, 0x29, 0xa9, 0x44, 0x1f, 0x0b, + 0xd5, 0x9f, 0xa1, 0x4f, 0x69, 0x66, 0xf5, 0x23, 0x49, 0x95, 0x1d, 0xe9, 0xb7, 0x08, 0x14, 0x65, + 0x51, 0x9e, 0xf6, 0xa4, 0x9c, 0x23, 0x7d, 0x4a, 0x57, 0xf8, 0x8d, 0x2a, 0x37, 0x4e, 0x46, 0x9a, + 0xda, 0x8d, 0x92, 0xfe, 0x93, 0x47, 0xc2, 0x44, 0xe3, 0x44, 0x1b, 0x09, 0x55, 0xbd, 0x1e, 0x6d, + 0x24, 0x54, 0xf6, 0x64, 0x8c, 0xdb, 0x1c, 0xe6, 0xab, 0xda, 0x25, 0xe4, 0x9b, 0x49, 0xe5, 0x8d, + 0x0b, 0x74, 0x6e, 0xcf, 0x4b, 0xe8, 0xd3, 0xf7, 0x09, 0x8c, 0xc4, 0x7a, 0x22, 0x74, 0x26, 0x13, + 0x74, 0x77, 0x77, 0xa6, 0x74, 0x31, 0x9f, 0x30, 0xb2, 0xfb, 0x2c, 0x67, 0xb7, 0x44, 0x4f, 0xa9, + 0x60, 0x5a, 0xcd, 0x66, 0x45, 0x82, 0x5a, 0xcd, 0xc8, 0x73, 0x43, 0xd0, 0xbf, 0x25, 0x30, 0x28, + 0x3a, 0x1d, 0x34, 0x7b, 0x73, 0x27, 0x5a, 0x28, 0xa5, 0xa9, 0x9e, 0x72, 0x88, 0xd2, 0xe6, 0x28, + 0x5f, 0x51, 0x9f, 0xf3, 0x3e, 0x97, 0x4d, 0x19, 0xbe, 0x47, 0x10, 0x4b, 0x1a, 0x5e, 0x7c, 0x81, + 0x7e, 0x9b, 0xc0, 0x48, 0xac, 0xfd, 0xa1, 0x31, 0x7b, 0x77, 0xff, 0x44, 0x63, 0x76, 0x45, 0x47, + 0xc5, 0x98, 0xe6, 0x84, 0x0c, 0xb5, 0xd9, 0xc5, 0xaf, 0x0a, 0xef, 0xb5, 0xd0, 0x37, 0x08, 0x0c, + 0x8a, 0x56, 0x87, 0xc6, 0xac, 0x89, 0xae, 0x8a, 0xc6, 0xac, 0xc9, 0x3e, 0x8b, 0x71, 0x96, 0xa3, + 0x38, 0x41, 0x4b, 0xca, 0x94, 0x88, 0xcb, 0x7e, 0xa3, 0x40, 0xe8, 0x3d, 0x02, 0x10, 0x91, 0xa0, + 0x17, 0x72, 0x30, 0x95, 0x50, 0x66, 0x72, 0xc9, 0x22, 0x1c, 0x87, 0xc3, 0x69, 0x64, 0xdc, 0xf4, + 0x22, 0xa3, 0x98, 0x3b, 0xf1, 0xde, 0x4d, 0xf6, 0xed, 0x23, 0x66, 0xc6, 0x94, 0x4a, 0x27, 0x2f, + 0x3d, 0xaa, 0x2c, 0x17, 0x6b, 0x6e, 0x1f, 0xba, 0x1a, 0xb4, 0xe6, 0xf6, 0xa1, 0xad, 0x4a, 0x1b, + 0xf3, 0x9c, 0x73, 0x46, 0xd6, 0x24, 0x6e, 0xc3, 0x58, 0x03, 0xae, 0x58, 0x21, 0xc6, 0x5f, 0x13, + 0x18, 0x57, 0xd5, 0x8f, 0xe9, 0x82, 0x6e, 0xef, 0x67, 0xd5, 0xb6, 0x4b, 0x97, 0xf7, 0xa8, 0x85, + 0xd0, 0xe7, 0x38, 0xf4, 0x8c, 0xfb, 0x00, 0x16, 0x63, 0x2b, 0x09, 0x0a, 0x3e, 0x7d, 0x8b, 0x40, + 0x51, 0x16, 0x93, 0x69, 0x8f, 0x72, 0x52, 0x54, 0x87, 0xd6, 0x9c, 0x2a, 0xe9, 0xca, 0x34, 0xfa, + 0xf4, 0x49, 0x3a, 0x99, 0x6d, 0xd0, 0x75, 0xc6, 0xe8, 0x2f, 0x08, 0x1c, 0x51, 0x14, 0x9b, 0xe9, + 0x7c, 0x2f, 0x5b, 0x28, 0xaa, 0xd7, 0xa5, 0x85, 0xbd, 0x29, 0x21, 0xd2, 0x59, 0x8e, 0x34, 0x23, + 0x5f, 0x91, 0xf6, 0x13, 0x95, 0xee, 0x8a, 0xa8, 0x74, 0xd3, 0xdf, 0x11, 0x78, 0xac, 0xab, 0x8e, + 0x48, 0x67, 0x7b, 0xdd, 0x97, 0xba, 0xca, 0xde, 0xa5, 0xb9, 0xbd, 0xa8, 0x20, 0xde, 0xe7, 0x39, + 0xde, 0x45, 0x7a, 0x25, 0xef, 0x65, 0xcb, 0x8c, 0x55, 0x6e, 0xe3, 0x79, 0xf1, 0x3f, 0x08, 0xd0, + 0xee, 0x4a, 0x31, 0xdd, 0x03, 0xa6, 0xd0, 0xf2, 0xf3, 0x7b, 0xd2, 0x49, 0x5d, 0x00, 0x16, 0x1e, + 0x86, 0xc8, 0xea, 0x79, 0x75, 0x2e, 0x2a, 0xf5, 0x62, 0xa2, 0x4b, 0x2f, 0xff, 0xe1, 0x7e, 0x99, + 0xdc, 0xbb, 0x5f, 0x26, 0x7f, 0xbb, 0x5f, 0x26, 0x6f, 0x3f, 0x28, 0x3f, 0x72, 0xef, 0x41, 0xf9, + 0x91, 0x3f, 0x3d, 0x28, 0x3f, 0xb2, 0x7a, 0x65, 0xc3, 0x09, 0x6e, 0x6e, 0xd5, 0xab, 0x0d, 0x77, + 0x53, 0x7c, 0xac, 0xd2, 0x62, 0xc1, 0x5d, 0xd7, 0x7b, 0x15, 0x9f, 0x9a, 0xcc, 0xde, 0x60, 0x9e, + 0xf9, 0x5a, 0x6c, 0x0e, 0xfe, 0x8f, 0x2b, 0x22, 0x98, 0xdd, 0x99, 0xad, 0x0f, 0xf2, 0xbe, 0xe0, + 0xfc, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x71, 0x7e, 0x5b, 0x37, 0x33, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/ecocredit/base/types/v1/query.pb.gw.go b/x/ecocredit/base/types/v1/query.pb.gw.go index a422f505f5..c106a88250 100644 --- a/x/ecocredit/base/types/v1/query.pb.gw.go +++ b/x/ecocredit/base/types/v1/query.pb.gw.go @@ -2695,6 +2695,42 @@ func local_request_Query_ProjectEnrollments_0(ctx context.Context, marshaler run } +var ( + filter_Query_ProjectEnrollments_1 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Query_ProjectEnrollments_1(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectEnrollments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ProjectEnrollments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_ProjectEnrollments_1(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryProjectEnrollmentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_ProjectEnrollments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ProjectEnrollments(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -3759,6 +3795,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_ProjectEnrollments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_ProjectEnrollments_1(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectEnrollments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -4720,6 +4779,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_ProjectEnrollments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_ProjectEnrollments_1(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_ProjectEnrollments_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -4815,6 +4894,8 @@ var ( pattern_Query_ProjectEnrollment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6}, []string{"regen", "ecocredit", "v1", "project", "project_id", "enrollments", "class_id"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_ProjectEnrollments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"regen", "ecocredit", "v1", "project", "project_id", "enrollments"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_ProjectEnrollments_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"regen", "ecocredit", "v1", "project", "enrollments"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -4909,4 +4990,6 @@ var ( forward_Query_ProjectEnrollment_0 = runtime.ForwardResponseMessage forward_Query_ProjectEnrollments_0 = runtime.ForwardResponseMessage + + forward_Query_ProjectEnrollments_1 = runtime.ForwardResponseMessage )